Gizmo: remove wmGizmoGroup.use_fallback_keymap
This ended up being a copy of: `toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK` requiring boiler plate assignment in gizmos refresh callbacks. Remove this struct member and check `toolsettings->workspace_tool_type` directly, since so far there has been no advantage in gizmo-groups being able to control this themselves.
This commit is contained in:
parent
cda20a7af8
commit
e41dddd29a
|
@ -140,13 +140,10 @@ static void WIDGETGROUP_tool_generic_refresh(const bContext *C, wmGizmoGroup *gz
|
|||
|
||||
ToolSettings *ts = CTX_data_tool_settings(C);
|
||||
if (ts->workspace_tool_type != SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
WM_gizmo_set_flag(gz, WM_GIZMO_HIDDEN, true);
|
||||
return;
|
||||
}
|
||||
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
|
||||
/* skip, we don't draw anything anyway */
|
||||
{
|
||||
int orientation;
|
||||
|
|
|
@ -465,16 +465,6 @@ static void gizmo2d_xform_refresh(const bContext *C, wmGizmoGroup *gzgroup)
|
|||
copy_v2_v2(ggd->origin, origin);
|
||||
bool show_cage = !ggd->no_cage && !equals_v2v2(ggd->min, ggd->max);
|
||||
|
||||
if (gzgroup->type->flag & WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP) {
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (has_select == false) {
|
||||
for (int i = 0; i < ARRAY_SIZE(ggd->translate_xy); i++) {
|
||||
ggd->translate_xy[i]->flag |= WM_GIZMO_HIDDEN;
|
||||
|
@ -641,16 +631,6 @@ static void gizmo2d_resize_draw_prepare(const bContext *C, wmGizmoGroup *gzgroup
|
|||
GizmoGroup_Resize2D *ggd = gzgroup->customdata;
|
||||
float origin[3] = {UNPACK2(ggd->origin), 0.0f};
|
||||
|
||||
if (gzgroup->type->flag & WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP) {
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
gizmo2d_origin_to_region(region, origin);
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(ggd->gizmo_xy); i++) {
|
||||
|
@ -793,16 +773,6 @@ static void gizmo2d_rotate_draw_prepare(const bContext *C, wmGizmoGroup *gzgroup
|
|||
GizmoGroup_Rotate2D *ggd = gzgroup->customdata;
|
||||
float origin[3] = {UNPACK2(ggd->origin), 0.0f};
|
||||
|
||||
if (gzgroup->type->flag & WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP) {
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
gizmo2d_origin_to_region(region, origin);
|
||||
|
||||
wmGizmo *gz = ggd->gizmo;
|
||||
|
|
|
@ -1670,13 +1670,6 @@ static void WIDGETGROUP_gizmo_refresh(const bContext *C, wmGizmoGroup *gzgroup)
|
|||
RegionView3D *rv3d = region->regiondata;
|
||||
struct TransformBounds tbounds;
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
|
||||
if (ggd->use_twtype_refresh) {
|
||||
ggd->twtype = v3d->gizmo_show_object & ggd->twtype_init;
|
||||
if (ggd->twtype != ggd->twtype_prev) {
|
||||
|
@ -2105,13 +2098,6 @@ static void WIDGETGROUP_xform_cage_refresh(const bContext *C, wmGizmoGroup *gzgr
|
|||
|
||||
struct TransformBounds tbounds;
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
|
||||
const int orient_index = BKE_scene_orientation_get_index_from_flag(scene, SCE_ORIENT_SCALE);
|
||||
|
||||
if ((ED_transform_calc_gizmo_stats(C,
|
||||
|
@ -2316,13 +2302,6 @@ static void WIDGETGROUP_xform_shear_refresh(const bContext *C, wmGizmoGroup *gzg
|
|||
struct XFormShearWidgetGroup *xgzgroup = gzgroup->customdata;
|
||||
struct TransformBounds tbounds;
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
|
||||
/* Needed to test view orientation changes. */
|
||||
copy_m3_m4(xgzgroup->prev.viewinv_m3, rv3d->viewinv);
|
||||
|
||||
|
|
|
@ -381,11 +381,9 @@ static void gizmo_mesh_extrude_refresh(const bContext *C, wmGizmoGroup *gzgroup)
|
|||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
WM_gizmo_set_flag(ggd->invoke_view, WM_GIZMO_HIDDEN, false);
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
WM_gizmo_set_flag(ggd->invoke_view, WM_GIZMO_HIDDEN, true);
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -502,8 +502,6 @@ typedef struct wmGizmoGroup {
|
|||
|
||||
bool tag_remove;
|
||||
|
||||
bool use_fallback_keymap;
|
||||
|
||||
void *customdata;
|
||||
/** For freeing customdata from above. */
|
||||
void (*customdata_free)(void *);
|
||||
|
|
|
@ -266,7 +266,6 @@ void WM_gizmogroup_ensure_init(const bContext *C, wmGizmoGroup *gzgroup)
|
|||
/* prepare for first draw */
|
||||
if (UNLIKELY((gzgroup->init_flag & WM_GIZMOGROUP_INIT_SETUP) == 0)) {
|
||||
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
gzgroup->type->setup(C, gzgroup);
|
||||
|
||||
/* Not ideal, initialize keymap here, needed for RNA runtime generated gizmos. */
|
||||
|
|
|
@ -4060,14 +4060,12 @@ void WM_event_get_keymap_from_toolsystem_fallback(wmWindowManager *wm,
|
|||
if (gzgroup != NULL) {
|
||||
if (gzgroup->type->flag & WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP) {
|
||||
/* If all are hidden, don't override. */
|
||||
if (gzgroup->use_fallback_keymap) {
|
||||
is_gizmo_visible = true;
|
||||
wmGizmo *highlight = wm_gizmomap_highlight_get(gzmap);
|
||||
if (highlight) {
|
||||
is_gizmo_highlight = true;
|
||||
}
|
||||
add_keymap = true;
|
||||
is_gizmo_visible = true;
|
||||
wmGizmo *highlight = wm_gizmomap_highlight_get(gzmap);
|
||||
if (highlight) {
|
||||
is_gizmo_highlight = true;
|
||||
}
|
||||
add_keymap = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue