Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_color.c
| Show First 20 Lines • Show All 117 Lines • ▼ Show 20 Lines | |||||
| static void rna_CurveMapping_tone_update(Main *UNUSED(bmain), | static void rna_CurveMapping_tone_update(Main *UNUSED(bmain), | ||||
| Scene *UNUSED(scene), | Scene *UNUSED(scene), | ||||
| PointerRNA *UNUSED(ptr)) | PointerRNA *UNUSED(ptr)) | ||||
| { | { | ||||
| WM_main_add_notifier(NC_NODE | NA_EDITED, NULL); | WM_main_add_notifier(NC_NODE | NA_EDITED, NULL); | ||||
| WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, NULL); | WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, NULL); | ||||
| } | } | ||||
| static void rna_CurveMapping_extend_update(Main *UNUSED(bmain), | |||||
| Scene *UNUSED(scene), | |||||
| PointerRNA *UNUSED(ptr)) | |||||
| { | |||||
| WM_main_add_notifier(NC_NODE | NA_EDITED, NULL); | |||||
| WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, NULL); | |||||
| } | |||||
| static void rna_CurveMapping_clipminx_range( | static void rna_CurveMapping_clipminx_range( | ||||
| PointerRNA *ptr, float *min, float *max, float *UNUSED(softmin), float *UNUSED(softmax)) | PointerRNA *ptr, float *min, float *max, float *UNUSED(softmin), float *UNUSED(softmax)) | ||||
| { | { | ||||
| CurveMapping *cumap = (CurveMapping *)ptr->data; | CurveMapping *cumap = (CurveMapping *)ptr->data; | ||||
| *min = -100.0f; | *min = -100.0f; | ||||
| *max = cumap->clipr.xmax; | *max = cumap->clipr.xmax; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 531 Lines • ▼ Show 20 Lines | static void rna_ColorManagement_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) | ||||
| if (GS(id->name) == ID_SCE) { | if (GS(id->name) == ID_SCE) { | ||||
| DEG_id_tag_update(id, 0); | DEG_id_tag_update(id, 0); | ||||
| WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, NULL); | WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, NULL); | ||||
| } | } | ||||
| } | } | ||||
| /* this function only exists because #BKE_curvemap_evaluateF uses a 'const' qualifier */ | /* this function only exists because #BKE_curvemap_evaluateF uses a 'const' qualifier */ | ||||
| static float rna_CurveMap_evaluateF(struct CurveMap *cuma, ReportList *reports, float value) | static float rna_CurveMapping_evaluateF(struct CurveMapping *cumap, | ||||
| ReportList *reports, | |||||
| struct CurveMap *cuma, | |||||
| float value) | |||||
| { | { | ||||
| if (&cumap->cm[0] != cuma && &cumap->cm[1] != cuma && &cumap->cm[2] != cuma && | |||||
| &cumap->cm[3] != cuma) { | |||||
| BKE_report(reports, RPT_ERROR, "CurveMapping does not own CurveMap"); | |||||
| return 0.0f; | |||||
| } | |||||
| if (!cuma->table) { | if (!cuma->table) { | ||||
| BKE_report( | BKE_report( | ||||
| reports, | reports, | ||||
| RPT_ERROR, | RPT_ERROR, | ||||
| "CurveMap table not initialized, call initialize() on CurveMapping owner of the CurveMap"); | "CurveMap table not initialized, call initialize() on CurveMapping owner of the CurveMap"); | ||||
| return 0.0f; | return 0.0f; | ||||
| } | } | ||||
| return BKE_curvemap_evaluateF(cuma, value); | return BKE_curvemap_evaluateF(cumap, cuma, value); | ||||
| } | } | ||||
| static void rna_CurveMap_initialize(struct CurveMapping *cumap) | static void rna_CurveMap_initialize(struct CurveMapping *cumap) | ||||
| { | { | ||||
| BKE_curvemapping_initialize(cumap); | BKE_curvemapping_initialize(cumap); | ||||
| } | } | ||||
| #else | #else | ||||
| ▲ Show 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | static void rna_def_curvemap_points_api(BlenderRNA *brna, PropertyRNA *cprop) | ||||
| parm = RNA_def_pointer(func, "point", "CurveMapPoint", "", "PointElement to remove"); | parm = RNA_def_pointer(func, "point", "CurveMapPoint", "", "PointElement to remove"); | ||||
| RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR); | RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR); | ||||
| RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0); | RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0); | ||||
| } | } | ||||
| static void rna_def_curvemap(BlenderRNA *brna) | static void rna_def_curvemap(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop, *parm; | PropertyRNA *prop; | ||||
| FunctionRNA *func; | |||||
| static const EnumPropertyItem prop_extend_items[] = { | |||||
| {0, "HORIZONTAL", 0, "Horizontal", ""}, | |||||
| {CUMA_EXTEND_EXTRAPOLATE, "EXTRAPOLATED", 0, "Extrapolated", ""}, | |||||
| {0, NULL, 0, NULL, NULL}, | |||||
| }; | |||||
| srna = RNA_def_struct(brna, "CurveMap", NULL); | srna = RNA_def_struct(brna, "CurveMap", NULL); | ||||
| RNA_def_struct_ui_text(srna, "CurveMap", "Curve in a curve mapping"); | RNA_def_struct_ui_text(srna, "CurveMap", "Curve in a curve mapping"); | ||||
| prop = RNA_def_property(srna, "extend", PROP_ENUM, PROP_NONE); | |||||
| RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag"); | |||||
| RNA_def_property_enum_items(prop, prop_extend_items); | |||||
| RNA_def_property_ui_text(prop, "Extend", "Extrapolate the curve or extend it horizontally"); | |||||
| prop = RNA_def_property(srna, "points", PROP_COLLECTION, PROP_NONE); | prop = RNA_def_property(srna, "points", PROP_COLLECTION, PROP_NONE); | ||||
| RNA_def_property_collection_sdna(prop, NULL, "curve", "totpoint"); | RNA_def_property_collection_sdna(prop, NULL, "curve", "totpoint"); | ||||
| RNA_def_property_struct_type(prop, "CurveMapPoint"); | RNA_def_property_struct_type(prop, "CurveMapPoint"); | ||||
| RNA_def_property_ui_text(prop, "Points", ""); | RNA_def_property_ui_text(prop, "Points", ""); | ||||
| rna_def_curvemap_points_api(brna, prop); | rna_def_curvemap_points_api(brna, prop); | ||||
| func = RNA_def_function(srna, "evaluate", "rna_CurveMap_evaluateF"); | |||||
| RNA_def_function_flag(func, FUNC_USE_REPORTS); | |||||
| RNA_def_function_ui_description(func, "Evaluate curve at given location"); | |||||
| parm = RNA_def_float(func, | |||||
| "position", | |||||
| 0.0f, | |||||
| -FLT_MAX, | |||||
| FLT_MAX, | |||||
| "Position", | |||||
| "Position to evaluate curve at", | |||||
| -FLT_MAX, | |||||
| FLT_MAX); | |||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | |||||
| parm = RNA_def_float(func, | |||||
| "value", | |||||
| 0.0f, | |||||
| -FLT_MAX, | |||||
| FLT_MAX, | |||||
| "Value", | |||||
| "Value of curve at given location", | |||||
| -FLT_MAX, | |||||
| FLT_MAX); | |||||
| RNA_def_function_return(func, parm); | |||||
| } | } | ||||
| static void rna_def_curvemapping(BlenderRNA *brna) | static void rna_def_curvemapping(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop, *parm; | ||||
| FunctionRNA *func; | FunctionRNA *func; | ||||
| static const EnumPropertyItem tone_items[] = { | static const EnumPropertyItem tone_items[] = { | ||||
| {CURVE_TONE_STANDARD, "STANDARD", 0, "Standard", ""}, | {CURVE_TONE_STANDARD, "STANDARD", 0, "Standard", ""}, | ||||
| {CURVE_TONE_FILMLIKE, "FILMLIKE", 0, "Film like", ""}, | {CURVE_TONE_FILMLIKE, "FILMLIKE", 0, "Film like", ""}, | ||||
| {0, NULL, 0, NULL, NULL}, | {0, NULL, 0, NULL, NULL}, | ||||
| }; | }; | ||||
| static const EnumPropertyItem prop_extend_items[] = { | |||||
| {0, "HORIZONTAL", 0, "Horizontal", ""}, | |||||
| {CUMA_EXTEND_EXTRAPOLATE, "EXTRAPOLATED", 0, "Extrapolated", ""}, | |||||
| {0, NULL, 0, NULL, NULL}, | |||||
| }; | |||||
| srna = RNA_def_struct(brna, "CurveMapping", NULL); | srna = RNA_def_struct(brna, "CurveMapping", NULL); | ||||
| RNA_def_struct_ui_text( | RNA_def_struct_ui_text( | ||||
| srna, | srna, | ||||
| "CurveMapping", | "CurveMapping", | ||||
| "Curve mapping to map color, vector and scalar values to other values using " | "Curve mapping to map color, vector and scalar values to other values using " | ||||
| "a user defined curve"); | "a user defined curve"); | ||||
| prop = RNA_def_property(srna, "tone", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "tone", PROP_ENUM, PROP_NONE); | ||||
| Show All 26 Lines | static void rna_def_curvemapping(BlenderRNA *brna) | ||||
| RNA_def_property_float_funcs(prop, NULL, NULL, "rna_CurveMapping_clipmaxx_range"); | RNA_def_property_float_funcs(prop, NULL, NULL, "rna_CurveMapping_clipmaxx_range"); | ||||
| prop = RNA_def_property(srna, "clip_max_y", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "clip_max_y", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "clipr.ymax"); | RNA_def_property_float_sdna(prop, NULL, "clipr.ymax"); | ||||
| RNA_def_property_range(prop, -100.0f, 100.0f); | RNA_def_property_range(prop, -100.0f, 100.0f); | ||||
| RNA_def_property_ui_text(prop, "Clip Max Y", ""); | RNA_def_property_ui_text(prop, "Clip Max Y", ""); | ||||
| RNA_def_property_float_funcs(prop, NULL, NULL, "rna_CurveMapping_clipmaxy_range"); | RNA_def_property_float_funcs(prop, NULL, NULL, "rna_CurveMapping_clipmaxy_range"); | ||||
| prop = RNA_def_property(srna, "extend", PROP_ENUM, PROP_NONE); | |||||
| RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag"); | |||||
| RNA_def_property_enum_items(prop, prop_extend_items); | |||||
| RNA_def_property_ui_text(prop, "Extend", "Extrapolate the curve or extend it horizontally"); | |||||
| RNA_def_property_update(prop, 0, "rna_CurveMapping_extend_update"); | |||||
| prop = RNA_def_property(srna, "curves", PROP_COLLECTION, PROP_NONE); | prop = RNA_def_property(srna, "curves", PROP_COLLECTION, PROP_NONE); | ||||
| RNA_def_property_collection_funcs(prop, | RNA_def_property_collection_funcs(prop, | ||||
| "rna_CurveMapping_curves_begin", | "rna_CurveMapping_curves_begin", | ||||
| "rna_iterator_array_next", | "rna_iterator_array_next", | ||||
| "rna_iterator_array_end", | "rna_iterator_array_end", | ||||
| "rna_iterator_array_get", | "rna_iterator_array_get", | ||||
| "rna_CurveMapping_curves_length", | "rna_CurveMapping_curves_length", | ||||
| NULL, | NULL, | ||||
| Show All 18 Lines | RNA_def_property_ui_text( | ||||
| prop, "White Level", "For RGB curves, the color that white is mapped to"); | prop, "White Level", "For RGB curves, the color that white is mapped to"); | ||||
| RNA_def_property_float_funcs(prop, NULL, "rna_CurveMapping_white_level_set", NULL); | RNA_def_property_float_funcs(prop, NULL, "rna_CurveMapping_white_level_set", NULL); | ||||
| func = RNA_def_function(srna, "update", "BKE_curvemapping_changed_all"); | func = RNA_def_function(srna, "update", "BKE_curvemapping_changed_all"); | ||||
| RNA_def_function_ui_description(func, "Update curve mapping after making changes"); | RNA_def_function_ui_description(func, "Update curve mapping after making changes"); | ||||
| func = RNA_def_function(srna, "initialize", "rna_CurveMap_initialize"); | func = RNA_def_function(srna, "initialize", "rna_CurveMap_initialize"); | ||||
| RNA_def_function_ui_description(func, "Initialize curve"); | RNA_def_function_ui_description(func, "Initialize curve"); | ||||
| func = RNA_def_function(srna, "evaluate", "rna_CurveMapping_evaluateF"); | |||||
| RNA_def_function_flag(func, FUNC_USE_REPORTS); | |||||
| RNA_def_function_ui_description(func, "Evaluate curve at given location"); | |||||
| parm = RNA_def_pointer(func, "curve", "CurveMap", "curve", "Curve to evaluate"); | |||||
| RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); | |||||
| parm = RNA_def_float(func, | |||||
| "position", | |||||
| 0.0f, | |||||
| -FLT_MAX, | |||||
| FLT_MAX, | |||||
| "Position", | |||||
| "Position to evaluate curve at", | |||||
| -FLT_MAX, | |||||
| FLT_MAX); | |||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | |||||
| parm = RNA_def_float(func, | |||||
| "value", | |||||
| 0.0f, | |||||
| -FLT_MAX, | |||||
| FLT_MAX, | |||||
| "Value", | |||||
| "Value of curve at given location", | |||||
| -FLT_MAX, | |||||
| FLT_MAX); | |||||
| RNA_def_function_return(func, parm); | |||||
| } | } | ||||
| static void rna_def_color_ramp_element(BlenderRNA *brna) | static void rna_def_color_ramp_element(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ColorRampElement", NULL); | srna = RNA_def_struct(brna, "ColorRampElement", NULL); | ||||
| ▲ Show 20 Lines • Show All 401 Lines • Show Last 20 Lines | |||||