r13763 - in /desktop/unstable/gnome-mag/debian: changelog patches/99_colorblind.patch
ruoso at users.alioth.debian.org
ruoso at users.alioth.debian.org
Wed Dec 5 20:20:15 UTC 2007
Author: ruoso
Date: Wed Dec 5 20:20:14 2007
New Revision: 13763
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=13763
Log:
[gnome-mag] Adding a patch that fixes colorblind management in gnome-mag
Added:
desktop/unstable/gnome-mag/debian/patches/99_colorblind.patch
Modified:
desktop/unstable/gnome-mag/debian/changelog
Modified: desktop/unstable/gnome-mag/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-mag/debian/changelog?rev=13763&op=diff
==============================================================================
--- desktop/unstable/gnome-mag/debian/changelog (original)
+++ desktop/unstable/gnome-mag/debian/changelog Wed Dec 5 20:20:14 2007
@@ -3,8 +3,9 @@
* Adpopting package as requested by kov.
* New Upstream Release
* Installs colorblind-applet and its libraries
-
- -- Daniel Ruoso <daniel at ruoso.com> Mon, 24 Sep 2007 10:52:32 +0100
+ * Includes 99_colorblind.patch with some fixes
+
+ -- Daniel Ruoso <daniel at ruoso.com> Wed, 05 Dec 2007 20:16:18 +0000
gnome-mag (1:0.14.6-1) unstable; urgency=low
Added: desktop/unstable/gnome-mag/debian/patches/99_colorblind.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-mag/debian/patches/99_colorblind.patch?rev=13763&op=file
==============================================================================
--- desktop/unstable/gnome-mag/debian/patches/99_colorblind.patch (added)
+++ desktop/unstable/gnome-mag/debian/patches/99_colorblind.patch Wed Dec 5 20:20:14 2007
@@ -1,0 +1,207 @@
+Make a little optimization and fix in the colorblind management code
+and fix the colorblind applet
+
+
+diff -uNard gnome-mag-0.14.10.old/colorblind/ColorblindApplet.py gnome-mag-0.14.10/colorblind/ColorblindApplet.py
+--- gnome-mag-0.14.10.old/colorblind/ColorblindApplet.py 2007-09-10 19:21:58.000000000 +0100
++++ gnome-mag-0.14.10/colorblind/ColorblindApplet.py 2007-12-05 20:11:10.000000000 +0000
+@@ -13,7 +13,8 @@
+ _magnifierAvailable = False
+
+ try:
+- ORBit.load_typelib ('Accessibility')
++ #we don't seem to need this
++ #ORBit.load_typelib ('Accessibility')
+ ORBit.load_typelib ('GNOME_Magnifier')
+ import GNOME.Magnifier
+ _magnifierAvailable = True
+@@ -64,6 +65,12 @@
+ ])
+ self.on_change_size (self.applet)
+ self.applet.show_all()
++
++ def _init_magnifier():
++ ORBit.load_typelib ('GNOME_Magnifier')
++ import GNOME.Magnifier
++ _magnifierAvailable = True
++
+
+ def get_instance():
+ return ColorblindApplet.__instance
+@@ -137,6 +144,8 @@
+ colorblind.GCONF_CLIENT.set_int (colorblind.GCONF_DEFAULT_FILTER, af)
+ else:
+ self.activate_magnifier ()
++ else:
++ self._init_magnifier()
+
+ def next_filter (self):
+ cb_filter = colorblind.GCONF_CLIENT.get_int (colorblind.GCONF_COLORBLIND_FILTER)
+@@ -148,7 +157,7 @@
+ bonobo.pbclient_set_short (self.zoomerPBag, "color-blind-filter", cb_filter)
+
+ def on_keybinding_button_press(self, widget, str):
+- print "Keybinding activated"
++ print "Keybinding activated ", str
+ if str == "on_off":
+ self.enable_disable_filters ()
+ elif str == "switch":
+diff -uNard gnome-mag-0.14.10.old/magnifier/zoom-region.c gnome-mag-0.14.10/magnifier/zoom-region.c
+--- gnome-mag-0.14.10.old/magnifier/zoom-region.c 2007-09-08 17:23:57.000000000 +0100
++++ gnome-mag-0.14.10/magnifier/zoom-region.c 2007-12-05 20:11:17.000000000 +0000
+@@ -121,6 +121,12 @@
+ ZOOM_REGION_ERROR_TOO_BIG
+ } ZoomRegionPixmapCreationError;
+
++#ifdef HAVE_COLORBLIND
++static COLORBLIND_RUNTIME *cbr = NULL;
++static COLORBLIND_XCOLOR *color = NULL;
++#endif /* HAVE_COLORBLIND */
++
++
+ static float timing_scale_max = 0;
+ static float timing_idle_max = 0;
+ static float timing_frame_max = 0;
+@@ -1542,10 +1548,6 @@
+ int n_channels = gdk_pixbuf_get_n_channels (pixbuf);
+ guchar *pixels = gdk_pixbuf_get_pixels (pixbuf);
+ guchar *pixels_row;
+-#ifdef HAVE_COLORBLIND
+- COLORBLIND_RUNTIME *cbr;
+- COLORBLIND_XCOLOR *color;
+-#endif /* HAVE_COLORBLIND */
+
+ gboolean manipulate_contrast = FALSE;
+ gboolean manipulate_brightness = FALSE;
+@@ -1565,45 +1567,6 @@
+ if (zoom_region->color_blind_filter !=
+ GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_NO_FILTER) {
+ color_blind_filter = TRUE;
+- cbr = colorblind_create ();
+- color = malloc (sizeof (COLORBLIND_XCOLOR));
+- switch (zoom_region->color_blind_filter) {
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_NO_FILTER:
+- break; /* This entry is only to avoid a warning */
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_RED:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate_red);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_GREEN:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate_green);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_BLUE:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate_blue);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_RED:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate_red);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_GREEN:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate_green);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_BLUE:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate_blue);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_HUE_SHIFT_POSITIVE:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_hue_shift_positive);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_HUE_SHIFT_NEGATIVE:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_hue_shift_negative);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate);
+- break;
+- case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_MONOCHRONE_OTHERS:
+- colorblind_set_filter_type (cbr, colorblind_filter_t_monochrome_others);
+- break;
+- }
+ }
+ #endif /* HAVE_COLORBLIND */
+
+@@ -1672,6 +1635,7 @@
+ }
+ pixels += rowstride;
+ }
++
+ }
+
+ static void
+@@ -2516,6 +2480,45 @@
+ break;
+ case ZOOM_REGION_COLORBLIND_PROP:
+ zoom_region->color_blind_filter = BONOBO_ARG_GET_SHORT (arg);
++
++ switch (zoom_region->color_blind_filter) {
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_NO_FILTER:
++ break; /* This entry is only to avoid a warning */
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_RED:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate_red);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_GREEN:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate_green);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_BLUE:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate_blue);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_RED:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate_red);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_GREEN:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate_green);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_BLUE:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate_blue);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_HUE_SHIFT_POSITIVE:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_hue_shift_positive);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_HUE_SHIFT_NEGATIVE:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_hue_shift_negative);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_saturate);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_selective_dessaturate);
++ break;
++ case GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_MONOCHRONE_OTHERS:
++ colorblind_set_filter_type (cbr, colorblind_filter_t_monochrome_others);
++ break;
++ }
++
+ zoom_region_update_current (zoom_region);
+ break;
+ case ZOOM_REGION_SMOOTHING_PROP:
+@@ -3511,11 +3514,18 @@
+ priv->update_handler_id = 0;
+ }
+
++
++
+ static void
+ zoom_region_init (ZoomRegion *zoom_region)
+ {
+ DBG(g_message ("initializing region %p", zoom_region));
+
++#ifdef HAVE_COLORBLIND
++ cbr = colorblind_create();
++ color = malloc (sizeof (COLORBLIND_XCOLOR));
++#endif /* HAVE_COLORBLIND */
++
+ zoom_region_properties_init (zoom_region);
+ zoom_region->draw_cursor = TRUE;
+ zoom_region->smooth_scroll_policy =
+@@ -3591,6 +3601,12 @@
+ g_object_unref (zoom_region->priv->cursor_backing_pixels);
+ g_free (zoom_region->priv);
+ zoom_region->priv = NULL;
++
++#ifdef HAVE_COLORBLIND
++ free(cbr);
++ free(color);
++#endif /* HAVE_COLORBLIND */
++
+ #ifdef ZOOM_REGION_DEBUG
+ zoom_region->alive = FALSE;
+ #endif
More information about the pkg-gnome-commits
mailing list