UI Code Quality: Use derived struct for curve mapping buttons
The same changes as in rB570044e9f412.
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user