From bfc7191293ce0e2eebb30fbc48e6927fcf0ce62f Mon Sep 17 00:00:00 2001 From: Jason Rock Date: Thu, 19 Mar 2009 17:41:58 +0000 Subject: Initial commit --- 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() -- cgit v0.9.1