Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Rock <jrock@jrock-desktop.(none)>2009-03-19 17:41:58 (GMT)
committer Jason Rock <jrock@jrock-desktop.(none)>2009-03-19 17:41:58 (GMT)
commitbfc7191293ce0e2eebb30fbc48e6927fcf0ce62f (patch)
tree80755f4b8f95121574bae6395f0ba2fbc54f29cd
Initial commit
-rw-r--r--XO.pngbin0 -> 3662 bytes
-rw-r--r--drawxos.py39
-rw-r--r--multiply.py61
3 files changed, 100 insertions, 0 deletions
diff --git a/XO.png b/XO.png
new file mode 100644
index 0000000..03a4056
--- /dev/null
+++ b/XO.png
Binary files differ
diff --git a/drawxos.py b/drawxos.py
new file mode 100644
index 0000000..ac1b3cd
--- /dev/null
+++ b/drawxos.py
@@ -0,0 +1,39 @@
+import os, sys
+import pygame
+from pygame.locals import *
+
+def drawXOs(screen,image,x=3,y=3,backgroundColor=(255,255,255)):
+ (xsize,ysize) = screen.get_size()
+ (xx,yy) = image.get_size()
+ mult = min(float(xsize)/(xx*x),float(ysize)/(yy*y))
+ print mult
+
+ image = pygame.transform.scale(image,(int(xx*mult),int(yy*mult)))
+ print image.get_size()
+
+ background = pygame.Surface(screen.get_size())
+ background.fill(backgroundColor)
+
+ screen.blit(background,(0,0))
+
+ xtra = (xsize-x*image.get_width())/2
+ ytra = (ysize-y*image.get_height())/2
+
+ for i in range(0,x):
+ for j in range(0,y):
+ screen.blit(image,(i*image.get_width()+xtra,j*image.get_height()+ytra))
+
+ pygame.display.flip()
+ return screen
+
+def main():
+ pygame.init()
+ screen = pygame.display.set_mode((1280,1000))
+
+ image = pygame.image.load("XO.png")
+
+ drawXOs(screen,image,100,50);
+
+ raw_input()
+
+if __name__=='__main__': main()
diff --git a/multiply.py b/multiply.py
new file mode 100644
index 0000000..c6d4744
--- /dev/null
+++ b/multiply.py
@@ -0,0 +1,61 @@
+import os, pygame, gtk, drawxos
+
+class multiply:
+ """Display the pygame screen inside the pygtk window"""
+ window = gtk.Window()
+ yadjust = gtk.Adjustment(3,0,12,1,1,1)
+ xadjust = gtk.Adjustment(2,0,12,1,1,1)
+
+ def __init__(self):
+
+ #set adjustments and cooresponding sliders
+
+ yslider = gtk.HScale(self.yadjust)
+ xslider = gtk.HScale(self.xadjust)
+ yslider.set_size_request(100,30)
+ xslider.set_size_request(100,30)
+ yslider.set_digits(0)
+ xslider.set_digits(0)
+
+ self.yadjust.connect('value-changed',self.updateXOs)
+ self.xadjust.connect('value-changed',self.updateXOs)
+
+ #create the drawing area for pygame
+ pygameDA = gtk.DrawingArea()
+ pygameDA.set_size_request(800,600)
+ pygame_hack(pygameDA)
+
+ box = gtk.VBox()
+ hbox = gtk.HBox()
+ hvbox = gtk.VBox()
+
+ self.window.add(box)
+ box.pack_start(pygameDA)
+ #No resize
+ #DON'T CHANGE THE ORDER ORDER ACTUALLY MATTERS
+ hvbox.pack_start(yslider,False,False)
+ hvbox.pack_start(xslider,False,False)
+ hbox.pack_start(hvbox,False,False)
+ box.pack_start(hbox,False,False)
+
+
+ self.window.set_size_request(1280,800)
+ self.window.show_all()
+
+ def updateXOs(self,widget):
+ screen = drawxos.drawXOs(pygame.display.set_mode((800,600)),pygame.image.load("XO.png"),self.xadjust.get_value(),self.yadjust.get_value())
+
+def pygame_hack(widget):
+ def callback(widget, *args):
+ handle = widget.window.xid
+ size = widget.size_request()
+ os.environ['SDL_WINDOWID'] = str(handle)
+ pygame.display.init()
+ pygame.dispaly.set_mode(size)
+ widget.connect('map-event',callback)
+
+def main():
+ m = multiply()
+ gtk.main()
+
+if __name__ == '__main__':main()