* texbro: show tags frame on M2 release after small or zero move to enable (m2 drag = scroll pan) with tags on
This commit is contained in:
parent
10c2b9bbd2
commit
7c5d79da6b
|
|
@ -286,6 +286,8 @@ bool m_rmbSelected;
|
||||||
bool m_searchedTags;
|
bool m_searchedTags;
|
||||||
bool m_tags;
|
bool m_tags;
|
||||||
bool m_move_started;
|
bool m_move_started;
|
||||||
|
int m_move_amount;
|
||||||
|
BasicVector2<int> m_move_start;
|
||||||
// The uniform size (in pixels) that textures are resized to when m_resizeTextures is true.
|
// The uniform size (in pixels) that textures are resized to when m_resizeTextures is true.
|
||||||
int m_uniformTextureSize;
|
int m_uniformTextureSize;
|
||||||
int m_uniformTextureMinSize;
|
int m_uniformTextureMinSize;
|
||||||
|
|
@ -1009,17 +1011,12 @@ void SelectTexture( TextureBrowser& textureBrowser, int mx, int my, guint32 flag
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void TextureBrowser_trackingDelta( int x, int y, unsigned int state, void* data ){
|
void TextureBrowser_trackingDelta( int x, int y, unsigned int state, void* data ){
|
||||||
TextureBrowser& textureBrowser = *reinterpret_cast<TextureBrowser*>( data );
|
|
||||||
if ( y != 0 ) {
|
if ( y != 0 ) {
|
||||||
int scale = 1;
|
TextureBrowser& textureBrowser = *reinterpret_cast<TextureBrowser*>( data );
|
||||||
|
const int scale = ( state & GDK_SHIFT_MASK )? 4 : 1;
|
||||||
if ( state & GDK_SHIFT_MASK ) {
|
const int originy = TextureBrowser_getOriginY( textureBrowser ) + y * scale;
|
||||||
scale = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
int originy = TextureBrowser_getOriginY( textureBrowser );
|
|
||||||
originy += y * scale;
|
|
||||||
TextureBrowser_setOriginY( textureBrowser, originy );
|
TextureBrowser_setOriginY( textureBrowser, originy );
|
||||||
|
textureBrowser.m_move_amount += y;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1035,6 +1032,7 @@ void TextureBrowser_Tracking_MouseDown( TextureBrowser& textureBrowser ){
|
||||||
TextureBrowser_Tracking_MouseUp( textureBrowser );
|
TextureBrowser_Tracking_MouseUp( textureBrowser );
|
||||||
}
|
}
|
||||||
textureBrowser.m_move_started = true;
|
textureBrowser.m_move_started = true;
|
||||||
|
textureBrowser.m_move_amount = 0;
|
||||||
textureBrowser.m_freezePointer.freeze_pointer( textureBrowser.m_parent, textureBrowser.m_gl_widget, TextureBrowser_trackingDelta, &textureBrowser );
|
textureBrowser.m_freezePointer.freeze_pointer( textureBrowser.m_parent, textureBrowser.m_gl_widget, TextureBrowser_trackingDelta, &textureBrowser );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1396,23 +1394,8 @@ gboolean TextureBrowser_button_press( GtkWidget* widget, GdkEventButton* event,
|
||||||
if ( event->type == GDK_BUTTON_PRESS ) {
|
if ( event->type == GDK_BUTTON_PRESS ) {
|
||||||
gtk_widget_grab_focus( widget );
|
gtk_widget_grab_focus( widget );
|
||||||
if ( event->button == 3 ) {
|
if ( event->button == 3 ) {
|
||||||
if ( GlobalTextureBrowser().m_tags ) {
|
TextureBrowser_Tracking_MouseDown( *textureBrowser );
|
||||||
textureBrowser->m_rmbSelected = true;
|
textureBrowser->m_move_start = BasicVector2<int>( event->x, event->y );
|
||||||
TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ), false );
|
|
||||||
|
|
||||||
BuildStoreAssignedTags( textureBrowser->m_assigned_store, textureBrowser->shader.c_str(), textureBrowser );
|
|
||||||
BuildStoreAvailableTags( textureBrowser->m_available_store, textureBrowser->m_assigned_store, textureBrowser->m_all_tags, textureBrowser );
|
|
||||||
textureBrowser->m_heightChanged = true;
|
|
||||||
gtk_widget_show( textureBrowser->m_tag_frame );
|
|
||||||
|
|
||||||
process_gui();
|
|
||||||
|
|
||||||
TextureBrowser_Focus( *textureBrowser, textureBrowser->shader.c_str() );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TextureBrowser_Tracking_MouseDown( *textureBrowser );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if ( event->button == 1 || event->button == 2 ) {
|
else if ( event->button == 1 || event->button == 2 ) {
|
||||||
TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ), event->button == 2 );
|
TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ), event->button == 2 );
|
||||||
|
|
@ -1445,11 +1428,22 @@ gboolean TextureBrowser_button_press( GtkWidget* widget, GdkEventButton* event,
|
||||||
gboolean TextureBrowser_button_release( GtkWidget* widget, GdkEventButton* event, TextureBrowser* textureBrowser ){
|
gboolean TextureBrowser_button_release( GtkWidget* widget, GdkEventButton* event, TextureBrowser* textureBrowser ){
|
||||||
if ( event->type == GDK_BUTTON_RELEASE ) {
|
if ( event->type == GDK_BUTTON_RELEASE ) {
|
||||||
if ( event->button == 3 ) {
|
if ( event->button == 3 ) {
|
||||||
if ( !GlobalTextureBrowser().m_tags ) {
|
TextureBrowser_Tracking_MouseUp( *textureBrowser );
|
||||||
TextureBrowser_Tracking_MouseUp( *textureBrowser );
|
if ( GlobalTextureBrowser().m_tags && std::abs( textureBrowser->m_move_amount ) < 16 ) {
|
||||||
|
textureBrowser->m_rmbSelected = true;
|
||||||
|
TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, textureBrowser->m_move_start.x(), textureBrowser->m_move_start.y(), false );
|
||||||
|
|
||||||
|
BuildStoreAssignedTags( textureBrowser->m_assigned_store, textureBrowser->shader.c_str(), textureBrowser );
|
||||||
|
BuildStoreAvailableTags( textureBrowser->m_available_store, textureBrowser->m_assigned_store, textureBrowser->m_all_tags, textureBrowser );
|
||||||
|
textureBrowser->m_heightChanged = true;
|
||||||
|
gtk_widget_show( textureBrowser->m_tag_frame );
|
||||||
|
|
||||||
|
process_gui();
|
||||||
|
|
||||||
|
TextureBrowser_Focus( *textureBrowser, textureBrowser->shader.c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( event->button == 1 ) {
|
else if ( event->button == 1 ) {
|
||||||
TextureBrowser_Selection_MouseUp( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ) );
|
TextureBrowser_Selection_MouseUp( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user