[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