[Bf-blender-cvs] [bbd0f6d] pie-menus: Nice little widget indicator influenced from pie menu add-on
Antony Riakiotakis
noreply at git.blender.org
Mon May 26 23:31:30 CEST 2014
Commit: bbd0f6d37f7e600cf7cbf94a8119a31dd7a54595
Author: Antony Riakiotakis
Date: Tue May 27 00:31:04 2014 +0300
https://developer.blender.org/rBbbd0f6d37f7e600cf7cbf94a8119a31dd7a54595
Nice little widget indicator influenced from pie menu add-on
===================================================================
M source/blender/editors/interface/interface_handlers.c
M source/blender/editors/interface/interface_widgets.c
===================================================================
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 9205858..d707758 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -6379,7 +6379,7 @@ static bool ui_mouse_inside_region(ARegion *ar, int x, int y)
return true;
}
-static void ui_block_calculate_pie_segment(const float mx, const float my, float seg2[2], const uiBlock *block)
+static void ui_block_calculate_pie_segment(const float mx, const float my, float seg2[2], uiBlock *block)
{
float seg1[2];
@@ -6389,6 +6389,8 @@ static void ui_block_calculate_pie_segment(const float mx, const float my, float
seg2[0] = mx - seg1[0];
seg2[1] = my - seg1[1];
normalize_v2(seg2);
+
+ copy_v2_v2(block->pie_dir, seg2);
}
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 03fde12..7432fa5 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -3676,11 +3676,21 @@ void ui_draw_pie_center(uiBlock *block)
float cy = BLI_rctf_cent_y(&block->rect);
float pie_radius_internal = block->pie_center_width;
- glColor4ubv(btheme->tui.wcol_menu_back.inner);
+
glPushMatrix();
glTranslatef(cx, cy, 0.0);
+
+ glColor4ub(btheme->tui.wcol_menu_back.inner[0], btheme->tui.wcol_menu_back.inner[1], btheme->tui.wcol_menu_back.inner[2], btheme->tui.wcol_menu_back.inner[3]);
glEnable(GL_BLEND);
glutil_draw_filled_arc(0.0, (float)(M_PI * 2.0), pie_radius_internal, 40);
+
+ glColor4ub(255, 255, 0, btheme->tui.wcol_menu_back.inner[3]);
+ glBegin(GL_TRIANGLES);
+ glVertex2f(block->pie_dir[0] * pie_radius_internal + block->pie_dir[1] * 5.0, block->pie_dir[1] * pie_radius_internal - block->pie_dir[0] * 5.0);
+ glVertex2f(block->pie_dir[0] * pie_radius_internal - block->pie_dir[1] * 5.0, block->pie_dir[1] * pie_radius_internal + block->pie_dir[0] * 5.0);
+ glVertex2f(block->pie_dir[0] * (pie_radius_internal + 10.0f), block->pie_dir[1] * (pie_radius_internal + 10.0f));
+ glEnd();
+
glDisable(GL_BLEND);
glPopMatrix();
}
More information about the Bf-blender-cvs
mailing list