Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/shader_fx/intern')
-rw-r--r--source/blender/shader_fx/intern/FX_shader_blur.c17
-rw-r--r--source/blender/shader_fx/intern/FX_shader_colorize.c17
-rw-r--r--source/blender/shader_fx/intern/FX_shader_flip.c11
-rw-r--r--source/blender/shader_fx/intern/FX_shader_glow.c29
-rw-r--r--source/blender/shader_fx/intern/FX_shader_pixel.c15
-rw-r--r--source/blender/shader_fx/intern/FX_shader_rim.c32
-rw-r--r--source/blender/shader_fx/intern/FX_shader_shadow.c58
-rw-r--r--source/blender/shader_fx/intern/FX_shader_swirl.c14
-rw-r--r--source/blender/shader_fx/intern/FX_shader_wave.c15
-rw-r--r--source/blender/shader_fx/intern/FX_ui_common.c52
-rw-r--r--source/blender/shader_fx/intern/FX_ui_common.h6
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);