Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/multiply.py
blob: c6d474488206be6be6e73475cd3000cfd0bf5ca6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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()