--- gimp-painter--2.6.6/app_20090618/dialogs/about-dialog.c 2009-06-17 23:31:40 +0900 +++ gimp-painter--2.6.6/app/dialogs/about-dialog.c 2009-06-25 03:46:22 +0900 @@ -609,7 +609,7 @@ gtk_widget_show (label); #endif - label = gtk_label_new (_("gimp-painter- (release 20090618)")); + label = gtk_label_new (_("gimp-painter- (release 20090625)")); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_box_reorder_child (GTK_BOX (vbox), label, 2); gtk_widget_show (label); --- gimp-painter--2.6.6/app_20090618/dialogs/preferences-dialog.c 2009-06-16 23:51:05 +0900 +++ gimp-painter--2.6.6/app/dialogs/preferences-dialog.c 2009-06-25 05:02:47 +0900 @@ -1978,9 +1978,10 @@ vbox2 = prefs_frame_new (_("Appearance"), GTK_CONTAINER (vbox), FALSE); - prefs_check_button_add (object, "toolbox-wilber", - _("Show _Wilber"), - GTK_BOX (vbox2)); + prefs_check_button_add_with_icon (object, "toolbox-wilber", + _("Show _Wilber"), + GIMP_STOCK_WILBER, + GTK_BOX (vbox2), size_group); prefs_check_button_add_with_icon (object, "toolbox-color-area", _("Show _foreground & background color"), @@ -2416,6 +2417,14 @@ g_object_unref (size_group); size_group = NULL; + /* Zoom Quality */ + vbox2 = prefs_frame_new (_("Zoomed-out View"), GTK_CONTAINER (vbox), FALSE); + table = prefs_table_new (1, GTK_CONTAINER (vbox2)); + + prefs_enum_combo_box_add (object, "zoom-quality", 0, 0, + _("_Quality:"), + GTK_TABLE (table), 0, NULL); + /**********************/ /* Color Management */ @@ -2594,16 +2603,21 @@ g_object_set_data (G_OBJECT (button), "clear-button", button2); /* Device coords */ - vbox2 = prefs_frame_new (_("Use system coords"), + vbox2 = prefs_frame_new (_("Use System Coords"), GTK_CONTAINER (vbox), FALSE); - prefs_check_button_add (object, "system-coords-stylus", - _("_Stylus and Eraser"), - GTK_BOX (vbox2)); - - prefs_check_button_add (object, "system-coords-puck", - _("_Mouse and Lens Cursor"), - GTK_BOX (vbox2)); + button = prefs_check_button_add (object, "system-coords-stylus", + _("_Stylus and Eraser"), + GTK_BOX (vbox2)); + + button2 = prefs_check_button_add (object, "system-coords-puck", + _("_Mouse and Lens Cursor"), + GTK_BOX (vbox2)); + +#ifndef G_OS_WIN32 + gtk_widget_set_sensitive (button, FALSE); + gtk_widget_set_sensitive (button2, FALSE); +#endif /****************************/ --- gimp-painter--2.6.6/app_20090618/display/gimpdisplayshell-callbacks.c 2009-03-17 10:42:37 +0900 +++ gimp-painter--2.6.6/app/display/gimpdisplayshell-callbacks.c 2009-06-25 03:35:00 +0900 @@ -32,6 +32,7 @@ #include "tools/tools-types.h" #include "config/gimpdisplayconfig.h" +#include "config/gimpguiconfig.h" #include "core/gimp.h" #include "core/gimpcontext.h" @@ -1751,6 +1752,30 @@ } +gboolean +gimp_display_shell_motion_notify (GimpDisplayShell *shell, + GdkEventMotion *event) +{ + GimpGuiConfig *gui_config = shell->display->gui_config; + GdkDevice *device = event->device; + + if ((gui_config->system_coords_stylus && + (device->source == GDK_SOURCE_PEN || device->source == GDK_SOURCE_ERASER))|| + (gui_config->system_coords_puck && device->source == GDK_SOURCE_CURSOR)) + { + GdkDevice *core_pointer = gdk_device_get_core_pointer (); + gdouble axes[GDK_AXIS_LAST]; + + gdk_device_get_state (core_pointer, shell->canvas->window, axes, NULL); + + gdk_device_get_axis (core_pointer, axes, GDK_AXIS_X, &event->x); + gdk_device_get_axis (core_pointer, axes, GDK_AXIS_Y, &event->y); + } + + return FALSE; +} + + /* private functions */ static void --- gimp-painter--2.6.6.orig/app/display/gimpdisplayshell-callbacks.h 2008-11-21 07:43:04 +0900 +++ gimp-painter--2.6.6/app/display/gimpdisplayshell-callbacks.h 2009-06-24 16:51:00 +0900 @@ -57,5 +57,8 @@ GdkEventButton *bevent, GimpDisplayShell *shell); +gboolean gimp_display_shell_motion_notify (GimpDisplayShell *shell, + GdkEventMotion *event); + #endif /* __GIMP_DISPLAY_SHELL_CALLBACKS_H__ */ --- gimp-painter--2.6.6.orig/app/display/gimpdisplayshell-coords.c 2009-06-18 00:05:37 +0900 +++ gimp-painter--2.6.6/app/display/gimpdisplayshell-coords.c 2009-06-25 03:20:02 +0900 @@ -43,6 +43,7 @@ { if (gdk_event_get_axis (event, GDK_AXIS_X, &coords->x)) { +#ifdef G_OS_WIN32 GimpGuiConfig *gui_config = shell->display->gui_config; if ((gui_config->system_coords_stylus && @@ -56,9 +57,15 @@ gdk_device_get_axis (core_pointer, axes, GDK_AXIS_X, &coords->x); gdk_device_get_axis (core_pointer, axes, GDK_AXIS_Y, &coords->y); + + event->motion.x = coords->x; + event->motion.y = coords->y; } else gdk_event_get_axis (event, GDK_AXIS_Y, &coords->y); +#else + gdk_event_get_axis (event, GDK_AXIS_Y, &coords->y); +#endif /* CLAMP() the return value of each *_get_axis() call to be safe * against buggy XInput drivers. Provide default values if the @@ -104,17 +111,21 @@ { gdouble axes[GDK_AXIS_LAST]; +#ifdef G_OS_WIN32 GimpGuiConfig *gui_config = shell->display->gui_config; +#endif gdk_device_get_state (device, shell->canvas->window, axes, NULL); +#ifdef G_OS_WIN32 if ((gui_config->system_coords_stylus && - (device->source == GDK_SOURCE_PEN || device->source == GDK_SOURCE_ERASER))|| + (device->source == GDK_SOURCE_PEN || device->source == GDK_SOURCE_ERASER)) || (gui_config->system_coords_puck && device->source == GDK_SOURCE_CURSOR)) { gdk_device_get_state (gdk_device_get_core_pointer (), shell->canvas->window, axes, NULL); } +#endif gdk_device_get_axis (device, axes, GDK_AXIS_X, &coords->x); gdk_device_get_axis (device, axes, GDK_AXIS_Y, &coords->y); --- gimp-painter--2.6.6.orig/app/display/gimpdisplayshell.c 2009-06-18 00:28:50 +0900 +++ gimp-painter--2.6.6/app/display/gimpdisplayshell.c 2009-06-25 18:03:38 +0900 @@ -33,7 +33,6 @@ #include "config/gimpcoreconfig.h" #include "config/gimpdisplayconfig.h" -#include "config/gimpguiconfig.h" #include "core/gimp.h" #include "core/gimpchannel.h" @@ -143,9 +142,6 @@ (GimpColorManaged *managed, gsize *len); -static gboolean gimp_display_shell_motion_notify (GimpDisplayShell *shell, - GdkEventMotion *event); - G_DEFINE_TYPE_WITH_CODE (GimpDisplayShell, gimp_display_shell, GIMP_TYPE_WINDOW, G_IMPLEMENT_INTERFACE (GIMP_TYPE_PROGRESS, @@ -1048,25 +1044,30 @@ gimp_display_shell_dnd_init (shell); gimp_display_shell_selection_init (shell); +#ifdef G_OS_WIN32 /* Modify the x-y coords of motion event before invoking rulers' default handler */ g_signal_connect_swapped (shell->canvas, "motion-notify-event", G_CALLBACK (gimp_display_shell_motion_notify), shell); +#endif + /* the horizontal ruler */ shell->hrule = gimp_ruler_new (GTK_ORIENTATION_HORIZONTAL); gtk_widget_set_events (GTK_WIDGET (shell->hrule), GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); +#ifdef G_OS_WIN32 + g_signal_connect_swapped (shell->hrule, "motion-notify-event", + G_CALLBACK (gimp_display_shell_motion_notify), + shell); +#endif g_signal_connect_swapped (shell->canvas, "motion-notify-event", G_CALLBACK (GTK_WIDGET_GET_CLASS (shell->hrule)->motion_notify_event), shell->hrule); g_signal_connect (shell->hrule, "button-press-event", G_CALLBACK (gimp_display_shell_hruler_button_press), shell); - g_signal_connect_swapped (shell->hrule, "motion-notify-event", - G_CALLBACK (gimp_display_shell_motion_notify), - shell); gimp_help_set_help_data (shell->hrule, NULL, GIMP_HELP_IMAGE_WINDOW_RULER); @@ -1075,15 +1076,17 @@ gtk_widget_set_events (GTK_WIDGET (shell->vrule), GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); +#ifdef G_OS_WIN32 + g_signal_connect_swapped (shell->vrule, "motion-notify-event", + G_CALLBACK (gimp_display_shell_motion_notify), + shell); +#endif g_signal_connect_swapped (shell->canvas, "motion-notify-event", G_CALLBACK (GTK_WIDGET_GET_CLASS (shell->vrule)->motion_notify_event), shell->vrule); g_signal_connect (shell->vrule, "button-press-event", G_CALLBACK (gimp_display_shell_vruler_button_press), shell); - g_signal_connect_swapped (shell->vrule, "motion-notify-event", - G_CALLBACK (gimp_display_shell_motion_notify), - shell); gimp_help_set_help_data (shell->vrule, NULL, GIMP_HELP_IMAGE_WINDOW_RULER); @@ -2059,28 +2062,3 @@ gimp_display_shell_expose_full (shell); } - - -static gboolean -gimp_display_shell_motion_notify (GimpDisplayShell *shell, - GdkEventMotion *event) -{ - GimpGuiConfig *gui_config = shell->display->gui_config; - GdkDevice *device = event->device; - - if ((gui_config->system_coords_stylus && - (device->source == GDK_SOURCE_PEN || device->source == GDK_SOURCE_ERASER))|| - (gui_config->system_coords_puck && device->source == GDK_SOURCE_CURSOR)) - { - GdkDevice *core_pointer = gdk_device_get_core_pointer (); - gdouble axes[GDK_AXIS_LAST]; - - gdk_device_get_state (core_pointer, shell->canvas->window, axes, NULL); - - gdk_device_get_axis (core_pointer, axes, GDK_AXIS_X, &event->x); - gdk_device_get_axis (core_pointer, axes, GDK_AXIS_Y, &event->y); - } - - return FALSE; -} -