Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/turtleart.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-10-30 22:13:28 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-10-30 22:13:28 (GMT)
commitef080edeb118335ecae07208c3be32d05c9e6456 (patch)
tree39b475b219f326fbbc5ef404839d5fe102d0180c /turtleart.py
parent2a127fba955a27fb7faa6e04c78ec92d848a2330 (diff)
headway towards cairo support
Diffstat (limited to 'turtleart.py')
-rwxr-xr-xturtleart.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/turtleart.py b/turtleart.py
index ca9153a..e99f7ad 100755
--- a/turtleart.py
+++ b/turtleart.py
@@ -24,6 +24,7 @@
import pygtk
pygtk.require('2.0')
import gtk
+import cairo
import getopt
import sys
@@ -178,7 +179,10 @@ class TurtleMain():
def _build_window(self):
''' Initialize the TurtleWindow instance. '''
- self.tw = TurtleArtWindow(self.canvas, self._dirname)
+ print 'calling do_realize from _build_windoe'
+ self.do_realize()
+ self.tw = TurtleArtWindow(self.canvas, self._dirname,
+ turtle_canvas=self.turtle_canvas)
self.tw.save_folder = os.path.expanduser('~')
def _init_vars(self):
@@ -274,6 +278,8 @@ class TurtleMain():
win.set_icon_from_file(os.path.join(self._dirname,
self._ICON_SUBPATH))
win.connect('delete_event', self._quit_ta)
+ print 'connecting realize event'
+ win.connect('realize', self.do_realize)
vbox = gtk.VBox(False, 0)
win.add(vbox)
@@ -298,6 +304,19 @@ class TurtleMain():
self.win = win
self.canvas = canvas
+ def do_realize(self, foo=None):
+ """ Makes a cairo surface on which the turtle draws """
+ print 'do_realize'
+ if not hasattr(self, 'canvas'):
+ print 'no canvas yet...'
+ return
+ win = self.canvas.get_window()
+ cr = win.cairo_create()
+ surface = cr.get_target()
+ self.turtle_canvas = surface.create_similar(
+ cairo.CONTENT_COLOR, gtk.gdk.screen_width() * 2,
+ gtk.gdk.screen_height() * 2)
+
def _get_menu_bar(self):
''' Instead of Sugar toolbars, use GNOME menus. '''
menu = gtk.Menu()