ctrl=face selector m2=cycle
This commit is contained in:
parent
91f0982380
commit
4616fea08c
|
|
@ -800,7 +800,7 @@ void Camera_setAngles( CamWnd& camwnd, const Vector3& angles ){
|
||||||
// CamWnd class
|
// CamWnd class
|
||||||
|
|
||||||
gboolean enable_freelook_button_press( GtkWidget* widget, GdkEventButton* event, CamWnd* camwnd ){
|
gboolean enable_freelook_button_press( GtkWidget* widget, GdkEventButton* event, CamWnd* camwnd ){
|
||||||
if ( event->type == GDK_BUTTON_PRESS && event->button == 3 ) {
|
if ( event->type == GDK_BUTTON_PRESS && event->button == 3 && modifiers_for_state( event->state ) == c_modifierNone ) {
|
||||||
camwnd->EnableFreeMove();
|
camwnd->EnableFreeMove();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
@ -808,7 +808,7 @@ gboolean enable_freelook_button_press( GtkWidget* widget, GdkEventButton* event,
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean disable_freelook_button_press( GtkWidget* widget, GdkEventButton* event, CamWnd* camwnd ){
|
gboolean disable_freelook_button_press( GtkWidget* widget, GdkEventButton* event, CamWnd* camwnd ){
|
||||||
if ( event->type == GDK_BUTTON_PRESS && event->button == 3 ) {
|
if ( event->type == GDK_BUTTON_PRESS && event->button == 3 && modifiers_for_state( event->state ) == c_modifierNone ) {
|
||||||
camwnd->DisableFreeMove();
|
camwnd->DisableFreeMove();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2780,11 +2780,12 @@ void SelectPoint( const View& view, const float device_point[2], const float dev
|
||||||
deselectAll();
|
deselectAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
//nothingSelected() doesn't consider faces, selected in non-component mode, m
|
||||||
if ( modifier == eCycle && nothingSelected() ){
|
if ( modifier == eCycle && nothingSelected() ){
|
||||||
modifier = eReplace;
|
modifier = eReplace;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
#if defined ( DEBUG_SELECTION )
|
#if defined ( DEBUG_SELECTION )
|
||||||
g_render_clipped.destroy();
|
g_render_clipped.destroy();
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -3494,11 +3495,13 @@ const ModifierFlags c_modifier_copy_texture = c_modifierNone;
|
||||||
class Selector_
|
class Selector_
|
||||||
{
|
{
|
||||||
RadiantSelectionSystem::EModifier modifier_for_state( ModifierFlags state ){
|
RadiantSelectionSystem::EModifier modifier_for_state( ModifierFlags state ){
|
||||||
if ( state == c_modifier_toggle || state == c_modifier_toggle_face ) {
|
if ( ( state == c_modifier_toggle || state == c_modifier_toggle_face || state == c_modifier_face ) ) {
|
||||||
return RadiantSelectionSystem::eToggle;
|
if( m_mouse2 ){
|
||||||
}
|
return RadiantSelectionSystem::eReplace;
|
||||||
if ( state == c_modifier_replace || state == c_modifier_replace_face ) {
|
}
|
||||||
return RadiantSelectionSystem::eReplace;
|
else{
|
||||||
|
return RadiantSelectionSystem::eToggle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return RadiantSelectionSystem::eManipulator;
|
return RadiantSelectionSystem::eManipulator;
|
||||||
}
|
}
|
||||||
|
|
@ -3520,10 +3523,11 @@ DeviceVector m_start;
|
||||||
DeviceVector m_current;
|
DeviceVector m_current;
|
||||||
DeviceVector m_epsilon;
|
DeviceVector m_epsilon;
|
||||||
ModifierFlags m_state;
|
ModifierFlags m_state;
|
||||||
|
bool m_mouse2;
|
||||||
const View* m_view;
|
const View* m_view;
|
||||||
RectangleCallback m_window_update;
|
RectangleCallback m_window_update;
|
||||||
|
|
||||||
Selector_() : m_start( 0.0f, 0.0f ), m_current( 0.0f, 0.0f ), m_state( c_modifierNone ){
|
Selector_() : m_start( 0.0f, 0.0f ), m_current( 0.0f, 0.0f ), m_state( c_modifierNone ), m_mouse2( false ){
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_area(){
|
void draw_area(){
|
||||||
|
|
@ -3666,7 +3670,7 @@ void onSizeChanged( int width, int height ){
|
||||||
m_selector.m_epsilon = m_manipulator.m_epsilon = epsilon;
|
m_selector.m_epsilon = m_manipulator.m_epsilon = epsilon;
|
||||||
}
|
}
|
||||||
void onMouseDown( const WindowVector& position, ButtonIdentifier button, ModifierFlags modifiers ){
|
void onMouseDown( const WindowVector& position, ButtonIdentifier button, ModifierFlags modifiers ){
|
||||||
if ( button == c_button_select ) {
|
if ( button == c_button_select || ( button == c_button_select2 && modifiers != c_modifierNone ) ) {
|
||||||
m_mouse_down = true;
|
m_mouse_down = true;
|
||||||
|
|
||||||
DeviceVector devicePosition( window_to_normalised_device( position, m_width, m_height ) );
|
DeviceVector devicePosition( window_to_normalised_device( position, m_width, m_height ) );
|
||||||
|
|
@ -3677,6 +3681,12 @@ void onMouseDown( const WindowVector& position, ButtonIdentifier button, Modifie
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_selector.mouseDown( devicePosition );
|
m_selector.mouseDown( devicePosition );
|
||||||
|
if ( button == c_button_select ) {
|
||||||
|
m_selector.m_mouse2 = false;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
m_selector.m_mouse2 = true;
|
||||||
|
}
|
||||||
g_mouseMovedCallback.insert( MouseEventCallback( Selector_::MouseMovedCaller( m_selector ) ) );
|
g_mouseMovedCallback.insert( MouseEventCallback( Selector_::MouseMovedCaller( m_selector ) ) );
|
||||||
g_mouseUpCallback.insert( MouseEventCallback( Selector_::MouseUpCaller( m_selector ) ) );
|
g_mouseUpCallback.insert( MouseEventCallback( Selector_::MouseUpCaller( m_selector ) ) );
|
||||||
}
|
}
|
||||||
|
|
@ -3702,7 +3712,7 @@ void onMouseMotion( const WindowVector& position, ModifierFlags modifiers ){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void onMouseUp( const WindowVector& position, ButtonIdentifier button, ModifierFlags modifiers ){
|
void onMouseUp( const WindowVector& position, ButtonIdentifier button, ModifierFlags modifiers ){
|
||||||
if ( button == c_button_select && !g_mouseUpCallback.empty() ) {
|
if ( ( button == c_button_select || button == c_button_select2 ) && !g_mouseUpCallback.empty() ) {
|
||||||
m_mouse_down = false;
|
m_mouse_down = false;
|
||||||
|
|
||||||
g_mouseUpCallback.get() ( window_to_normalised_device( position, m_width, m_height ) );
|
g_mouseUpCallback.get() ( window_to_normalised_device( position, m_width, m_height ) );
|
||||||
|
|
|
||||||
|
|
@ -1216,7 +1216,7 @@ void XYWnd::Move_End(){
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int Zoom_buttons(){
|
unsigned int Zoom_buttons(){
|
||||||
return RAD_RBUTTON | RAD_SHIFT;
|
return RAD_RBUTTON | RAD_ALT;
|
||||||
}
|
}
|
||||||
|
|
||||||
int g_dragZoom = 0;
|
int g_dragZoom = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user