diff options
Diffstat (limited to 'src/sugar3/graphics/icon.py')
-rw-r--r-- | src/sugar3/graphics/icon.py | 442 |
1 files changed, 3 insertions, 439 deletions
diff --git a/src/sugar3/graphics/icon.py b/src/sugar3/graphics/icon.py index 6b58c1e..3b10f8a 100644 --- a/src/sugar3/graphics/icon.py +++ b/src/sugar3/graphics/icon.py @@ -27,7 +27,6 @@ import logging import gobject import gtk -import hippo import cairo from sugar3.graphics.xocolor import XoColor @@ -182,8 +181,7 @@ class _IconBuffer(object): if not sensitive: pixbuf = self._get_insensitive_pixbuf(pixbuf, widget) - surface = hippo.cairo_surface_from_gdk_pixbuf(pixbuf) - context.set_source_surface(surface, 0, 0) + context.set_source_pixbuf(pixbuf, 0, 0) context.paint() def _get_size(self, icon_width, icon_height, padding): @@ -296,14 +294,12 @@ class _IconBuffer(object): pixbuf = handle.get_pixbuf() pixbuf = self._get_insensitive_pixbuf(pixbuf, widget) - pixbuf_surface = hippo.cairo_surface_from_gdk_pixbuf(pixbuf) - context.set_source_surface(pixbuf_surface, 0, 0) + context.set_source_pixbuf(pixbuf, 0, 0) context.paint() else: if not sensitive: pixbuf = self._get_insensitive_pixbuf(pixbuf, widget) - pixbuf_surface = hippo.cairo_surface_from_gdk_pixbuf(pixbuf) - context.set_source_surface(pixbuf_surface, 0, 0) + context.set_source_pixbuf(pixbuf, 0, 0) context.paint() if self.badge_name: @@ -553,438 +549,6 @@ class Icon(gtk.Image): type=float, setter=set_scale) -class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): - - __gtype_name__ = 'CanvasIcon' - - def __init__(self, **kwargs): - from sugar3.graphics.palette import CanvasInvoker - - self._buffer = _IconBuffer() - self._palette_invoker = CanvasInvoker() - self._alpha = 1.0 - - hippo.CanvasBox.__init__(self, **kwargs) - - self._palette_invoker.attach(self) - - self.connect('destroy', self.__destroy_cb) - - def _emit_paint_needed_icon_area(self): - surface = self._buffer.get_surface() - if surface: - width, height = self.get_allocation() - s_width = surface.get_width() - s_height = surface.get_height() - - x = (width - s_width) / 2 - y = (height - s_height) / 2 - - self.emit_paint_needed(x, y, s_width, s_height) - - def __destroy_cb(self, icon): - if self._palette_invoker is not None: - self._palette_invoker.detach() - - def set_file_name(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - \"\"\" - - """ - if self._buffer.file_name != value: - self._buffer.file_name = value - self.emit_paint_needed(0, 0, -1, -1) - - def get_file_name(self): - """ - Parameters - ---------- - None - - Returns - ------- - file name : - - """ - return self._buffer.file_name - - file_name = gobject.property( - type=object, getter=get_file_name, setter=set_file_name) - - def set_icon_name(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.icon_name != value: - self._buffer.icon_name = value - self.emit_paint_needed(0, 0, -1, -1) - - def get_icon_name(self): - """ - Parameters - ---------- - None - - Returns - ------- - icon name : - - """ - return self._buffer.icon_name - - icon_name = gobject.property( - type=object, getter=get_icon_name, setter=set_icon_name) - - def set_xo_color(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.xo_color != value: - self._buffer.xo_color = value - self._emit_paint_needed_icon_area() - - xo_color = gobject.property( - type=object, getter=None, setter=set_xo_color) - - def set_fill_color(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.fill_color != value: - self._buffer.fill_color = value - self._emit_paint_needed_icon_area() - - def get_fill_color(self): - """ - Parameters - ---------- - None - - Returns - ------- - fill color : - - """ - return self._buffer.fill_color - - fill_color = gobject.property( - type=object, getter=get_fill_color, setter=set_fill_color) - - def set_stroke_color(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.stroke_color != value: - self._buffer.stroke_color = value - self._emit_paint_needed_icon_area() - - def get_stroke_color(self): - """ - Parameters - ---------- - None - - Returns - ------- - stroke color : - - """ - return self._buffer.stroke_color - - stroke_color = gobject.property( - type=object, getter=get_stroke_color, setter=set_stroke_color) - - def set_background_color(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.background_color != value: - self._buffer.background_color = value - self.emit_paint_needed(0, 0, -1, -1) - - def get_background_color(self): - """ - Parameters - ---------- - None - - Returns - ------- - fill color : - - """ - return self._buffer.background_color - - background_color = gobject.property( - type=object, getter=get_background_color, setter=set_background_color) - - def set_size(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.width != value: - self._buffer.width = value - self._buffer.height = value - self.emit_request_changed() - - def get_size(self): - """ - Parameters - ---------- - None - - Returns - ------- - size : - - """ - return self._buffer.width - - size = gobject.property( - type=object, getter=get_size, setter=set_size) - - def set_scale(self, value): - """ - Parameters - ---------- - value: - - Returns - ------- - None - - """ - if self._buffer.scale != value: - self._buffer.scale = value - self.emit_request_changed() - - def get_scale(self): - """ - Parameters - ---------- - None - - Returns - ------- - scale : - - """ - return self._buffer.scale - - scale = gobject.property( - type=float, getter=get_scale, setter=set_scale) - - def set_alpha(self, alpha): - if self._alpha != alpha: - self._alpha = alpha - self.emit_paint_needed(0, 0, -1, -1) - - alpha = gobject.property( - type=float, setter=set_alpha) - - def set_cache(self, value): - """ - Parameters - ---------- - cache - - Returns - ------- - None - - """ - self._buffer.cache = value - - def get_cache(self): - """ - Parameters - ---------- - None - - Returns - ------- - cache : - - """ - return self._buffer.cache - - cache = gobject.property( - type=bool, default=False, getter=get_cache, setter=set_cache) - - def set_badge_name(self, value): - """ - Parameters - ---------- - value : - - Returns - ------- - None - - """ - if self._buffer.badge_name != value: - self._buffer.badge_name = value - self.emit_paint_needed(0, 0, -1, -1) - - def get_badge_name(self): - """ - Parameters - ---------- - None - - Returns - ------- - badge name : - - """ - return self._buffer.badge_name - - badge_name = gobject.property( - type=object, getter=get_badge_name, setter=set_badge_name) - - def do_paint_below_children(self, cr, damaged_box): - """ - Parameters - ---------- - cr : - - damaged_box : - - Returns - ------- - None - - """ - surface = self._buffer.get_surface() - if surface: - width, height = self.get_allocation() - - x = (width - surface.get_width()) / 2 - y = (height - surface.get_height()) / 2 - - cr.set_source_surface(surface, x, y) - if self._alpha == 1.0: - cr.paint() - else: - cr.paint_with_alpha(self._alpha) - - def do_get_content_width_request(self): - """ - Parameters - ---------- - None - - Returns - ------- - width : - - """ - surface = self._buffer.get_surface() - if surface: - size = surface.get_width() - elif self._buffer.width: - size = self._buffer.width - else: - size = 0 - - return size, size - - def do_get_content_height_request(self, for_width): - surface = self._buffer.get_surface() - if surface: - size = surface.get_height() - elif self._buffer.height: - size = self._buffer.height - else: - size = 0 - - return size, size - - def do_button_press_event(self, event): - if event.button == 1: - self.emit_activated() - return True - else: - return False - - def create_palette(self): - return None - - def get_palette(self): - return self._palette_invoker.palette - - def set_palette(self, palette): - self._palette_invoker.palette = palette - - palette = gobject.property( - type=object, setter=set_palette, getter=get_palette) - - def get_palette_invoker(self): - return self._palette_invoker - - def set_palette_invoker(self, palette_invoker): - self._palette_invoker.detach() - self._palette_invoker = palette_invoker - - palette_invoker = gobject.property( - type=object, setter=set_palette_invoker, getter=get_palette_invoker) - - def set_tooltip(self, text): - from sugar3.graphics.palette import Palette - - self.set_palette(Palette(text)) - - class CellRendererIcon(gtk.GenericCellRenderer): __gtype_name__ = 'SugarCellRendererIcon' |