Exemplo n.º 1
0
void click_model_wind(Point pt,unsigned long modifiers)
{
	model_wind_reset_modifiers();
	
	if ((shift_on) || (rotate_on) || (size_on)) {
		change_model_wind(pt);
		return;
	}
	
	if ((draw_type==dt_bones) || (draw_type==dt_model_bones) || (draw_type==dt_mesh_bones)) {
		if (drag_bone_model_wind(pt)) return;
	}
		
	select_model_wind(pt,modifiers);
}
Exemplo n.º 2
0
void model_wind_click(d3pnt *pnt,bool double_click)
{
	bool			shift_on,rotate_on,size_on;
	d3rect			mbox;

		// check mesh show

	if (model_wind_click_mesh_show(pnt)) return;

		// get click within window

	model_wind_get_box(&mbox);
		
	pnt->x-=mbox.lx;
	pnt->y-=mbox.ty;
	
		// handle the clicks
		
	shift_on=os_key_space_down();
	rotate_on=os_key_command_down();
	size_on=os_key_option_down();
	
	if ((shift_on) || (rotate_on) || (size_on)) {
		change_model_wind(pnt,shift_on,rotate_on,size_on);
		return;
	}
	
	if (state.model.bone) {
		if (model_wind_bone_click(pnt,double_click)) return;
	}
	
	if (state.model.hit_box) {
		model_wind_hit_box_click(pnt);
		return;
	}
	
		// drag selections if no
		// double click
		
	if (!double_click) select_model_wind(pnt);
}