OSDN Git Service

Updates for Python3000 and PyGI GTK3(11)
authorShyouzou Sugitani <shy@users.sourceforge.jp>
Wed, 8 Aug 2012 14:11:14 +0000 (23:11 +0900)
committerShyouzou Sugitani <shy@users.sourceforge.jp>
Wed, 8 Aug 2012 14:11:14 +0000 (23:11 +0900)
lib/ninix/balloon.py
lib/ninix/dll/bln.py
lib/ninix/kinoko.py
lib/ninix/nekodorif.py
lib/ninix/pix.py
lib/ninix/surface.py

index 3566352..867fd12 100644 (file)
@@ -592,8 +592,6 @@ class BalloonWindow:
         self.width = self.balloon_surface.get_width()
         self.height = self.balloon_surface.get_height()
         self.darea.set_size_request(self.width, self.height)
-        region = Gdk.cairo_region_create_from_surface(self.balloon_surface)
-        self.window.input_shape_combine_region(region)
         self.reset_arrow()
         self.reset_sstp_marker()
         self.reset_message_regions()
@@ -802,6 +800,8 @@ class BalloonWindow:
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
         cr.set_operator(cairo.OPERATOR_OVER) # restore default
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
         # draw images
         for i in range(len(self.images)):
             image_surface, (x, y) = self.images[i]
@@ -1295,8 +1295,6 @@ class CommunicateWindow:
             w = surface.get_width()
             h = surface.get_height()
             darea.set_size_request(w, h)
-            region = Gdk.cairo_region_create_from_surface(surface)
-            self.window.input_shape_combine_region(region)
         else:
             box = Gtk.HBox(spacing=10)
             box.set_border_width(10)
@@ -1312,6 +1310,8 @@ class CommunicateWindow:
         cr.set_source_surface(surface, 0, 0)
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
 
     def destroy(self):
         if self.window:
index 815ef66..3a53267 100644 (file)
@@ -330,8 +330,6 @@ class Balloon:
         h = self.balloon_surface.get_height()
         w = max(8, int(w * self.scale / 100))
         h = max(8, int(h * self.scale / 100))
-        region = Gdk.cairo_region_create_from_surface(self.balloon_surface)
-        self.window.input_shape_combine_region(region)
         self.darea.set_size_request(w, h)
         self.base_x, self.base_y = self.get_coordinate(w, h)
 
@@ -572,6 +570,8 @@ class Balloon:
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
         cr.set_operator(cairo.OPERATOR_OVER) # restore default
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
         if self.layout:
             cr.set_source_rgb(*self.fontcolor)
             cr.move_to(int(self.left), int(self.top))
index 709a256..eb1a1b0 100644 (file)
@@ -278,8 +278,6 @@ class Skin:
             return
         self.path = path
         self.w, self.h = w, h
-        region = Gdk.cairo_region_create_from_surface(self.image_surface)
-        self.window.input_shape_combine_region(region)
         self.darea = Gtk.DrawingArea()
         self.darea.set_events(Gdk.EventMask.EXPOSURE_MASK|
                                Gdk.EventMask.BUTTON_PRESS_MASK|
@@ -349,6 +347,8 @@ class Skin:
         cr.set_source_surface(self.image_surface, 0, 0)
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
 
     def get_image_surface(self, surface_id):
         path = os.path.join(os.fsencode(self.data['dir']),
@@ -382,8 +382,6 @@ class Skin:
             cr.set_source_surface(overlay_surface, x, y)
             cr.mask_surface(overlay_surface, x, y)
             del cr
-        region = Gdk.cairo_region_create_from_surface(new_surface)
-        self.window.input_shape_combine_region(region)
         #self.darea.queue_draw_area(0, 0, w, h)
         self.image_surface = new_surface
         self.darea.queue_draw()
index aa61e5d..eab3ed6 100644 (file)
@@ -316,6 +316,8 @@ class Skin:
         cr.set_source_surface(self.image_surface, 0, 0)
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
 
     def delete(self, widget, event):
         self.request_parent('NOTIFY', 'finalize')
@@ -365,8 +367,6 @@ class Skin:
             self.request_parent('NOTIFY', 'finalize')
             return
         self.w, self.h = w, h
-        region = Gdk.cairo_region_create_from_surface(new_surface)
-        self.window.input_shape_combine_region(region)
         self.darea.set_size_request(self.w, self.h)
         self.image_surface = new_surface
         self.darea.queue_draw()
@@ -509,6 +509,8 @@ class Katochan:
         cr.set_source_surface(self.image_surface, 0, 0)
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
 
     def set_movement(self, timing):
         key = ''.join((timing, 'fall.type'))
@@ -564,8 +566,6 @@ class Katochan:
             self.request_parent('NOTIFY', 'finalize')
             return
         self.w, self.h = w, h
-        region = Gdk.cairo_region_create_from_surface(new_surface)
-        self.window.input_shape_combine_region(region)
         self.darea.set_size_request(self.w, self.h)
         #self.darea.queue_draw_area(0, 0, self.w, self.h)
         self.image_surface = new_surface
index 236ab9d..84de046 100644 (file)
@@ -41,6 +41,7 @@ class TransparentWindow(Gtk.Window):
         Gtk.Window.add(self, fixed) # XXX
         self.__fixed = fixed
         self.__child = None
+        self.__child_size = (-1, -1)
         self.__position = (0, 0)
         self.connect_after('size_allocate', self.size_allocate)
 
@@ -79,6 +80,7 @@ class TransparentWindow(Gtk.Window):
 
     def reset_truncate(self):
         self.fixed.move(self.__child, 0, 0)
+        self.__child.set_size_request(*self.__child_size)
         self.set_size_request(-1, -1)
         self.offset['left'] = 0
         self.offset['top'] = 0
@@ -122,6 +124,8 @@ class TransparentWindow(Gtk.Window):
             else:
                 Gtk.Window.move(self, new_x, new_y) # XXX
         else:
+            if not self.truncated:
+                self.__child_size = (w, h)
             self.fixed.move(self.__child, offset_left, offset_top)
             self.__child.set_size_request(w + offset_right,
                                           h + offset_bottom)
index 3649574..50b6e03 100644 (file)
@@ -903,8 +903,6 @@ class SurfaceWindow:
             cr.set_source_surface(overlay_surface, x, y)
             cr.mask_surface(overlay_surface, x, y)
             del cr
-        region = Gdk.cairo_region_create_from_surface(new_surface)
-        self.window.input_shape_combine_region(region)
         self.image_surface = new_surface
         self.darea.queue_draw()
 
@@ -918,6 +916,8 @@ class SurfaceWindow:
         cr.set_operator(cairo.OPERATOR_SOURCE)
         cr.paint()
         cr.restore()
+        region = Gdk.cairo_region_create_from_surface(cr.get_target())
+        self.window.input_shape_combine_region(region)
         if self.request_parent('GET', 'get_preference', 'check_collision'):
             self.draw_region(cr)