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/editors/space_view3d/view3d_gizmo_ruler.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_ruler.c212
1 files changed, 103 insertions, 109 deletions
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c
index ac6a984bea5..5853fa6e3b3 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c
@@ -36,13 +36,16 @@
#include "BKE_object.h"
#include "BKE_unit.h"
+#include "BKE_material.h"
+#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_view3d_types.h"
#include "BIF_gl.h"
+#include "ED_gpencil.h"
#include "ED_screen.h"
#include "ED_transform_snap_object_context.h"
#include "ED_view3d.h"
@@ -68,7 +71,7 @@
#include "BLF_api.h"
-static const char *view3d_wgt_ruler_id = "VIEW3D_WGT_ruler";
+static const char *view3d_gzgt_ruler_id = "VIEW3D_GGT_ruler";
#define MVAL_MAX_PX_DIST 12.0f
@@ -123,7 +126,7 @@ typedef struct RulerInfo {
/* Ruler Item (two or three points) */
typedef struct RulerItem {
- wmGizmo mpr;
+ wmGizmo gz;
/* worldspace coords, middle being optional */
float co[3][3];
@@ -143,18 +146,18 @@ typedef struct RulerInteraction {
/** \name Internal Ruler Utilities
* \{ */
-static RulerItem *ruler_item_add(wmGizmoGroup *mgroup)
+static RulerItem *ruler_item_add(wmGizmoGroup *gzgroup)
{
/* could pass this as an arg */
- const wmGizmoType *wt_ruler = WM_gizmotype_find("VIEW3D_WT_ruler_item", true);
- RulerItem *ruler_item = (RulerItem *)WM_gizmo_new_ptr(wt_ruler, mgroup, NULL);
- WM_gizmo_set_flag(&ruler_item->mpr, WM_GIZMO_DRAW_MODAL, true);
+ const wmGizmoType *gzt_ruler = WM_gizmotype_find("VIEW3D_GT_ruler_item", true);
+ RulerItem *ruler_item = (RulerItem *)WM_gizmo_new_ptr(gzt_ruler, gzgroup, NULL);
+ WM_gizmo_set_flag(&ruler_item->gz, WM_GIZMO_DRAW_MODAL, true);
return ruler_item;
}
-static void ruler_item_remove(bContext *C, wmGizmoGroup *mgroup, RulerItem *ruler_item)
+static void ruler_item_remove(bContext *C, wmGizmoGroup *gzgroup, RulerItem *ruler_item)
{
- WM_gizmo_unlink(&mgroup->gizmos, mgroup->parent_mmap, &ruler_item->mpr, C);
+ WM_gizmo_unlink(&gzgroup->gizmos, gzgroup->parent_gzmap, &ruler_item->gz, C);
}
static void ruler_item_as_string(RulerItem *ruler_item, UnitSettings *unit,
@@ -192,10 +195,10 @@ static void ruler_item_as_string(RulerItem *ruler_item, UnitSettings *unit,
}
static bool view3d_ruler_pick(
- wmGizmoGroup *mgroup, RulerItem *ruler_item, const float mval[2],
+ wmGizmoGroup *gzgroup, RulerItem *ruler_item, const float mval[2],
int *r_co_index)
{
- RulerInfo *ruler_info = mgroup->customdata;
+ RulerInfo *ruler_info = gzgroup->customdata;
ARegion *ar = ruler_info->ar;
bool found = false;
@@ -304,7 +307,7 @@ static bool view3d_ruler_item_mousemove(
RulerInfo *ruler_info, RulerItem *ruler_item, const int mval[2],
const bool do_thickness, const bool do_snap)
{
- RulerInteraction *inter = ruler_item->mpr.interaction_data;
+ RulerInteraction *inter = ruler_item->gz.interaction_data;
const float eps_bias = 0.0002f;
float dist_px = MVAL_MAX_PX_DIST * U.pixelsize; /* snap dist */
@@ -380,46 +383,37 @@ static bool view3d_ruler_item_mousemove(
* \{ */
#define RULER_ID "RulerData3D"
-static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *mgroup)
+static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *gzgroup)
{
- // RulerInfo *ruler_info = mgroup->customdata;
+ // RulerInfo *ruler_info = gzgroup->customdata;
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
+
+ bGPdata *gpd;
bGPDlayer *gpl;
bGPDframe *gpf;
bGPDstroke *gps;
- bGPDpalette *palette;
- bGPDpalettecolor *palcolor;
RulerItem *ruler_item;
const char *ruler_name = RULER_ID;
bool changed = false;
if (scene->gpd == NULL) {
- scene->gpd = BKE_gpencil_data_addnew(bmain, "GPencil");
+ scene->gpd = BKE_gpencil_data_addnew(bmain, "Annotations");
}
+ gpd = scene->gpd;
- gpl = BLI_findstring(&scene->gpd->layers, ruler_name, offsetof(bGPDlayer, info));
+ gpl = BLI_findstring(&gpd->layers, ruler_name, offsetof(bGPDlayer, info));
if (gpl == NULL) {
- gpl = BKE_gpencil_layer_addnew(scene->gpd, ruler_name, false);
+ gpl = BKE_gpencil_layer_addnew(gpd, ruler_name, false);
+ copy_v4_v4(gpl->color, U.gpencil_new_layer_col);
gpl->thickness = 1;
gpl->flag |= GP_LAYER_HIDE;
}
- /* try to get active palette or create a new one */
- palette = BKE_gpencil_palette_getactive(scene->gpd);
- if (palette == NULL) {
- palette = BKE_gpencil_palette_addnew(scene->gpd, DATA_("GP_Palette"), true);
- }
- /* try to get color with the ruler name or create a new one */
- palcolor = BKE_gpencil_palettecolor_getbyname(palette, (char *)ruler_name);
- if (palcolor == NULL) {
- palcolor = BKE_gpencil_palettecolor_addnew(palette, (char *)ruler_name, true);
- }
-
gpf = BKE_gpencil_layer_getframe(gpl, CFRA, true);
BKE_gpencil_free_strokes(gpf);
- for (ruler_item = mgroup->gizmos.first; ruler_item; ruler_item = (RulerItem *)ruler_item->mpr.next) {
+ for (ruler_item = gzgroup->gizmos.first; ruler_item; ruler_item = (RulerItem *)ruler_item->gz.next) {
bGPDspoint *pt;
int j;
@@ -428,6 +422,7 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *mgroup)
if (ruler_item->flag & RULERITEM_USE_ANGLE) {
gps->totpoints = 3;
pt = gps->points = MEM_callocN(sizeof(bGPDspoint) * gps->totpoints, "gp_stroke_points");
+ gps->dvert = MEM_callocN(sizeof(MDeformVert) * gps->totpoints, "gp_stroke_weights");
for (j = 0; j < 3; j++) {
copy_v3_v3(&pt->x, ruler_item->co[j]);
pt->pressure = 1.0f;
@@ -438,6 +433,7 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *mgroup)
else {
gps->totpoints = 2;
pt = gps->points = MEM_callocN(sizeof(bGPDspoint) * gps->totpoints, "gp_stroke_points");
+ gps->dvert = MEM_callocN(sizeof(MDeformVert) * gps->totpoints, "gp_stroke_weights");
for (j = 0; j < 3; j += 2) {
copy_v3_v3(&pt->x, ruler_item->co[j]);
pt->pressure = 1.0f;
@@ -447,9 +443,7 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *mgroup)
}
gps->flag = GP_STROKE_3DSPACE;
gps->thickness = 3;
- /* assign color to stroke */
- BLI_strncpy(gps->colorname, palcolor->info, sizeof(gps->colorname));
- gps->palcolor = palcolor;
+
BLI_addtail(&gpf->strokes, gps);
changed = true;
}
@@ -457,7 +451,7 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *mgroup)
return changed;
}
-static bool view3d_ruler_from_gpencil(const bContext *C, wmGizmoGroup *mgroup)
+static bool view3d_ruler_from_gpencil(const bContext *C, wmGizmoGroup *gzgroup)
{
Scene *scene = CTX_data_scene(C);
bool changed = false;
@@ -476,7 +470,7 @@ static bool view3d_ruler_from_gpencil(const bContext *C, wmGizmoGroup *mgroup)
int j;
RulerItem *ruler_item = NULL;
if (gps->totpoints == 3) {
- ruler_item = ruler_item_add(mgroup);
+ ruler_item = ruler_item_add(gzgroup);
for (j = 0; j < 3; j++) {
copy_v3_v3(ruler_item->co[j], &pt->x);
pt++;
@@ -485,7 +479,7 @@ static bool view3d_ruler_from_gpencil(const bContext *C, wmGizmoGroup *mgroup)
changed = true;
}
else if (gps->totpoints == 2) {
- ruler_item = ruler_item_add(mgroup);
+ ruler_item = ruler_item_add(gzgroup);
for (j = 0; j < 3; j += 2) {
copy_v3_v3(ruler_item->co[j], &pt->x);
pt++;
@@ -506,12 +500,12 @@ static bool view3d_ruler_from_gpencil(const bContext *C, wmGizmoGroup *mgroup)
/** \name Ruler Item Gizmo Type
* \{ */
-static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
+static void gizmo_ruler_draw(const bContext *C, wmGizmo *gz)
{
Scene *scene = CTX_data_scene(C);
UnitSettings *unit = &scene->unit;
- RulerInfo *ruler_info = mpr->parent_mgroup->customdata;
- RulerItem *ruler_item = (RulerItem *)mpr;
+ RulerInfo *ruler_info = gz->parent_gzgroup->customdata;
+ RulerItem *ruler_item = (RulerItem *)gz;
ARegion *ar = ruler_info->ar;
RegionView3D *rv3d = ar->regiondata;
const float cap_size = 4.0f;
@@ -536,7 +530,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
UI_GetThemeColor3ubv(TH_TEXT, color_text);
UI_GetThemeColor3ubv(TH_WIRE, color_wire);
- const bool is_act = (mpr->flag & WM_GIZMO_DRAW_HOVER);
+ const bool is_act = (gz->flag & WM_GIZMO_DRAW_HOVER);
float dir_ruler[2];
float co_ss[3][2];
int j;
@@ -548,7 +542,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
GPU_blend(true);
- const uint shdr_pos = GWN_vertformat_attr_add(immVertexFormat(), "pos", GWN_COMP_F32, 2, GWN_FETCH_FLOAT);
+ const uint shdr_pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
if (ruler_item->flag & RULERITEM_USE_ANGLE) {
immBindBuiltinProgram(GPU_SHADER_2D_LINE_DASHED_UNIFORM_COLOR);
@@ -562,7 +556,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
immUniformArray4fv("colors", (float *)(float[][4]){{0.67f, 0.67f, 0.67f, 1.0f}, {col[0], col[1], col[2], col[3]}}, 2);
immUniform1f("dash_width", 6.0f);
- immBegin(GWN_PRIM_LINE_STRIP, 3);
+ immBegin(GPU_PRIM_LINE_STRIP, 3);
immVertex2fv(shdr_pos, co_ss[0]);
immVertex2fv(shdr_pos, co_ss[1]);
@@ -604,7 +598,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
immUniformColor3ubv(color_wire);
- immBegin(GWN_PRIM_LINE_STRIP, arc_steps + 1);
+ immBegin(GPU_PRIM_LINE_STRIP, arc_steps + 1);
for (j = 0; j <= arc_steps; j++) {
madd_v3_v3v3fl(co_tmp, ruler_item->co[1], dir_tmp, px_scale);
@@ -637,7 +631,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
immUniformColor3ubv(color_wire);
- immBegin(GWN_PRIM_LINES, 8);
+ immBegin(GPU_PRIM_LINES, 8);
madd_v2_v2v2fl(cap, co_ss[0], rot_90_vec_a, cap_size);
immVertex2fv(shdr_pos, cap);
@@ -702,7 +696,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
immUniformArray4fv("colors", (float *)(float[][4]){{0.67f, 0.67f, 0.67f, 1.0f}, {col[0], col[1], col[2], col[3]}}, 2);
immUniform1f("dash_width", 6.0f);
- immBegin(GWN_PRIM_LINES, 2);
+ immBegin(GPU_PRIM_LINES, 2);
immVertex2fv(shdr_pos, co_ss[0]);
immVertex2fv(shdr_pos, co_ss[2]);
@@ -726,7 +720,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
immUniformColor3ubv(color_wire);
- immBegin(GWN_PRIM_LINES, 4);
+ immBegin(GPU_PRIM_LINES, 4);
madd_v2_v2v2fl(cap, co_ss[0], rot_90_vec, cap_size);
immVertex2fv(shdr_pos, cap);
@@ -785,15 +779,15 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
/* draw snap */
if ((ruler_info->snap_flag & RULER_SNAP_OK) &&
(ruler_info->state == RULER_STATE_DRAG) &&
- (ruler_item->mpr.interaction_data != NULL))
+ (ruler_item->gz.interaction_data != NULL))
{
- RulerInteraction *inter = ruler_item->mpr.interaction_data;
+ RulerInteraction *inter = ruler_item->gz.interaction_data;
/* size from drawSnapping */
const float size = 2.5f * UI_GetThemeValuef(TH_VERTEX_SIZE);
float co_ss_snap[3];
ED_view3d_project_float_global(ar, ruler_item->co[inter->co_index], co_ss_snap, V3D_PROJ_TEST_NOP);
- uint pos = GWN_vertformat_attr_add(immVertexFormat(), "pos", GWN_COMP_F32, 2, GWN_FETCH_FLOAT);
+ uint pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
immUniformColor4fv(color_act);
@@ -805,14 +799,14 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *mpr)
}
static int gizmo_ruler_test_select(
- bContext *UNUSED(C), wmGizmo *mpr, const wmEvent *event)
+ bContext *UNUSED(C), wmGizmo *gz, const int mval[2])
{
- RulerItem *ruler_item_pick = (RulerItem *)mpr;
- float mval_fl[2] = {UNPACK2(event->mval)};
+ RulerItem *ruler_item_pick = (RulerItem *)gz;
+ float mval_fl[2] = {UNPACK2(mval)};
int co_index;
/* select and drag */
- if (view3d_ruler_pick(mpr->parent_mgroup, ruler_item_pick, mval_fl, &co_index)) {
+ if (view3d_ruler_pick(gz->parent_gzgroup, ruler_item_pick, mval_fl, &co_index)) {
if (co_index == -1) {
if ((ruler_item_pick->flag & RULERITEM_USE_ANGLE) == 0) {
return PART_LINE;
@@ -826,14 +820,14 @@ static int gizmo_ruler_test_select(
}
static int gizmo_ruler_modal(
- bContext *C, wmGizmo *mpr, const wmEvent *event,
+ bContext *C, wmGizmo *gz, const wmEvent *event,
eWM_GizmoFlagTweak UNUSED(tweak_flag))
{
bool do_draw = false;
int exit_code = OPERATOR_RUNNING_MODAL;
- RulerInfo *ruler_info = mpr->parent_mgroup->customdata;
- RulerItem *ruler_item = (RulerItem *)mpr;
- RulerInteraction *inter = ruler_item->mpr.interaction_data;
+ RulerInfo *ruler_info = gz->parent_gzgroup->customdata;
+ RulerItem *ruler_item = (RulerItem *)gz;
+ RulerInteraction *inter = ruler_item->gz.interaction_data;
ARegion *ar = CTX_wm_region(C);
ruler_info->ar = ar;
@@ -860,20 +854,20 @@ static int gizmo_ruler_modal(
}
static int gizmo_ruler_invoke(
- bContext *C, wmGizmo *mpr, const wmEvent *event)
+ bContext *C, wmGizmo *gz, const wmEvent *event)
{
- wmGizmoGroup *mgroup = mpr->parent_mgroup;
- RulerInfo *ruler_info = mgroup->customdata;
- RulerItem *ruler_item_pick = (RulerItem *)mpr;
+ wmGizmoGroup *gzgroup = gz->parent_gzgroup;
+ RulerInfo *ruler_info = gzgroup->customdata;
+ RulerItem *ruler_item_pick = (RulerItem *)gz;
RulerInteraction *inter = MEM_callocN(sizeof(RulerInteraction), __func__);
- mpr->interaction_data = inter;
+ gz->interaction_data = inter;
ARegion *ar = ruler_info->ar;
const float mval_fl[2] = {UNPACK2(event->mval)};
/* select and drag */
- if (mpr->highlight_part == PART_LINE) {
+ if (gz->highlight_part == PART_LINE) {
if ((ruler_item_pick->flag & RULERITEM_USE_ANGLE) == 0) {
/* Add Center Point */
ruler_item_pick->flag |= RULERITEM_USE_ANGLE;
@@ -903,7 +897,7 @@ static int gizmo_ruler_invoke(
}
}
else {
- inter->co_index = mpr->highlight_part;
+ inter->co_index = gz->highlight_part;
ruler_state_set(C, ruler_info, RULER_STATE_DRAG);
/* store the initial depth */
@@ -913,15 +907,15 @@ static int gizmo_ruler_invoke(
return OPERATOR_RUNNING_MODAL;
}
-static void gizmo_ruler_exit(bContext *C, wmGizmo *mpr, const bool cancel)
+static void gizmo_ruler_exit(bContext *C, wmGizmo *gz, const bool cancel)
{
- wmGizmoGroup *mgroup = mpr->parent_mgroup;
- RulerInfo *ruler_info = mgroup->customdata;
+ wmGizmoGroup *gzgroup = gz->parent_gzgroup;
+ RulerInfo *ruler_info = gzgroup->customdata;
if (!cancel) {
if (ruler_info->state == RULER_STATE_DRAG) {
- RulerItem *ruler_item = (RulerItem *)mpr;
- RulerInteraction *inter = mpr->interaction_data;
+ RulerItem *ruler_item = (RulerItem *)gz;
+ RulerInteraction *inter = gz->interaction_data;
/* rubber-band angle removal */
if (!inter->inside_region) {
if ((inter->co_index == 1) && (ruler_item->flag & RULERITEM_USE_ANGLE)) {
@@ -930,9 +924,9 @@ static void gizmo_ruler_exit(bContext *C, wmGizmo *mpr, const bool cancel)
else {
/* Not ideal, since the ruler isn't a mode and we don't want to override delete key
* use dragging out of the view for removal. */
- ruler_item_remove(C, mgroup, ruler_item);
+ ruler_item_remove(C, gzgroup, ruler_item);
ruler_item = NULL;
- mpr = NULL;
+ gz = NULL;
inter = NULL;
}
}
@@ -942,38 +936,38 @@ static void gizmo_ruler_exit(bContext *C, wmGizmo *mpr, const bool cancel)
ruler_state_set(C, ruler_info, RULER_STATE_NORMAL);
}
/* We could convert only the current gizmo, for now just re-generate. */
- view3d_ruler_to_gpencil(C, mgroup);
+ view3d_ruler_to_gpencil(C, gzgroup);
}
- if (mpr) {
- MEM_SAFE_FREE(mpr->interaction_data);
+ if (gz) {
+ MEM_SAFE_FREE(gz->interaction_data);
}
ruler_state_set(C, ruler_info, RULER_STATE_NORMAL);
}
-static int gizmo_ruler_cursor_get(wmGizmo *mpr)
+static int gizmo_ruler_cursor_get(wmGizmo *gz)
{
- if (mpr->highlight_part == PART_LINE) {
+ if (gz->highlight_part == PART_LINE) {
return BC_CROSSCURSOR;
}
return BC_NSEW_SCROLLCURSOR;
}
-void VIEW3D_WT_ruler_item(wmGizmoType *wt)
+void VIEW3D_GT_ruler_item(wmGizmoType *gzt)
{
/* identifiers */
- wt->idname = "VIEW3D_WT_ruler_item";
+ gzt->idname = "VIEW3D_GT_ruler_item";
/* api callbacks */
- wt->draw = gizmo_ruler_draw;
- wt->test_select = gizmo_ruler_test_select;
- wt->modal = gizmo_ruler_modal;
- wt->invoke = gizmo_ruler_invoke;
- wt->exit = gizmo_ruler_exit;
- wt->cursor_get = gizmo_ruler_cursor_get;
-
- wt->struct_size = sizeof(RulerItem);
+ gzt->draw = gizmo_ruler_draw;
+ gzt->test_select = gizmo_ruler_test_select;
+ gzt->modal = gizmo_ruler_modal;
+ gzt->invoke = gizmo_ruler_invoke;
+ gzt->exit = gizmo_ruler_exit;
+ gzt->cursor_get = gizmo_ruler_cursor_get;
+
+ gzt->struct_size = sizeof(RulerItem);
}
/** \} */
@@ -982,23 +976,23 @@ void VIEW3D_WT_ruler_item(wmGizmoType *wt)
/** \name Ruler Gizmo Group
* \{ */
-static bool WIDGETGROUP_ruler_poll(const bContext *C, wmGizmoGroupType *wgt)
+static bool WIDGETGROUP_ruler_poll(const bContext *C, wmGizmoGroupType *gzgt)
{
bToolRef_Runtime *tref_rt = WM_toolsystem_runtime_from_context((bContext *)C);
if ((tref_rt == NULL) ||
- !STREQ(wgt->idname, tref_rt->gizmo_group))
+ !STREQ(gzgt->idname, tref_rt->gizmo_group))
{
- WM_gizmo_group_type_unlink_delayed_ptr(wgt);
+ WM_gizmo_group_type_unlink_delayed_ptr(gzgt);
return false;
}
return true;
}
-static void WIDGETGROUP_ruler_setup(const bContext *C, wmGizmoGroup *mgroup)
+static void WIDGETGROUP_ruler_setup(const bContext *C, wmGizmoGroup *gzgroup)
{
RulerInfo *ruler_info = MEM_callocN(sizeof(RulerInfo), __func__);
- if (view3d_ruler_from_gpencil(C, mgroup)) {
+ if (view3d_ruler_from_gpencil(C, gzgroup)) {
/* nop */
}
@@ -1009,21 +1003,21 @@ static void WIDGETGROUP_ruler_setup(const bContext *C, wmGizmoGroup *mgroup)
ruler_info->sa = sa;
ruler_info->ar = ar;
- mgroup->customdata = ruler_info;
+ gzgroup->customdata = ruler_info;
}
-void VIEW3D_WGT_ruler(wmGizmoGroupType *wgt)
+void VIEW3D_GGT_ruler(wmGizmoGroupType *gzgt)
{
- wgt->name = "Ruler Widgets";
- wgt->idname = view3d_wgt_ruler_id;
+ gzgt->name = "Ruler Widgets";
+ gzgt->idname = view3d_gzgt_ruler_id;
- wgt->flag |= WM_GIZMOGROUPTYPE_SCALE | WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL;
+ gzgt->flag |= WM_GIZMOGROUPTYPE_SCALE | WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL;
- wgt->mmap_params.spaceid = SPACE_VIEW3D;
- wgt->mmap_params.regionid = RGN_TYPE_WINDOW;
+ gzgt->gzmap_params.spaceid = SPACE_VIEW3D;
+ gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
- wgt->poll = WIDGETGROUP_ruler_poll;
- wgt->setup = WIDGETGROUP_ruler_setup;
+ gzgt->poll = WIDGETGROUP_ruler_poll;
+ gzgt->setup = WIDGETGROUP_ruler_setup;
}
/** \} */
@@ -1036,7 +1030,7 @@ static bool view3d_ruler_poll(bContext *C)
{
bToolRef_Runtime *tref_rt = WM_toolsystem_runtime_from_context((bContext *)C);
if ((tref_rt == NULL) ||
- !STREQ(view3d_wgt_ruler_id, tref_rt->gizmo_group) ||
+ !STREQ(view3d_gzgt_ruler_id, tref_rt->gizmo_group) ||
CTX_wm_region_view3d(C) == NULL)
{
return false;
@@ -1050,22 +1044,22 @@ static int view3d_ruler_add_invoke(bContext *C, wmOperator *UNUSED(op), const wm
View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d = ar->regiondata;
- wmGizmoMap *mmap = ar->gizmo_map;
- wmGizmoGroup *mgroup = WM_gizmomap_group_find(mmap, view3d_wgt_ruler_id);
- const bool use_depth = (v3d->drawtype >= OB_SOLID);
+ wmGizmoMap *gzmap = ar->gizmo_map;
+ wmGizmoGroup *gzgroup = WM_gizmomap_group_find(gzmap, view3d_gzgt_ruler_id);
+ const bool use_depth = (v3d->shading.type >= OB_SOLID);
/* Create new line */
RulerItem *ruler_item;
- ruler_item = ruler_item_add(mgroup);
+ ruler_item = ruler_item_add(gzgroup);
/* This is a little weak, but there is no real good way to tweak directly. */
- WM_gizmo_highlight_set(mmap, &ruler_item->mpr);
+ WM_gizmo_highlight_set(gzmap, &ruler_item->gz);
if (WM_operator_name_call(
C, "GIZMOGROUP_OT_gizmo_tweak",
WM_OP_INVOKE_REGION_WIN, NULL) == OPERATOR_RUNNING_MODAL)
{
- RulerInfo *ruler_info = mgroup->customdata;
- RulerInteraction *inter = ruler_item->mpr.interaction_data;
+ RulerInfo *ruler_info = gzgroup->customdata;
+ RulerInteraction *inter = ruler_item->gz.interaction_data;
if (use_depth) {
/* snap the first point added, not essential but handy */
inter->co_index = 0;
@@ -1079,7 +1073,7 @@ static int view3d_ruler_add_invoke(bContext *C, wmOperator *UNUSED(op), const wm
}
copy_v3_v3(ruler_item->co[2], ruler_item->co[0]);
- ruler_item->mpr.highlight_part = inter->co_index = 2;
+ ruler_item->gz.highlight_part = inter->co_index = 2;
}
return OPERATOR_FINISHED;
}