[Bf-blender-cvs] [37e9ab7] pie-menus: Merge branch 'master' into pie-menus
Antony Riakiotakis
noreply at git.blender.org
Thu Jul 24 16:30:46 CEST 2014
Commit: 37e9ab73e1cef03659b33d431e19c5f6c055f5ea
Author: Antony Riakiotakis
Date: Thu Jul 24 16:30:27 2014 +0200
Branches: pie-menus
https://developer.blender.org/rB37e9ab73e1cef03659b33d431e19c5f6c055f5ea
Merge branch 'master' into pie-menus
Conflicts:
source/blender/editors/interface/interface_handlers.c
source/blender/editors/sculpt_paint/paint_ops.c
source/blender/editors/space_api/spacetypes.c
===================================================================
===================================================================
diff --cc source/blender/editors/interface/interface_handlers.c
index e49d9c1,b3f13cc..f1a5c96
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@@ -6252,97 -6377,7 +6379,97 @@@ static bool ui_but_contains_pt(uiBut *b
return BLI_rctf_isect_pt(&but->rect, mx, my);
}
+static void ui_but_pie_visual_dir(RadialDirection dir, float vec[2]) {
+ float angle;
+
+ switch (dir) {
+ case UI_RADIAL_W:
+ angle = 180.0f;
+ break;
+ case UI_RADIAL_E:
+ angle = 0.0f;
+ break;
+ case UI_RADIAL_S:
+ angle = 270.0f;
+ break;
+ case UI_RADIAL_N:
+ angle = 90.0f;
+ break;
+ case UI_RADIAL_NW:
+ angle = 140.0f;
+ break;
+ case UI_RADIAL_NE:
+ angle = 40.0f;
+ break;
+ case UI_RADIAL_SW:
+ angle = 220.0f;
+ break;
+ case UI_RADIAL_SE:
+ angle = 320.0f;
+ break;
+ default:
+ angle = 0.0f;
+ break;
+ }
+
+ angle = angle / 180.0f * M_PI;
+ vec[0] = cos(angle);
+ vec[1] = sin(angle);
+}
+
+static bool ui_but_isect_pie_seg(uiBlock *block, uiBut *but)
+{
+ float angle_range = (block->pie_data.flags & UI_PIE_DEGREES_RANGE_LARGE) ? M_PI_4 : M_PI_4 / 2.0f;
+ float angle_pie;
+ float vec[2];
+
+ if (block->pie_data.flags & UI_PIE_INVALID_DIR)
+ return false;
+
+ switch (but->pie_dir) {
+ case UI_RADIAL_E:
+ angle_pie = 0.0;
+ break;
+
+ case UI_RADIAL_NE:
+ angle_pie = M_PI_4;
+ break;
+
+ case UI_RADIAL_N:
+ angle_pie = M_PI_2;
+ break;
+
+ case UI_RADIAL_NW:
+ angle_pie = M_PI_2 + M_PI_4;
+ break;
+
+ case UI_RADIAL_W:
+ angle_pie = M_PI;
+ break;
+
+ case UI_RADIAL_SW:
+ angle_pie = M_PI + M_PI_4;
+ break;
+
+ case UI_RADIAL_S:
+ angle_pie = 3 * M_PI_2;
+ break;
+
+ case UI_RADIAL_SE:
+ angle_pie = 3 * M_PI_2 + M_PI_4;
+ break;
+ }
+
+ vec[0] = cosf(angle_pie);
+ vec[1] = sinf(angle_pie);
+
+ if (saacos(dot_v2v2(vec, block->pie_data.pie_dir)) < angle_range)
+ return true;
+
+ return false;
+}
+
- static uiBut *ui_but_find_activated(ARegion *ar)
+ uiBut *ui_but_find_activated(ARegion *ar)
{
uiBlock *block;
uiBut *but;
diff --cc source/blender/editors/sculpt_paint/paint_ops.c
index b89acba,3605ce5..8dab215
--- a/source/blender/editors/sculpt_paint/paint_ops.c
+++ b/source/blender/editors/sculpt_paint/paint_ops.c
@@@ -1191,7 -1356,7 +1356,7 @@@ void ED_keymap_paint(wmKeyConfig *keyco
RNA_boolean_set(kmi->ptr, "create_missing", 1);
/* */
- kmi = WM_keymap_add_item(keymap, "WM_OT_context_pie_enum", AKEY, KM_PRESS, 0, 0);
- kmi = WM_keymap_add_item(keymap, "WM_OT_context_menu_enum", EKEY, KM_PRESS, 0, 0);
++ kmi = WM_keymap_add_item(keymap, "WM_OT_context_pie_enum", EKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.sculpt.brush.stroke_method");
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", SKEY, KM_PRESS, KM_SHIFT, 0);
diff --cc source/blender/editors/space_api/spacetypes.c
index 45afd68,b171e7a..757313e
--- a/source/blender/editors/space_api/spacetypes.c
+++ b/source/blender/editors/space_api/spacetypes.c
@@@ -129,22 -129,9 +129,18 @@@ void ED_spacetypes_init(void
if (type->operatortypes)
type->operatortypes();
}
-
- /* register dropboxes (can use macros) */
- spacetypes = BKE_spacetypes_list();
- for (type = spacetypes->first; type; type = type->next) {
- if (type->dropboxes)
- type->dropboxes();
- }
+
+ /* register internal render callbacks */
+ ED_render_internal_init();
+}
- /* Macros's must go last since they reference other operators
- * maybe we'll need to have them go after python operators too? */
+void ED_spacemacros_init(void)
+{
++ const ListBase *spacetypes;
++ SpaceType *type;
++
+ /* Macros's must go last since they reference other operators.
+ * We need to have them go after python operators too */
ED_operatormacros_armature();
ED_operatormacros_mesh();
ED_operatormacros_metaball();
@@@ -157,7 -144,17 +153,15 @@@
ED_operatormacros_curve();
ED_operatormacros_mask();
ED_operatormacros_sequencer();
+ ED_operatormacros_screen();
+ ED_operatormacros_paint();
+
+ /* register dropboxes (can use macros) */
+ spacetypes = BKE_spacetypes_list();
+ for (type = spacetypes->first; type; type = type->next) {
+ if (type->dropboxes)
+ type->dropboxes();
+ }
-
- /* register internal render callbacks */
- ED_render_internal_init();
}
/* called in wm.c */
More information about the Bf-blender-cvs
mailing list