diff options
author | Hans Goudey <h.goudey@me.com> | 2020-08-14 04:33:47 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-08-14 04:33:47 +0300 |
commit | 0ab21bf06ae021539c91d24d772813b6132ba382 (patch) | |
tree | d39e4e539f58e8d45e834592b660847992c7604b /source/blender/editors | |
parent | 570044e9f412d37fbf1523652034afe5d87a3d4e (diff) |
UI Code Quality: Use derived struct for curve mapping buttons
The same changes as in rB570044e9f412.
Diffstat (limited to 'source/blender/editors')
4 files changed, 38 insertions, 20 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index d7e33a37204..d49beaf2ed4 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -768,7 +768,6 @@ static bool ui_but_update_from_old_block(const bContext *C, but->editval = oldbut->editval; but->editvec = oldbut->editvec; but->editcoba = oldbut->editcoba; - but->editcumap = oldbut->editcumap; but->selsta = oldbut->selsta; but->selend = oldbut->selend; but->softmin = oldbut->softmin; @@ -3797,6 +3796,10 @@ static void ui_but_alloc_info(const eButType type, alloc_size = sizeof(uiButHSVCube); alloc_str = "uiButHSVCube"; break; + case UI_BTYPE_CURVE: + alloc_size = sizeof(uiButCurveMapping); + alloc_str = "uiButCurveMapping"; + break; case UI_BTYPE_CURVEPROFILE: alloc_size = sizeof(uiButCurveProfile); alloc_str = "uiButCurveProfile"; diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index aad3b4d15a1..1ed43697cd1 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -1888,14 +1888,9 @@ static void gl_shaded_color(const uchar *color, int shade) void ui_draw_but_CURVE(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect) { - CurveMapping *cumap; - - if (but->editcumap) { - cumap = but->editcumap; - } - else { - cumap = (CurveMapping *)but->poin; - } + uiButCurveMapping *but_cumap = (uiButCurveMapping *)but; + CurveMapping *cumap = (but_cumap->edit_cumap == NULL) ? (CurveMapping *)but->poin : + but_cumap->edit_cumap; float clip_size_x = BLI_rctf_size_x(&cumap->curr); float clip_size_y = BLI_rctf_size_y(&cumap->curr); diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 63cd30ba1ff..3bec861568d 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -2087,8 +2087,11 @@ static void ui_apply_but( editval = but->editval; editvec = but->editvec; editcoba = but->editcoba; - editcumap = but->editcumap; - if (but->type == UI_BTYPE_CURVEPROFILE) { + if (but->type == UI_BTYPE_CURVE) { + uiButCurveMapping *but_cumap = (uiButCurveMapping *)but; + editcumap = but_cumap->edit_cumap; + } + else if (but->type == UI_BTYPE_CURVEPROFILE) { uiButCurveProfile *but_profile = (uiButCurveProfile *)but; editprofile = but_profile->edit_profile; } @@ -2096,8 +2099,11 @@ static void ui_apply_but( but->editval = NULL; but->editvec = NULL; but->editcoba = NULL; - but->editcumap = NULL; - if (but->type == UI_BTYPE_CURVEPROFILE) { + if (but->type == UI_BTYPE_CURVE) { + uiButCurveMapping *but_cumap = (uiButCurveMapping *)but; + but_cumap->edit_cumap = NULL; + } + else if (but->type == UI_BTYPE_CURVEPROFILE) { uiButCurveProfile *but_profile = (uiButCurveProfile *)but; but_profile->edit_profile = NULL; } @@ -2210,8 +2216,11 @@ static void ui_apply_but( but->editval = editval; but->editvec = editvec; but->editcoba = editcoba; - but->editcumap = editcumap; - if (but->type == UI_BTYPE_CURVEPROFILE) { + if (but->type == UI_BTYPE_CURVE) { + uiButCurveMapping *but_cumap = (uiButCurveMapping *)but; + but_cumap->edit_cumap = editcumap; + } + else if (but->type == UI_BTYPE_CURVEPROFILE) { uiButCurveProfile *but_profile = (uiButCurveProfile *)but; but_profile->edit_profile = editprofile; } @@ -3857,9 +3866,10 @@ static void ui_do_but_textedit_select( static void ui_numedit_begin(uiBut *but, uiHandleButtonData *data) { if (but->type == UI_BTYPE_CURVE) { - but->editcumap = (CurveMapping *)but->poin; + uiButCurveMapping *but_cumap = (uiButCurveMapping *)but; + but_cumap->edit_cumap = (CurveMapping *)but->poin; } - if (but->type == UI_BTYPE_CURVEPROFILE) { + else if (but->type == UI_BTYPE_CURVEPROFILE) { uiButCurveProfile *but_profile = (uiButCurveProfile *)but; but_profile->edit_profile = (CurveProfile *)but->poin; } @@ -3952,8 +3962,11 @@ static void ui_numedit_end(uiBut *but, uiHandleButtonData *data) but->editval = NULL; but->editvec = NULL; but->editcoba = NULL; - but->editcumap = NULL; - if (but->type == UI_BTYPE_CURVEPROFILE) { + if (but->type == UI_BTYPE_CURVE) { + uiButCurveMapping *but_cumap = (uiButCurveMapping *)but; + but_cumap->edit_cumap = NULL; + } + else if (but->type == UI_BTYPE_CURVEPROFILE) { uiButCurveProfile *but_profile = (uiButCurveProfile *)but; but_profile->edit_profile = NULL; } diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index ad34649a5ec..6cd4571e2ab 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -33,6 +33,7 @@ struct AnimationEvalContext; struct ARegion; +struct CurveMapping; struct CurveProfile; struct ID; struct ImBuf; @@ -268,7 +269,6 @@ struct uiBut { double *editval; float *editvec; void *editcoba; - void *editcumap; uiButPushedStateFunc pushed_state_func; void *pushed_state_arg; @@ -342,6 +342,13 @@ typedef struct uiButCurveProfile { struct CurveProfile *edit_profile; } uiButCurveProfile; +/** Derived struct for #UI_BTYPE_CURVE. */ +typedef struct uiButCurveMapping { + uiBut but; + + struct CurveMapping *edit_cumap; +} uiButCurveMapping; + /** * Additional, superimposed icon for a button, invoking an operator. */ |