[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Fri Jun 25 11:02:53 UTC 2021
vcl/unx/gtk3/gtkdata.cxx | 93 +++++++++++++++++++++++++++--------------------
1 file changed, 54 insertions(+), 39 deletions(-)
New commits:
commit 8242ca4c87428b8c107f9c7ce34797a72ac45cc8
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jun 24 14:37:38 2021 +0100
Commit: Caolán McNamara <caolanm at 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 <caolanm at 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 );
More information about the Libreoffice-commits
mailing list