Freestyle: Fix for missing quality control on line rendering in Cycles.
[blender.git] / source / blender / makesrna / RNA_access.h
index f5afff56545de64cb731a40a7e1b177eaedd9d57..f0582b39819f7497d19beb43a0b3bcb0f4efc472 100644 (file)
@@ -262,6 +262,7 @@ extern StructRNA RNA_GameProperty;
 extern StructRNA RNA_GameSoftBodySettings;
 extern StructRNA RNA_GameStringProperty;
 extern StructRNA RNA_GameTimerProperty;
+extern StructRNA RNA_GaussianBlurSequence;
 extern StructRNA RNA_GlowSequence;
 extern StructRNA RNA_GreasePencil;
 extern StructRNA RNA_Group;
@@ -277,6 +278,7 @@ extern StructRNA RNA_ImagePaint;
 extern StructRNA RNA_ImageSequence;
 extern StructRNA RNA_ImageTexture;
 extern StructRNA RNA_ImageUser;
+extern StructRNA RNA_ImapaintToolCapabilities;
 extern StructRNA RNA_InflowFluidSettings;
 extern StructRNA RNA_IntProperty;
 extern StructRNA RNA_Itasc;
@@ -296,6 +298,7 @@ extern StructRNA RNA_KinematicConstraint;
 extern StructRNA RNA_Lamp;
 extern StructRNA RNA_LampSkySettings;
 extern StructRNA RNA_LampTextureSlot;
+extern StructRNA RNA_LaplacianDeformModifier;
 extern StructRNA RNA_LaplacianSmoothModifier;
 extern StructRNA RNA_Lattice;
 extern StructRNA RNA_LatticeModifier;
@@ -330,6 +333,7 @@ extern StructRNA RNA_LineStyleGeometryModifier_SinusDisplacement;
 extern StructRNA RNA_LineStyleGeometryModifier_SpatialNoise;
 extern StructRNA RNA_LineStyleGeometryModifier_TipRemover;
 extern StructRNA RNA_LineStyleModifier;
+extern StructRNA RNA_LineStyleTextureSlot;
 extern StructRNA RNA_LineStyleThicknessModifier;
 extern StructRNA RNA_LineStyleThicknessModifier_AlongStroke;
 extern StructRNA RNA_LineStyleThicknessModifier_Calligraphy;
@@ -425,6 +429,9 @@ extern StructRNA RNA_OrController;
 extern StructRNA RNA_OutflowFluidSettings;
 extern StructRNA RNA_PackedFile;
 extern StructRNA RNA_Paint;
+extern StructRNA RNA_PaintCurve;
+extern StructRNA RNA_Palette;
+extern StructRNA RNA_PaletteColor;
 extern StructRNA RNA_Panel;
 extern StructRNA RNA_Particle;
 extern StructRNA RNA_ParticleBrush;
@@ -492,6 +499,7 @@ extern StructRNA RNA_ShaderNodeExtendedMaterial;
 extern StructRNA RNA_ShaderNodeGeometry;
 extern StructRNA RNA_ShaderNodeHueSaturation;
 extern StructRNA RNA_ShaderNodeInvert;
+extern StructRNA RNA_ShaderNodeLampData;
 extern StructRNA RNA_ShaderNodeMapping;
 extern StructRNA RNA_ShaderNodeMaterial;
 extern StructRNA RNA_ShaderNodeMath;
@@ -627,6 +635,7 @@ extern StructRNA RNA_TransformConstraint;
 extern StructRNA RNA_TransformSequence;
 extern StructRNA RNA_UILayout;
 extern StructRNA RNA_UIList;
+extern StructRNA RNA_UIPieMenu;
 extern StructRNA RNA_UIPopupMenu;
 extern StructRNA RNA_UVWarpModifier;
 extern StructRNA RNA_UVProjectModifier;
@@ -639,6 +648,7 @@ extern StructRNA RNA_UserPreferencesFilePaths;
 extern StructRNA RNA_UserPreferencesInput;
 extern StructRNA RNA_UserPreferencesSystem;
 extern StructRNA RNA_UserPreferencesView;
+extern StructRNA RNA_UserPreferencesWalkNavigation;
 extern StructRNA RNA_UserSolidLight;
 extern StructRNA RNA_VectorFont;
 extern StructRNA RNA_VertexGroup;
@@ -655,12 +665,12 @@ extern StructRNA RNA_VertexWeightProximityModifier;
 extern StructRNA RNA_Window;
 extern StructRNA RNA_WindowManager;
 extern StructRNA RNA_WipeSequence;
+extern StructRNA RNA_WireframeModifier;
 extern StructRNA RNA_WoodTexture;
 extern StructRNA RNA_World;
 extern StructRNA RNA_WorldAmbientOcclusion;
 extern StructRNA RNA_WorldLighting;
 extern StructRNA RNA_WorldMistSettings;
-extern StructRNA RNA_WorldStarsSettings;
 extern StructRNA RNA_WorldTextureSlot;
 extern StructRNA RNA_XnorController;
 extern StructRNA RNA_XorController;
@@ -689,22 +699,22 @@ extern const PointerRNA PointerRNA_NULL;
 
 StructRNA *RNA_struct_find(const char *identifier);
 
-const char *RNA_struct_identifier(StructRNA *type);
-const char *RNA_struct_ui_name(StructRNA *type);
-const char *RNA_struct_ui_name_raw(StructRNA *type);
-const char *RNA_struct_ui_description(StructRNA *type);
-const char *RNA_struct_ui_description_raw(StructRNA *type);
-const char *RNA_struct_translation_context(StructRNA *type);
-int RNA_struct_ui_icon(StructRNA *type);
+const char *RNA_struct_identifier(const StructRNA *type);
+const char *RNA_struct_ui_name(const StructRNA *type);
+const char *RNA_struct_ui_name_raw(const StructRNA *type);
+const char *RNA_struct_ui_description(const StructRNA *type);
+const char *RNA_struct_ui_description_raw(const StructRNA *type);
+const char *RNA_struct_translation_context(const StructRNA *type);
+int RNA_struct_ui_icon(const StructRNA *type);
 
 PropertyRNA *RNA_struct_name_property(StructRNA *type);
 PropertyRNA *RNA_struct_iterator_property(StructRNA *type);
 StructRNA *RNA_struct_base(StructRNA *type);
 
-bool RNA_struct_is_ID(StructRNA *type);
-bool RNA_struct_is_a(StructRNA *type, StructRNA *srna);
+bool RNA_struct_is_ID(const StructRNA *type);
+bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna);
 
-bool RNA_struct_undo_check(StructRNA *type);
+bool RNA_struct_undo_check(const StructRNA *type);
 
 StructRegisterFunc RNA_struct_register(StructRNA *type);
 StructUnregisterFunc RNA_struct_unregister(StructRNA *type);
@@ -718,7 +728,7 @@ void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type);
 
 struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, bool create);
 bool RNA_struct_idprops_check(StructRNA *srna);
-bool RNA_struct_idprops_register_check(StructRNA *type);
+bool RNA_struct_idprops_register_check(const StructRNA *type);
 bool RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier);
 
 PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier);
@@ -780,12 +790,19 @@ bool RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **i
 int  RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier);
 bool RNA_enum_name(EnumPropertyItem *item, const int value, const char **r_name);
 bool RNA_enum_description(EnumPropertyItem *item, const int value, const char **description);
-
-void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free);
-void RNA_property_enum_items_gettexted(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free);
+int  RNA_enum_from_value(EnumPropertyItem *item, const int value);
+int  RNA_enum_from_identifier(EnumPropertyItem *item, const char *identifier);
+
+void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop,
+                             EnumPropertyItem **item, int *r_totitem, bool *r_free);
+void RNA_property_enum_items_gettexted(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop,
+                                       EnumPropertyItem **r_item, int *r_totitem, bool *r_free);
+void RNA_property_enum_items_gettexted_all(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop,
+                                       EnumPropertyItem **r_item, int *r_totitem, bool *r_free);
 bool RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value);
 bool RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
 bool RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name);
+bool RNA_property_enum_name_gettexted(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name);
 int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
 
 StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop);
@@ -906,18 +923,31 @@ bool RNA_path_resolve(PointerRNA *ptr, const char *path,
                      PointerRNA *r_ptr, PropertyRNA **r_prop);
 
 bool RNA_path_resolve_full(PointerRNA *ptr, const char *path,
-                          PointerRNA *r_ptr, PropertyRNA **r_prop, int *index);
-                                                 
+                           PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index);
+
 /* path_resolve_property() variants ensure that pointer + property both exist */
 bool RNA_path_resolve_property(PointerRNA *ptr, const char *path,
-                     PointerRNA *r_ptr, PropertyRNA **r_prop);
+                               PointerRNA *r_ptr, PropertyRNA **r_prop);
 
 bool RNA_path_resolve_property_full(PointerRNA *ptr, const char *path,
-                          PointerRNA *r_ptr, PropertyRNA **r_prop, int *index);
+                                    PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index);
+
+typedef struct PropertyElemRNA PropertyElemRNA;
+struct PropertyElemRNA {
+       PropertyElemRNA *next, *prev;
+       PointerRNA ptr;
+       PropertyRNA *prop;
+       int index;
+};
+bool RNA_path_resolve_elements(PointerRNA *ptr, const char *path, struct ListBase *r_elements);
 
 char *RNA_path_from_ID_to_struct(PointerRNA *ptr);
 char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop);
 
+char *RNA_path_resolve_from_type_to_property(
+        struct PointerRNA *ptr, struct PropertyRNA *prop,
+        const struct StructRNA *type);
+
 char *RNA_path_full_ID_py(struct ID *id);
 char *RNA_path_full_struct_py(struct PointerRNA *ptr);
 char *RNA_path_full_property_py(struct PointerRNA *ptr, struct PropertyRNA *prop, int index);
@@ -1010,12 +1040,12 @@ void RNA_collection_clear(PointerRNA *ptr, const char *name);
                CollectionPropertyIterator rna_macro_iter;                            \
                for (RNA_property_collection_begin(                                   \
                             sptr,                                                    \
-                            RNA_struct_iterator_property(sptr->type),                \
+                            RNA_struct_iterator_property((sptr)->type),              \
                             &rna_macro_iter);                                        \
                     rna_macro_iter.valid;                                            \
                     RNA_property_collection_next(&rna_macro_iter))                   \
                {                                                                     \
-                       PropertyRNA *prop = rna_macro_iter.ptr.data;
+                       PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
 
 #define RNA_STRUCT_END                                                        \
                }                                                                     \
@@ -1037,11 +1067,11 @@ char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *p
 char *RNA_pointer_as_string_id(struct bContext *C, PointerRNA *ptr);
 char *RNA_pointer_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop_ptr, PointerRNA *ptr_prop);
 char *RNA_pointer_as_string_keywords_ex(struct bContext *C, PointerRNA *ptr,
-                                        const bool skip_optional_value, const bool all_args,
+                                        const bool skip_optional_value, const bool all_args, const bool nested_args,
                                         const int max_prop_length,
                                         PropertyRNA *iterprop);
 char *RNA_pointer_as_string_keywords(struct bContext *C, PointerRNA *ptr,
-                                     const bool skip_optional_value, const bool all_args,
+                                     const bool skip_optional_value, const bool all_args, const bool nested_args,
                                      const int max_prop_length);
 char *RNA_function_as_string_keywords(struct bContext *C, FunctionRNA *func,
                                       const bool as_function, const bool all_args,