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 */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to