diff options
Diffstat (limited to 'multiply.py')
-rw-r--r-- | multiply.py | 61 |
1 files changed, 61 insertions, 0 deletions
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() |