app: pass a GdkWindow not GdkDisplay to gimp_cursor_new()
Preparation for adding HiDPI cursors.
This commit is contained in:
@ -243,21 +243,24 @@ get_cursor_pixbuf (GimpCursor *cursor)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GdkCursor *
|
GdkCursor *
|
||||||
gimp_cursor_new (GdkDisplay *display,
|
gimp_cursor_new (GdkWindow *window,
|
||||||
GimpHandedness cursor_handedness,
|
GimpHandedness cursor_handedness,
|
||||||
GimpCursorType cursor_type,
|
GimpCursorType cursor_type,
|
||||||
GimpToolCursorType tool_cursor,
|
GimpToolCursorType tool_cursor,
|
||||||
GimpCursorModifier modifier)
|
GimpCursorModifier modifier)
|
||||||
{
|
{
|
||||||
|
GdkDisplay *display;
|
||||||
GimpCursor *bmcursor = NULL;
|
GimpCursor *bmcursor = NULL;
|
||||||
GimpCursor *bmmodifier = NULL;
|
GimpCursor *bmmodifier = NULL;
|
||||||
GimpCursor *bmtool = NULL;
|
GimpCursor *bmtool = NULL;
|
||||||
GdkCursor *cursor;
|
GdkCursor *cursor;
|
||||||
GdkPixbuf *pixbuf;
|
GdkPixbuf *pixbuf;
|
||||||
|
|
||||||
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
|
g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
|
||||||
g_return_val_if_fail (cursor_type < GIMP_CURSOR_LAST, NULL);
|
g_return_val_if_fail (cursor_type < GIMP_CURSOR_LAST, NULL);
|
||||||
|
|
||||||
|
display = gdk_window_get_display (window);
|
||||||
|
|
||||||
if (cursor_type <= (GimpCursorType) GDK_LAST_CURSOR)
|
if (cursor_type <= (GimpCursorType) GDK_LAST_CURSOR)
|
||||||
return gdk_cursor_new_for_display (display, (GdkCursorType) cursor_type);
|
return gdk_cursor_new_for_display (display, (GdkCursorType) cursor_type);
|
||||||
|
|
||||||
@ -411,20 +414,23 @@ gimp_cursor_set (GtkWidget *widget,
|
|||||||
GimpToolCursorType tool_cursor,
|
GimpToolCursorType tool_cursor,
|
||||||
GimpCursorModifier modifier)
|
GimpCursorModifier modifier)
|
||||||
{
|
{
|
||||||
|
GdkWindow *window;
|
||||||
GdkCursor *cursor;
|
GdkCursor *cursor;
|
||||||
|
|
||||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||||
g_return_if_fail (gtk_widget_get_realized (widget));
|
g_return_if_fail (gtk_widget_get_realized (widget));
|
||||||
|
|
||||||
cursor = gimp_cursor_new (gtk_widget_get_display (widget),
|
window = gtk_widget_get_window (widget);
|
||||||
|
|
||||||
|
cursor = gimp_cursor_new (window,
|
||||||
cursor_handedness,
|
cursor_handedness,
|
||||||
cursor_type,
|
cursor_type,
|
||||||
tool_cursor,
|
tool_cursor,
|
||||||
modifier);
|
modifier);
|
||||||
gdk_window_set_cursor (gtk_widget_get_window (widget), cursor);
|
gdk_window_set_cursor (window, cursor);
|
||||||
g_object_unref (cursor);
|
g_object_unref (cursor);
|
||||||
|
|
||||||
gdk_display_flush (gtk_widget_get_display (widget));
|
gdk_display_flush (gdk_window_get_display (window));
|
||||||
}
|
}
|
||||||
|
|
||||||
GimpCursorType
|
GimpCursorType
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define __GIMP_CURSOR_H__
|
#define __GIMP_CURSOR_H__
|
||||||
|
|
||||||
|
|
||||||
GdkCursor * gimp_cursor_new (GdkDisplay *display,
|
GdkCursor * gimp_cursor_new (GdkWindow *window,
|
||||||
GimpHandedness cursor_handedness,
|
GimpHandedness cursor_handedness,
|
||||||
GimpCursorType cursor_type,
|
GimpCursorType cursor_type,
|
||||||
GimpToolCursorType tool_cursor,
|
GimpToolCursorType tool_cursor,
|
||||||
|
@ -1553,9 +1553,7 @@ gimp_dialog_factory_show (GimpDialogFactory *factory)
|
|||||||
void
|
void
|
||||||
gimp_dialog_factory_set_busy (GimpDialogFactory *factory)
|
gimp_dialog_factory_set_busy (GimpDialogFactory *factory)
|
||||||
{
|
{
|
||||||
GdkDisplay *display = NULL;
|
GList *list;
|
||||||
GdkCursor *cursor = NULL;
|
|
||||||
GList *list;
|
|
||||||
|
|
||||||
if (! factory)
|
if (! factory)
|
||||||
return;
|
return;
|
||||||
@ -1566,27 +1564,20 @@ gimp_dialog_factory_set_busy (GimpDialogFactory *factory)
|
|||||||
|
|
||||||
if (GTK_IS_WIDGET (widget) && gtk_widget_is_toplevel (widget))
|
if (GTK_IS_WIDGET (widget) && gtk_widget_is_toplevel (widget))
|
||||||
{
|
{
|
||||||
if (!display || display != gtk_widget_get_display (widget))
|
GdkWindow *window = gtk_widget_get_window (widget);
|
||||||
|
|
||||||
|
if (window)
|
||||||
{
|
{
|
||||||
display = gtk_widget_get_display (widget);
|
GdkCursor *cursor = gimp_cursor_new (window,
|
||||||
|
GIMP_HANDEDNESS_RIGHT,
|
||||||
if (cursor)
|
(GimpCursorType) GDK_WATCH,
|
||||||
g_object_unref (cursor);
|
GIMP_TOOL_CURSOR_NONE,
|
||||||
|
GIMP_CURSOR_MODIFIER_NONE);
|
||||||
cursor = gimp_cursor_new (display,
|
gdk_window_set_cursor (window, cursor);
|
||||||
GIMP_HANDEDNESS_RIGHT,
|
g_object_unref (cursor);
|
||||||
(GimpCursorType) GDK_WATCH,
|
|
||||||
GIMP_TOOL_CURSOR_NONE,
|
|
||||||
GIMP_CURSOR_MODIFIER_NONE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gtk_widget_get_window (widget))
|
|
||||||
gdk_window_set_cursor (gtk_widget_get_window (widget), cursor);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cursor)
|
|
||||||
g_object_unref (cursor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1603,8 +1594,10 @@ gimp_dialog_factory_unset_busy (GimpDialogFactory *factory)
|
|||||||
|
|
||||||
if (GTK_IS_WIDGET (widget) && gtk_widget_is_toplevel (widget))
|
if (GTK_IS_WIDGET (widget) && gtk_widget_is_toplevel (widget))
|
||||||
{
|
{
|
||||||
if (gtk_widget_get_window (widget))
|
GdkWindow *window = gtk_widget_get_window (widget);
|
||||||
gdk_window_set_cursor (gtk_widget_get_window (widget), NULL);
|
|
||||||
|
if (window)
|
||||||
|
gdk_window_set_cursor (window, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user