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); }
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); }