diff options
Diffstat (limited to 'source/blender/shader_fx/intern')
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_blur.c | 17 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_colorize.c | 17 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_flip.c | 11 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_glow.c | 29 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_pixel.c | 15 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_rim.c | 32 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_shadow.c | 58 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_swirl.c | 14 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_shader_wave.c | 15 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_ui_common.c | 52 | ||||
-rw-r--r-- | source/blender/shader_fx/intern/FX_ui_common.h | 6 |
11 files changed, 123 insertions, 143 deletions
diff --git a/source/blender/shader_fx/intern/FX_shader_blur.c b/source/blender/shader_fx/intern/FX_shader_blur.c index 8e3e7588818..ca3028e1ac2 100644 --- a/source/blender/shader_fx/intern/FX_shader_blur.c +++ b/source/blender/shader_fx/intern/FX_shader_blur.c @@ -54,25 +54,24 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *col; uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "use_dof_mode", 0, IFACE_("Use Depth of Field"), ICON_NONE); + uiItemR(layout, ptr, "use_dof_mode", 0, IFACE_("Use Depth of Field"), ICON_NONE); col = uiLayoutColumn(layout, false); - uiLayoutSetActive(col, !RNA_boolean_get(&ptr, "use_dof_mode")); - uiItemR(col, &ptr, "size", 0, NULL, ICON_NONE); - uiItemR(col, &ptr, "rotation", 0, NULL, ICON_NONE); + uiLayoutSetActive(col, !RNA_boolean_get(ptr, "use_dof_mode")); + uiItemR(col, ptr, "size", 0, NULL, ICON_NONE); + uiItemR(col, ptr, "rotation", 0, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_colorize.c b/source/blender/shader_fx/intern/FX_shader_colorize.c index 969171332fa..8dfe2158019 100644 --- a/source/blender/shader_fx/intern/FX_shader_colorize.c +++ b/source/blender/shader_fx/intern/FX_shader_colorize.c @@ -55,31 +55,30 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); - int mode = RNA_enum_get(&ptr, "mode"); + int mode = RNA_enum_get(ptr, "mode"); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE); if (ELEM(mode, eShaderFxColorizeMode_Custom, eShaderFxColorizeMode_Duotone)) { const char *text = (mode == eShaderFxColorizeMode_Duotone) ? IFACE_("Low Color") : IFACE_("Color"); - uiItemR(layout, &ptr, "low_color", 0, text, ICON_NONE); + uiItemR(layout, ptr, "low_color", 0, text, ICON_NONE); } if (mode == eShaderFxColorizeMode_Duotone) { - uiItemR(layout, &ptr, "high_color", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "high_color", 0, NULL, ICON_NONE); } - uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_flip.c b/source/blender/shader_fx/intern/FX_shader_flip.c index 325d2c2608f..65ac87770b1 100644 --- a/source/blender/shader_fx/intern/FX_shader_flip.c +++ b/source/blender/shader_fx/intern/FX_shader_flip.c @@ -54,22 +54,21 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *row; uiLayout *layout = panel->layout; int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis")); - uiItemR(row, &ptr, "flip_horizontal", toggles_flag, NULL, ICON_NONE); - uiItemR(row, &ptr, "flip_vertical", toggles_flag, NULL, ICON_NONE); + uiItemR(row, ptr, "flip_horizontal", toggles_flag, NULL, ICON_NONE); + uiItemR(row, ptr, "flip_vertical", toggles_flag, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_glow.c b/source/blender/shader_fx/intern/FX_shader_glow.c index 4398fdc13bb..fb004f1bb1e 100644 --- a/source/blender/shader_fx/intern/FX_shader_glow.c +++ b/source/blender/shader_fx/intern/FX_shader_glow.c @@ -59,37 +59,36 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); - int mode = RNA_enum_get(&ptr, "mode"); + int mode = RNA_enum_get(ptr, "mode"); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE); if (mode == eShaderFxGlowMode_Luminance) { - uiItemR(layout, &ptr, "threshold", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "threshold", 0, NULL, ICON_NONE); } else { - uiItemR(layout, &ptr, "select_color", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "select_color", 0, NULL, ICON_NONE); } - uiItemR(layout, &ptr, "glow_color", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "glow_color", 0, NULL, ICON_NONE); uiItemS(layout); - uiItemR(layout, &ptr, "blend_mode", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "opacity", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "size", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "rotation", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "use_glow_under", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "blend_mode", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "opacity", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "size", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "rotation", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "use_glow_under", 0, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_pixel.c b/source/blender/shader_fx/intern/FX_shader_pixel.c index bdc4f141017..7e5a89e8c7d 100644 --- a/source/blender/shader_fx/intern/FX_shader_pixel.c +++ b/source/blender/shader_fx/intern/FX_shader_pixel.c @@ -52,25 +52,24 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *col; uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); /* Add the X, Y labels manually because size is a #PROP_PIXEL. */ col = uiLayoutColumn(layout, true); - PropertyRNA *prop = RNA_struct_find_property(&ptr, "size"); - uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Size X"), ICON_NONE); - uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); + PropertyRNA *prop = RNA_struct_find_property(ptr, "size"); + uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Size X"), ICON_NONE); + uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); - uiItemR(layout, &ptr, "use_antialiasing", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "use_antialiasing", 0, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_rim.c b/source/blender/shader_fx/intern/FX_shader_rim.c index 82e1d151cb6..f22469e68fe 100644 --- a/source/blender/shader_fx/intern/FX_shader_rim.c +++ b/source/blender/shader_fx/intern/FX_shader_rim.c @@ -58,46 +58,44 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *col; uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "rim_color", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "mask_color", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "mode", 0, IFACE_("Blend Mode"), ICON_NONE); + uiItemR(layout, ptr, "rim_color", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "mask_color", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "mode", 0, IFACE_("Blend Mode"), ICON_NONE); /* Add the X, Y labels manually because offset is a #PROP_PIXEL. */ col = uiLayoutColumn(layout, true); - PropertyRNA *prop = RNA_struct_find_property(&ptr, "offset"); - uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE); - uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); + PropertyRNA *prop = RNA_struct_find_property(ptr, "offset"); + uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE); + uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } -static void blur_panel_draw(const bContext *C, Panel *panel) +static void blur_panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *col; uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); /* Add the X, Y labels manually because blur is a #PROP_PIXEL. */ col = uiLayoutColumn(layout, true); - PropertyRNA *prop = RNA_struct_find_property(&ptr, "blur"); - uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE); - uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); + PropertyRNA *prop = RNA_struct_find_property(ptr, "blur"); + uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE); + uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); - uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_shadow.c b/source/blender/shader_fx/intern/FX_shader_shadow.c index 11690d2cca0..14fd2ed3d28 100644 --- a/source/blender/shader_fx/intern/FX_shader_shadow.c +++ b/source/blender/shader_fx/intern/FX_shader_shadow.c @@ -99,78 +99,74 @@ static void foreachObjectLink(ShaderFxData *fx, walk(userData, ob, &fxd->object, IDWALK_CB_NOP); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *row, *col; uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "shadow_color", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "shadow_color", 0, NULL, ICON_NONE); /* Add the X, Y labels manually because size is a #PROP_PIXEL. */ col = uiLayoutColumn(layout, true); - PropertyRNA *prop = RNA_struct_find_property(&ptr, "offset"); - uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE); - uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); + PropertyRNA *prop = RNA_struct_find_property(ptr, "offset"); + uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE); + uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); - uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "rotation", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "scale", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "rotation", 0, NULL, ICON_NONE); row = uiLayoutRowWithHeading(layout, true, IFACE_("Object Pivot")); - uiItemR(row, &ptr, "use_object", 0, "", ICON_NONE); - uiItemR(row, &ptr, "object", 0, "", ICON_NONE); + uiItemR(row, ptr, "use_object", 0, "", ICON_NONE); + uiItemR(row, ptr, "object", 0, "", ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } -static void blur_panel_draw(const bContext *C, Panel *panel) +static void blur_panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *col; uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); /* Add the X, Y labels manually because size is a #PROP_PIXEL. */ col = uiLayoutColumn(layout, true); - PropertyRNA *prop = RNA_struct_find_property(&ptr, "blur"); - uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE); - uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); + PropertyRNA *prop = RNA_struct_find_property(ptr, "blur"); + uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE); + uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE); - uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE); } -static void wave_header_draw(const bContext *C, Panel *panel) +static void wave_header_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); - uiItemR(layout, &ptr, "use_wave", 0, IFACE_("Wave Effect"), ICON_NONE); + uiItemR(layout, ptr, "use_wave", 0, IFACE_("Wave Effect"), ICON_NONE); } -static void wave_panel_draw(const bContext *C, Panel *panel) +static void wave_panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); - uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_wave")); + uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_wave")); - uiItemR(layout, &ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE); - uiItemR(layout, &ptr, "amplitude", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "period", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "phase", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE); + uiItemR(layout, ptr, "amplitude", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "period", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "phase", 0, NULL, ICON_NONE); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_swirl.c b/source/blender/shader_fx/intern/FX_shader_swirl.c index 65e861fa46f..3db2660a663 100644 --- a/source/blender/shader_fx/intern/FX_shader_swirl.c +++ b/source/blender/shader_fx/intern/FX_shader_swirl.c @@ -86,21 +86,19 @@ static void foreachObjectLink(ShaderFxData *fx, walk(userData, ob, &fxd->object, IDWALK_CB_NOP); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; - PointerRNA ptr; - PointerRNA ob_ptr; - shaderfx_panel_get_property_pointers(C, panel, &ob_ptr, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "radius", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "angle", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "radius", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "angle", 0, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_shader_wave.c b/source/blender/shader_fx/intern/FX_shader_wave.c index 3b8256edae3..53089f2d477 100644 --- a/source/blender/shader_fx/intern/FX_shader_wave.c +++ b/source/blender/shader_fx/intern/FX_shader_wave.c @@ -55,21 +55,20 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target) BKE_shaderfx_copydata_generic(md, target); } -static void panel_draw(const bContext *C, Panel *panel) +static void panel_draw(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); uiLayoutSetPropSep(layout, true); - uiItemR(layout, &ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE); - uiItemR(layout, &ptr, "amplitude", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "period", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "phase", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE); + uiItemR(layout, ptr, "amplitude", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "period", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "phase", 0, NULL, ICON_NONE); - shaderfx_panel_end(layout, &ptr); + shaderfx_panel_end(layout, ptr); } static void panelRegister(ARegionType *region_type) diff --git a/source/blender/shader_fx/intern/FX_ui_common.c b/source/blender/shader_fx/intern/FX_ui_common.c index 952a6df560b..a76f97d7baa 100644 --- a/source/blender/shader_fx/intern/FX_ui_common.c +++ b/source/blender/shader_fx/intern/FX_ui_common.c @@ -56,9 +56,9 @@ */ static void shaderfx_reorder(bContext *C, Panel *panel, int new_index) { - Object *ob = ED_object_active_context(C); + PointerRNA *fx_ptr = UI_panel_custom_data_get(panel); + ShaderFxData *fx = (ShaderFxData *)fx_ptr->data; - ShaderFxData *fx = BLI_findlink(&ob->shader_fx, panel->runtime.list_index); PointerRNA props_ptr; wmOperatorType *ot = WM_operatortype_find("OBJECT_OT_shaderfx_move_to_index", false); WM_operator_properties_create_ptr(&props_ptr, ot); @@ -71,20 +71,20 @@ static void shaderfx_reorder(bContext *C, Panel *panel, int new_index) /** * Get the expand flag from the active effect to use for the panel. */ -static short get_shaderfx_expand_flag(const bContext *C, Panel *panel) +static short get_shaderfx_expand_flag(const bContext *UNUSED(C), Panel *panel) { - Object *ob = ED_object_active_context(C); - ShaderFxData *fx = BLI_findlink(&ob->shader_fx, panel->runtime.list_index); + PointerRNA *fx_ptr = UI_panel_custom_data_get(panel); + ShaderFxData *fx = (ShaderFxData *)fx_ptr->data; return fx->ui_expand_flag; } /** * Save the expand flag for the panel and sub-panels to the effect. */ -static void set_shaderfx_expand_flag(const bContext *C, Panel *panel, short expand_flag) +static void set_shaderfx_expand_flag(const bContext *UNUSED(C), Panel *panel, short expand_flag) { - Object *ob = ED_object_active_context(C); - ShaderFxData *fx = BLI_findlink(&ob->shader_fx, panel->runtime.list_index); + PointerRNA *fx_ptr = UI_panel_custom_data_get(panel); + ShaderFxData *fx = (ShaderFxData *)fx_ptr->data; fx->ui_expand_flag = expand_flag; } @@ -109,34 +109,30 @@ void shaderfx_panel_end(uiLayout *layout, PointerRNA *ptr) /** * Gets RNA pointers for the active object and the panel's shaderfx data. */ -void shaderfx_panel_get_property_pointers(const bContext *C, - Panel *panel, - PointerRNA *r_ob_ptr, - PointerRNA *r_md_ptr) +PointerRNA *shaderfx_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr) { - Object *ob = ED_object_active_context(C); - ShaderFxData *md = BLI_findlink(&ob->shader_fx, panel->runtime.list_index); - - RNA_pointer_create(&ob->id, &RNA_ShaderFx, md, r_md_ptr); + PointerRNA *ptr = UI_panel_custom_data_get(panel); + BLI_assert(RNA_struct_is_a(ptr->type, &RNA_ShaderFx)); if (r_ob_ptr != NULL) { - RNA_pointer_create(&ob->id, &RNA_Object, ob, r_ob_ptr); + RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr); } - uiLayoutSetContextPointer(panel->layout, "shaderfx", r_md_ptr); + uiLayoutSetContextPointer(panel->layout, "shaderfx", ptr); + + return ptr; } #define ERROR_LIBDATA_MESSAGE TIP_("External library data") -static void shaderfx_panel_header(const bContext *C, Panel *panel) +static void shaderfx_panel_header(const bContext *UNUSED(C), Panel *panel) { uiLayout *layout = panel->layout; bool narrow_panel = (panel->sizex < UI_UNIT_X * 7 && panel->sizex != 0); - PointerRNA ptr; - shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr); - Object *ob = ED_object_active_context(C); - ShaderFxData *fx = (ShaderFxData *)ptr.data; + PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL); + Object *ob = (Object *)ptr->owner_id; + ShaderFxData *fx = (ShaderFxData *)ptr->data; const ShaderFxTypeInfo *fxti = BKE_shaderfx_get_info(fx->type); @@ -147,22 +143,22 @@ static void shaderfx_panel_header(const bContext *C, Panel *panel) if (fxti->isDisabled && fxti->isDisabled(fx, 0)) { uiLayoutSetRedAlert(row, true); } - uiItemL(row, "", RNA_struct_ui_icon(ptr.type)); + uiItemL(row, "", RNA_struct_ui_icon(ptr->type)); /* Effect name. */ row = uiLayoutRow(layout, true); if (!narrow_panel) { - uiItemR(row, &ptr, "name", 0, "", ICON_NONE); + uiItemR(row, ptr, "name", 0, "", ICON_NONE); } /* Mode enabling buttons. */ if (fxti->flags & eShaderFxTypeFlag_SupportsEditmode) { uiLayout *sub = uiLayoutRow(row, true); uiLayoutSetActive(sub, false); - uiItemR(sub, &ptr, "show_in_editmode", 0, "", ICON_NONE); + uiItemR(sub, ptr, "show_in_editmode", 0, "", ICON_NONE); } - uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE); - uiItemR(row, &ptr, "show_render", 0, "", ICON_NONE); + uiItemR(row, ptr, "show_viewport", 0, "", ICON_NONE); + uiItemR(row, ptr, "show_render", 0, "", ICON_NONE); row = uiLayoutRow(row, false); uiLayoutSetEmboss(row, UI_EMBOSS_NONE); diff --git a/source/blender/shader_fx/intern/FX_ui_common.h b/source/blender/shader_fx/intern/FX_ui_common.h index ce3038776ba..4402dbb4a78 100644 --- a/source/blender/shader_fx/intern/FX_ui_common.h +++ b/source/blender/shader_fx/intern/FX_ui_common.h @@ -34,10 +34,8 @@ typedef void (*PanelDrawFn)(const bContext *, Panel *); void shaderfx_panel_end(struct uiLayout *layout, PointerRNA *ptr); -void shaderfx_panel_get_property_pointers(const bContext *C, - struct Panel *panel, - struct PointerRNA *r_ob_ptr, - struct PointerRNA *r_ptr); +struct PointerRNA *shaderfx_panel_get_property_pointers(struct Panel *panel, + struct PointerRNA *r_ob_ptr); PanelType *shaderfx_panel_register(ARegionType *region_type, ShaderFxType type, PanelDrawFn draw); |