vcl/unx/gtk3/gtkdata.cxx | 93 +++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 39 deletions(-)
New commits: commit 8242ca4c87428b8c107f9c7ce34797a72ac45cc8 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Jun 24 14:37:38 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Jun 25 13:02:11 2021 +0200 gtk4: use css-cursors where it seems to fit see: https://drafts.csswg.org/css-ui-3/#cursor and: https://bugzilla.gnome.org/show_bug.cgi?id=652085 Change-Id: I990b807b685283e12785c90c90cd0f8e658b062e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117796 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtkdata.cxx b/vcl/unx/gtk3/gtkdata.cxx index 65be8189d3f0..426a27219bf2 100644 --- a/vcl/unx/gtk3/gtkdata.cxx +++ b/vcl/unx/gtk3/gtkdata.cxx @@ -141,15 +141,14 @@ GdkCursor* GtkSalDisplay::getFromSvg(OUString const & name, int nXHot, int nYHot break #if !GTK_CHECK_VERSION(4, 0, 0) -#define MAP_BUILTIN( vcl_name, gdk_name ) \ +#define MAP_BUILTIN( vcl_name, gdk3_name, css_name ) \ case vcl_name: \ - pCursor = gdk_cursor_new_for_display( m_pGdkDisplay, gdk_name ); \ + pCursor = gdk_cursor_new_for_display( m_pGdkDisplay, gdk3_name ); \ break #else -// TODO, the rest of these -#define MAP_BUILTIN( vcl_name, gdk_name ) \ +#define MAP_BUILTIN( vcl_name, gdk3_name, css_name ) \ case vcl_name: \ - pCursor = gdk_cursor_new_from_name("normal", nullptr); \ + pCursor = gdk_cursor_new_from_name(css_name, nullptr); \ break #endif @@ -161,45 +160,55 @@ GdkCursor *GtkSalDisplay::getCursor( PointerStyle ePointerStyle ) switch( ePointerStyle ) { - MAP_BUILTIN( PointerStyle::Arrow, GDK_LEFT_PTR ); - MAP_BUILTIN( PointerStyle::Text, GDK_XTERM ); - MAP_BUILTIN( PointerStyle::Help, GDK_QUESTION_ARROW ); - MAP_BUILTIN( PointerStyle::Cross, GDK_CROSSHAIR ); - MAP_BUILTIN( PointerStyle::Wait, GDK_WATCH ); + MAP_BUILTIN( PointerStyle::Arrow, GDK_LEFT_PTR, "default" ); + MAP_BUILTIN( PointerStyle::Text, GDK_XTERM, "text" ); + MAP_BUILTIN( PointerStyle::Help, GDK_QUESTION_ARROW, "help" ); + MAP_BUILTIN( PointerStyle::Cross, GDK_CROSSHAIR, "crosshair" ); + MAP_BUILTIN( PointerStyle::Wait, GDK_WATCH, "wait" ); + + MAP_BUILTIN( PointerStyle::NSize, GDK_SB_V_DOUBLE_ARROW, "n-resize" ); + MAP_BUILTIN( PointerStyle::SSize, GDK_SB_V_DOUBLE_ARROW, "s-resize" ); + MAP_BUILTIN( PointerStyle::WSize, GDK_SB_H_DOUBLE_ARROW, "w-resize" ); + MAP_BUILTIN( PointerStyle::ESize, GDK_SB_H_DOUBLE_ARROW, "e-resize" ); + + MAP_BUILTIN( PointerStyle::NWSize, GDK_TOP_LEFT_CORNER, "nw-resize" ); + MAP_BUILTIN( PointerStyle::NESize, GDK_TOP_RIGHT_CORNER, "ne-resize" ); + MAP_BUILTIN( PointerStyle::SWSize, GDK_BOTTOM_LEFT_CORNER, "sw-resize" ); + MAP_BUILTIN( PointerStyle::SESize, GDK_BOTTOM_RIGHT_CORNER, "se-resize" ); + + MAP_BUILTIN( PointerStyle::WindowNSize, GDK_TOP_SIDE, "n-resize" ); + MAP_BUILTIN( PointerStyle::WindowSSize, GDK_BOTTOM_SIDE, "s-resize" ); + MAP_BUILTIN( PointerStyle::WindowWSize, GDK_LEFT_SIDE, "w-resize" ); + MAP_BUILTIN( PointerStyle::WindowESize, GDK_RIGHT_SIDE, "e-resize" ); + + MAP_BUILTIN( PointerStyle::WindowNWSize, GDK_TOP_LEFT_CORNER, "nw-resize" ); + MAP_BUILTIN( PointerStyle::WindowNESize, GDK_TOP_RIGHT_CORNER, "ne-resize" ); + MAP_BUILTIN( PointerStyle::WindowSWSize, GDK_BOTTOM_LEFT_CORNER, "sw-resize" ); + MAP_BUILTIN( PointerStyle::WindowSESize, GDK_BOTTOM_RIGHT_CORNER, "se-resize" ); + + MAP_BUILTIN( PointerStyle::HSizeBar, GDK_SB_H_DOUBLE_ARROW, "col-resize" ); + MAP_BUILTIN( PointerStyle::VSizeBar, GDK_SB_V_DOUBLE_ARROW, "row-resize" ); + + MAP_BUILTIN( PointerStyle::RefHand, GDK_HAND2, "grab" ); + MAP_BUILTIN( PointerStyle::Hand, GDK_HAND2, "grab" ); - MAP_BUILTIN( PointerStyle::NSize, GDK_SB_V_DOUBLE_ARROW ); - MAP_BUILTIN( PointerStyle::SSize, GDK_SB_V_DOUBLE_ARROW ); - MAP_BUILTIN( PointerStyle::WSize, GDK_SB_H_DOUBLE_ARROW ); - MAP_BUILTIN( PointerStyle::ESize, GDK_SB_H_DOUBLE_ARROW ); - - MAP_BUILTIN( PointerStyle::NWSize, GDK_TOP_LEFT_CORNER ); - MAP_BUILTIN( PointerStyle::NESize, GDK_TOP_RIGHT_CORNER ); - MAP_BUILTIN( PointerStyle::SWSize, GDK_BOTTOM_LEFT_CORNER ); - MAP_BUILTIN( PointerStyle::SESize, GDK_BOTTOM_RIGHT_CORNER ); - - MAP_BUILTIN( PointerStyle::WindowNSize, GDK_TOP_SIDE ); - MAP_BUILTIN( PointerStyle::WindowSSize, GDK_BOTTOM_SIDE ); - MAP_BUILTIN( PointerStyle::WindowWSize, GDK_LEFT_SIDE ); - MAP_BUILTIN( PointerStyle::WindowESize, GDK_RIGHT_SIDE ); - - MAP_BUILTIN( PointerStyle::WindowNWSize, GDK_TOP_LEFT_CORNER ); - MAP_BUILTIN( PointerStyle::WindowNESize, GDK_TOP_RIGHT_CORNER ); - MAP_BUILTIN( PointerStyle::WindowSWSize, GDK_BOTTOM_LEFT_CORNER ); - MAP_BUILTIN( PointerStyle::WindowSESize, GDK_BOTTOM_RIGHT_CORNER ); - - MAP_BUILTIN( PointerStyle::HSizeBar, GDK_SB_H_DOUBLE_ARROW ); - MAP_BUILTIN( PointerStyle::VSizeBar, GDK_SB_V_DOUBLE_ARROW ); - - MAP_BUILTIN( PointerStyle::RefHand, GDK_HAND2 ); - MAP_BUILTIN( PointerStyle::Hand, GDK_HAND2 ); - MAP_BUILTIN( PointerStyle::Pen, GDK_PENCIL ); +#if !GTK_CHECK_VERSION(4, 0, 0) + MAP_BUILTIN( PointerStyle::Pen, GDK_PENCIL, "" ); +#else + MAKE_CURSOR( PointerStyle::Pen, pen_, RID_CURSOR_PEN ); +#endif - MAP_BUILTIN( PointerStyle::HSplit, GDK_SB_H_DOUBLE_ARROW ); - MAP_BUILTIN( PointerStyle::VSplit, GDK_SB_V_DOUBLE_ARROW ); + MAP_BUILTIN( PointerStyle::HSplit, GDK_SB_H_DOUBLE_ARROW, "col-resize" ); + MAP_BUILTIN( PointerStyle::VSplit, GDK_SB_V_DOUBLE_ARROW, "row-resize" ); - MAP_BUILTIN( PointerStyle::Move, GDK_FLEUR ); + MAP_BUILTIN( PointerStyle::Move, GDK_FLEUR, "move" ); +#if !GTK_CHECK_VERSION(4, 0, 0) MAKE_CURSOR( PointerStyle::Null, null, RID_CURSOR_NULL ); +#else + MAP_BUILTIN( PointerStyle::Null, 0, "none" ); +#endif + MAKE_CURSOR( PointerStyle::Magnify, magnify_, RID_CURSOR_MAGNIFY ); MAKE_CURSOR( PointerStyle::Fill, fill_, RID_CURSOR_FILL ); MAKE_CURSOR( PointerStyle::MoveData, movedata_, RID_CURSOR_MOVE_DATA ); @@ -208,7 +217,13 @@ GdkCursor *GtkSalDisplay::getCursor( PointerStyle ePointerStyle ) MAKE_CURSOR( PointerStyle::CopyFile, copyfile_, RID_CURSOR_COPY_FILE ); MAKE_CURSOR( PointerStyle::MoveFiles, movefiles_, RID_CURSOR_MOVE_FILES ); MAKE_CURSOR( PointerStyle::CopyFiles, copyfiles_, RID_CURSOR_COPY_FILES ); + +#if !GTK_CHECK_VERSION(4, 0, 0) MAKE_CURSOR( PointerStyle::NotAllowed, nodrop_, RID_CURSOR_NOT_ALLOWED ); +#else + MAP_BUILTIN( PointerStyle::NotAllowed, 0, "not-allowed" ); +#endif + MAKE_CURSOR( PointerStyle::Rotate, rotate_, RID_CURSOR_ROTATE ); MAKE_CURSOR( PointerStyle::HShear, hshear_, RID_CURSOR_H_SHEAR ); MAKE_CURSOR( PointerStyle::VShear, vshear_, RID_CURSOR_V_SHEAR ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits