Ejemplo n.º 1
0
def save_mdl(sMeshFilename):
    global sFilename

    sFilename = sMeshFilename

    es = ExportSelection()
    Draw.Register(es.gui, es.event,
                  es.button_event)  # registering the 3 callbacks
Ejemplo n.º 2
0
 def register(self,classObject,Object=None,**kw):
     #need the object
     if Object is None :  
         Object = classObject()
         #and this should be a dialog
     Object.setgui("")
     if Object.gui is None :
         return        
     Draw.Register(Object.gui.CreateLayout, Object.gui.CoreMessage, Object.gui.Command)
Ejemplo n.º 3
0
def ev(evt, val):  # this is a callback for Draw.Register()
    global R, G, B, A  # it handles input events
    if evt == Draw.ESCKEY or evt == Draw.QKEY:
        Draw.Exit()  # this quits the script
    elif evt == Draw.LEFTMOUSE:
        R = 1 - R
    elif evt == Draw.MIDDLEMOUSE:
        G = 1 - G
    elif evt == Draw.RIGHTMOUSE:
        B = 1 - B
    else:
        Draw.Register(show_win, ev, None)
Ejemplo n.º 4
0
  Draw.Redraw(1)

def button_event(evt):  # the function to handle Draw Button events
  global mymsg, toggle
  if evt == 1:
    mymsg = "You pressed the toggle button."
    toggle = 1 - toggle
    Draw.Redraw(1)

def gui():              # the function to draw the screen
  global mystring, mymsg, toggle
  if len(mystring) > 90: mystring = ""
  BGL.glClearColor(0,0,1,1)
  BGL.glClear(BGL.GL_COLOR_BUFFER_BIT)
  BGL.glColor3f(1,1,1)
  Draw.Toggle("Toggle", 1, 10, 10, 55, 20, toggle,"A toggle button")
  BGL.glRasterPos2i(72, 16)
  if toggle: toggle_state = "down"
  else: toggle_state = "up"
  Draw.Text("The toggle button is %s." % toggle_state, "small")
  BGL.glRasterPos2i(10, 230)
  Draw.Text("Type letters from a to z, ESC to leave.")
  BGL.glRasterPos2i(20, 200)
  Draw.Text(mystring)
  BGL.glColor3f(1,0.4,0.3)
  BGL.glRasterPos2i(340, 70)
  Draw.Text(mymsg, "tiny")

Draw.Register(gui, event, button_event)  # registering the 3 callbacks
Ejemplo n.º 5
0
    global as_package_name
    global fileButton, expFileName
    global engine_menu, engine_name
    global EVENT_NOEVENT, EVENT_DRAW, EVENT_EXIT, EVENT_EXPORT
    global export_all
    expFileName = ""
    ########## Titles
    glClear(GL_COLOR_BUFFER_BIT)
    glRasterPos2i(40, 240)

    logoImage = Image.Load(Get('scriptsdir') + sys.sep + 'AS3Export.png')
    Draw.Image(logoImage, 40, 155)

    as_package_name = Draw.String("Package name: ", EVENT_NOEVENT, 40, 130,
                                  250, 20, as_package_name.val, 300)
    engine_name = "Away3D%x1|Away3D 2.1.0%x5|Away3D 2.2.0%x6|Papervision3D%x2|Papervision3D 2.0%x3|Sandy 3.0%x4"
    engine_menu = Draw.Menu(engine_name, EVENT_NOEVENT, 40, 100, 200, 20,
                            engine_menu.val, "Choose your engine")

    fileButton = Draw.String('File location: ', EVENT_NOEVENT, 40, 70, 250, 20,
                             fileButton.val, 255)
    Draw.PushButton('...', EVENT_BROWSEFILE, 300, 70, 30, 20, 'browse file')
    export_all = Draw.Toggle('Export ALL scene objects', EVENT_NOEVENT, 40, 45,
                             200, 20, 0)
    ######### Draw and Exit Buttons
    Draw.Button("Export", EVENT_EXPORT, 40, 20, 80, 18)
    Draw.Button("Exit", EVENT_EXIT, 140, 20, 80, 18)


Draw.Register(draw, event, bevent)
Ejemplo n.º 6
0
    glVertex2i(x + width, y)
    glVertex2i(x + width, y - height)
    glVertex2i(x, y - height)
    glEnd()


def rectFill(x, y, width, height):
    glBegin(GL_POLYGON)
    glVertex2i(x, y)
    glVertex2i(x + width, y)
    glVertex2i(x + width, y - height)
    glVertex2i(x, y - height)
    glEnd()


Draw.Register(draw, event, button_event)

#***********************************************
#***********************************************
#                EXPORTER
#***********************************************
#***********************************************


class xExport:
    def __init__(self, filename):
        self.file = open(filename, "w")

#*********************************************************************************************************************************************
#***********************************************
#Select Scene objects
Ejemplo n.º 7
0
import Blender
from Blender import Draw,BGL
import os
os.system("cls")
mystring = ""
def event(evt, val):    # эта функция обрабатывает прерывания от клавиатуры и мыши
	if evt == Draw.ESCKEY:
    		Draw.Exit()                 # выход из скрипта
    		return
 	global mystring#, mymsg
  	if Draw.AKEY <= evt <= Draw.ZKEY:
		if val==0:	#чтобы буква не печаталась два раза
			mystring += chr(evt) 
	# это срабатывает при нажатие на символьную клавишу. chr(evt) преобразует символ клавиши в 	соответствующий символ
			Draw.Redraw(1)

def gui():              # function drawing in screen
 	BGL.glRasterPos2i(10, 230) # установка позиции
  	Draw.Text("Type letters from a to z, ESC to leave.")
  	BGL.glRasterPos2i(20, 200)
  	Draw.Text(mystring)
Draw.Register(gui, event, None)  # регистрация функций и начало основного цикла
Ejemplo n.º 8
0
    def __init__(self):
        binPath = LoadPath()
        binAuto = int(binPath == '')
        if os.name == 'nt': binAuto = 0

        self.buttonFunc = {}

        self.bBinPathAuto = ButtonWrapper('Auto', 3, 'toggle', initial=binAuto)
        self.bBinPathManual = ButtonWrapper('Manual',
                                            4,
                                            'toggle',
                                            initial=int(not binAuto))

        def fBinToggle(evt):
            if evt is 4:
                self.bBinPathAuto.val = (self.bBinPathAuto.val + 1) % 2
            else:
                self.bBinPathManual.val = (self.bBinPathManual.val + 1) % 2

        self.buttonFunc[3] = self.buttonFunc[4] = fBinToggle

        self.bBinPath = ButtonWrapper(
            'PandaBinPath:',
            0,
            'string',
            'The path that contains panda tool binaries (e.g. pview)',
            binPath,
            length=300)
        self.bBinPathSel = ButtonWrapper('Select', 5, 'push')
        if os.name == 'nt' and not binPath:
            envpath = os.getenv('PATH')
            pathdirs = envpath.split(os.pathsep)
            candidates = filter(
                lambda x: x.lower().find('panda3d') != -1 and x.lower().find(
                    'bin') != -1, pathdirs)
            if candidates:
                self.bBinPath.val = candidates[0]

        self.bLaunch = ButtonWrapper('Launch Chicken', 6, 'push')

        def fLaunch(dummy):
            if self.error is False:
                print os.path.join(Blender.Get('scriptsdir'), EXPORTER_NAME)
                Blender.Run(
                    os.path.join(Blender.Get('scriptsdir'), EXPORTER_NAME))
            else:
                if self.error is True:
                    word = "corrected"
                elif self.error is None:
                    word = "validated"
                Draw.PupMenu(
                    'Launch Error%s|Cannot launch until configuration is %s' %
                    ('%t', word))

        self.buttonFunc[6] = fLaunch

        self.bCheck = ButtonWrapper('Check Configuration', 7, 'push')

        def fCheck(dummy):
            self.msg = []
            if self.bBinPathAuto.val:
                bin = ''
            else:
                bin = self.bBinPath.val
            self.error = CheckPath(bin, self.msg)
            if self.error is False:
                d = {}
                if self.bBinPathManual.val:
                    d['PandaBinPath'] = bin
                else:
                    d['PandaBinPath'] = ''
                Registry.SetKey('Chicken', d, True)
            else:
                Draw.PupMenu('Configuration Errors%t|' + '|'.join(self.msg))
                print self.msg

        self.buttonFunc[7] = fCheck

        self.pathMap = {5: self.bBinPath}

        def fPathSelector(id):
            def updatePath(fn):
                n = fn.rfind(os.sep)
                fn = fn[0:n]
                if os.path.isdir(fn):
                    self.pathMap[id].val = fn

            Window.FileSelector(updatePath, "Select Path",
                                self.pathMap[id].val)

        self.buttonFunc[5] = fPathSelector

        self.error = None
        self.msg = []

        Draw.Register(self.draw, self.event, self.button)
Ejemplo n.º 9
0
    global a
    a[0] += 2
    a[1] += 1
    #	print 'step',a
    if a[1] > 100: Draw.Exit()
    time.sleep(0.1)
    Draw.Redraw(1)


def event(evt, val):  # function to handle input events

    if evt == Draw.ESCKEY:
        Draw.Exit()  # exit when user presses ESC
        return


def gui():  # function to draw the screen
    global a
    glClearColor(0, 0, 0, 1)  # background color
    glClear(BGL.GL_COLOR_BUFFER_BIT)  # clear image buffer
    glColor3f(1.0, 0, 0)
    glLineWidth(5)
    glBegin(GL_LINES)
    glVertex2i(10, a[0])
    glVertex2i(130, a[1])
    glEnd()
    changeA()


Draw.Register(gui, event, None)  # registering the 3 callbacks
Ejemplo n.º 10
0
                "%s already exists. Find it in the Text Editor" % slName)
        else:
            sl = Text.New(slName)
            sl.write("""<!--
this describes some i3d properties of the material it is linked to via Script Links.
the name of this text file must end with ".i3d".
all attribute values starting with "assets/" are added to the Files Node and replaced with the id.
in order for file references to work the path must start with "assets/".
-->
<i3D>
	<Materials>
		<Material customShaderId="assets/exampleCustomShader.xml">
			<Custommap name="colorRampTexture" fileId="assets/exampleCustomMap.png"/>
			<CustomParameter name="exampleParameter" value="2 0 0 0"/>	
		</Material>
	</Materials>
</i3D>""")
            activeMat.addScriptLink(sl.getName(), "FrameChanged")
            guiPopup = Draw.PupMenu(
                "Check ScriptLink panel and Text Editor for %s" % sl.getName())


def selectExportFile(file):
    global exportPath
    exportPath.val = file
    #print(file)


if __name__ == '__main__':
    Draw.Register(gui, event, buttonEvt)
Ejemplo n.º 11
0
	GUIPARAMS['Seq'] = Draw.Toggle('Sequence', NO_EVT, minx + lP + half + buPad, maxy - (13*lineheight), half-rP, 19, GUIPARAMS['Seq'].val, 'Set the Image(s) to use a Sequence instead of a Still')
	
	if GUIPARAMS['Seq'].val and not PARAMS['ImportType'] == DIR:
		GUIPARAMS['AutoRefresh'] = Draw.Toggle('Auto Refresh', NO_EVT, minx + lP + half + buPad, maxy - (14*lineheight), half/2, 19, GUIPARAMS['AutoRefresh'].val, 'Use Auto Refresh')
		GUIPARAMS['Cyclic'] = Draw.Toggle('Cyclic', NO_EVT, minx + lP + half + buPad + half/2, maxy - (14*lineheight), half/2 - rP, 19, GUIPARAMS['Cyclic'].val, 'Repeat Frames Cyclically`')

		GUIPARAMS['Frames'] = Draw.Number('Frames: ', NO_EVT, minx +lP + half + buPad, maxy - (15*lineheight), half - rP, 19, GUIPARAMS['Frames'].val, 1, 30000, 'Sets the Number of Images of a Movie to Use')
		GUIPARAMS['Offs'] = Draw.Number('Offs: ', NO_EVT, minx +lP + half + buPad, maxy - (16*lineheight), half/2, 19, GUIPARAMS['Offs'].val, -30000, 30000, 'Offsets the Number of the Frame to use in the Animation')
		GUIPARAMS['StartFr'] = Draw.Number('StartFr: ', NO_EVT, minx +lP + half + buPad + half/2, maxy - (16*lineheight), half/2 - rP, 19, GUIPARAMS['StartFr'].val, 1, 30000, 'Sets the Global Starting Frame of the Movie')
	elif GUIPARAMS['Seq'].val and PARAMS['ImportType'] == DIR:
		BGL.glColor3f(*ErrCol)
		BGL.glRasterPos2i(minx + lP + half + buPad + 7, maxy-(14 * lineheight) + 5)
		Draw.Text('Sequence only available for Single Image Import', 'small')
		
	# Import Options
	BGL.glColor3f(*TextCol)
	BGL.glRecti(minx+lP, maxy - (17*lineheight), maxx-rP, maxy - (17*lineheight) + 1)
	BGL.glRasterPos2i(minx + lP, maxy-(17*lineheight) + 3)
	Draw.Text('Import', 'small')

	if GUIPARAMS['Path'].val and GUIPARAMS['ImageExt'].val or GUIPARAMS['Path'].val and PARAMS['ImportType'] == SINGLE:
		Draw.PushButton('Import', DO_SCRIPT, minx + lP, maxy - (18*lineheight), 75, 19, "Import Image(s)")
	else:
		BGL.glColor3f(*ErrCol)
		BGL.glRasterPos2i(minx+lP, maxy - (18*lineheight) + 5)
		Draw.Text('A path and image type must be specified to import images')
		
	GUIPARAMS['RedrawImp'] = Draw.Toggle('Redraw During Import', NO_EVT, maxx - rP - 150, maxy - (18*lineheight), 150, 19, GUIPARAMS['RedrawImp'].val, 'Redraw the View as Images Import')

Draw.Register(GUI, event, bevent)
Ejemplo n.º 12
0
import Blender
from Blender import Draw

mystring = ""


def event(evt, val):
    global mystring
    if not val:  # val = 0:
        if evt in [Draw.LEFTMOUSE, Draw.MIDDLEMOUSE, Draw.RIGHTMOUSE]:
            mymsg = "You released a mouse button."
            print 'msg', mymsg
    if evt == Draw.ESCKEY:
        Draw.Exit()


Draw.Register(None, event, None)
Ejemplo n.º 13
0
        applyTarget(morphFactor.val)
    elif event == 3:
        symm(0)
    elif event == 4:
        reset()
    elif event == 5:
        symm(1)
    elif event == 6:
        Window.FileSelector(saveTarget, "Save Target", fileToSaveName)
    elif event == 30:
        Window.FileSelector(scanReg, "Load scan")
    elif event == 31:
        Window.FileSelector(buildSVDdb, "Build scan->mh db",
                            "head_vertices.dat")
    elif event == 32:
        Window.FileSelector(scan2mh, "Do scan->mh", "head_vertices.dat")
    elif event == 33:
        Window.FileSelector(saveSelVerts, "Save verts", "head_vertices.dat")
    elif event == 40:
        Window.FileSelector(regularise.loadTargetBase, "Load regularise db",
                            "head_base.dat")
    elif event == 41:
        regulariseMesh()
    elif event == 42:
        Window.FileSelector(buildRegulariseDb, "Build regularise db",
                            "head_vertices.dat")
    Draw.Draw()


Draw.Register(draw, event, buttonEvents)
Ejemplo n.º 14
0
	elif evt == Draw.RIGHTCTRLKEY: r_ctrl_key_pressed = val
	elif evt == Draw.RETKEY and val and (l_ctrl_key_pressed or r_ctrl_key_pressed):
		begin_export()
		l_ctrl_key_pressed = 0
		r_ctrl_key_pressed = 0

def button_events(evt):
	if evt == 0:
		Draw.Exit()
	elif evt == 1:
		begin_export()
	elif evt == 0x11:
		Blender.Window.FileSelector(set_gmdc_filename, 'Select', Blender.sys.makename(ext='.gmdc'))


#-------------------------------------------------------------------------------
# set default values for GUI elements and run event loop

str_gmdc_filename   = Draw.Create("")
str_resource_name   = Draw.Create("")
btn_name_suffix     = Draw.Create(1)
btn_export_rigging  = Draw.Create(0)
btn_export_tangents = Draw.Create(0)
btn_export_bmesh    = Draw.Create(0)
btn_save_log        = Draw.Create(0)
btn_use_obj_props   = Draw.Create(0)
menu_export_morphs  = Draw.Create(0)
str_bmesh_name      = Draw.Create("b_mesh")

Draw.Register(draw_gui, event_handler, button_events)
Ejemplo n.º 15
0
        if bone not in bones:
            bones.append(bone)

    for bone in bones:
        dataref = bone.name.split('.')[0]

        # split off index
        index = None
        l = dataref.find('[')
        if l != -1:
            i = dataref[l + 1:-1]
            if dataref[-1] == ']':
                try:
                    index = int(i)
                except:
                    pass
            dataref = dataref[:l]

        (dataref, v, l) = getvals(bone.name, dataref, index)
        datarefs.append(dataref)
        indices.append(index)
        vals.append(v)
        loops.append(l)

    gethideshow()
    #print armature, bones, bonecount, datarefs, indices, vals, loops
    #print hideshow, hideorshow, hideshowindices, hideshowfrom, hideshowto

    vertical = (Window.GetAreaSize()[1] > Window.GetAreaSize()[0])
    Draw.Register(gui, event, bevent)
Ejemplo n.º 16
0
def start_import_gui():
  Draw.Register(import_gui, import_gui_event, import_gui_buttonevent)
Ejemplo n.º 17
0
        def delmap(x):
            del G.coordmap[x.getName()]
            x.select(False)

        map(delmap, G.selection)
        Window.RedrawAll()

    elif button == BUTTON_CALIBRATE:
        Window.WaitCursor(True)
        G.last_camera = G.selection[0]
        calibrate()


###############
# ENTRY POINT #
###############

# remove any spurious custom script link that may be
#  hanging around from a previous invokation
removeCustomScriptLink()

# add a new script link
addCustomScriptLink()

# read any previous coordinate data that has been
#  stored
readDataFromRegistry()

# register event handlers
Draw.Register(renderGUI, eventHandler, buttonEventHandler)
def main():
    Draw.Register(gui, event, bevent)
Ejemplo n.º 19
0
        if error != '':
            Draw.PupMenu('Error%t|' + error)
        else:
            Window.RedrawAll()

    elif evt == B_EVENT_RELOAD:
        edl_reload()
        Draw.Redraw()

    elif evt == B_EVENT_FILESEL_EDL:
        filename = PREF['filename'].val
        if not filename:
            filename = Blender.sys.join(Blender.sys.expandpath('//'), '*.edl')

        Window.FileSelector(edl_set_path, 'Select EDL', filename)

    elif evt >= B_EVENT_FILESEL:
        reel_keys = edl_reel_keys()
        reel_key = reel_keys[evt - B_EVENT_FILESEL]

        filename = REEL_UI[reel_key].filename_but.val
        if not filename: filename = Blender.sys.expandpath('//')

        PREF['reel_act'] = reel_key  # so file set path knows which one to set
        Window.FileSelector(edl_set_path_reel, 'Reel Media', filename)


if __name__ == '__main__':
    Draw.Register(edl_draw, edl_event, edl_bevent)
    edl_reload()
Ejemplo n.º 20
0
        B = Draw.Create(0)

        block = []
        block.append(("X1= ", X0, 0, 1000))
        block.append(("Y1= ", Y0, 0, 1000))
        block.append(("X2= ", X1, 0, 1000))
        block.append(("Y2= ", Y1, 0, 1000))
        block.append(("A= ", A, -1000, 1000))
        block.append(("B= ", B, -1000, 1000))
        retVal = Draw.PupBlock("LINE'S POINTS", block)

        xy0[0] = X0.val
        xy0[1] = Y0.val
        xy1[0] = X1.val
        xy1[1] = Y1.val
        a = A.val
        b = B.val

        #LINE
        point0[0] = 1
        point0[1] = a * point0[0] + b

        point1[1] = 1000
        point1[0] = (point1[1] - b) / a

        yes = 1
        return


Draw.Register(gui, event, button_event)
Ejemplo n.º 21
0
 	if sob:
 		DumpData()
 		if LoadSettings(sob.name):
 			ob, me = sob, sob.data		
 	
 #-----------------------------------------------------------------------
 
 def ManageWidgets(evt):
 	global dwidget, ob, me
 	if evt == 10000: UpdateSlider(dwidget['h'])
 	if evt == 10001: UpdateSlider(dwidget['ang'])
 	if evt == 10002: UpdateSlider(dwidget['seg'])
 	if evt == 10003: UpdateSlider(dwidget['brad'])
 	if evt == 10004: UpdateSlider(dwidget['turn'])	
 	if evt == 10005: UpdateToggle(dwidget['tface'])	
 	if evt == 10006: UpdateToggle(dwidget['bface'])
 	if evt == 10007:
 		if dwidget['turn'][1] == 360.0: Draw.PupMenu(dwidget['closed'][3])
 		else: UpdateToggle(dwidget['closed'])
 	if evt == 10008: Terminate()
 	if evt == 10009: NewObject(1)
 	if evt == 10010: SelectedObject()
 	if evt == 10011: CopyFromObject()	
 	if ob and me: UpdateMesh()
 
 #-----------------------------------------------------------------------
 
 # called at script start
 Draw.Register(ManageDisplay, ManageEvent, ManageWidgets)
 InitDataFile()
 DeselectAllObjects()
Ejemplo n.º 22
0
	myFace()
	glTranslatef(0,0,-20)
	glRotatef(180,1,0,0)
	glColor3f(0,1,1)
	myFace()
	
def gui():
	glClearColor(0,0,0,1)
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
	glEnable(GL_DEPTH_TEST)
	glViewport(200,200,500,500)
	glMatrixMode(GL_PROJECTION)
	glLoadIdentity()		
#	glFrustum(-100,100,-100,100,30,500)
	glOrtho(-20,20,-20,20,-500,500)
	v1=1/sqrt(3)
	v2=1/sqrt(2)
	v3=v1*v2
	v4=v1/v2
	buf=Buffer(GL_FLOAT,16,[v3,v2,v1,0,v3,-v2,v1,0,-v4,0,v1,0,0,0,0,1])
#	glMultMatrixf(buf)
	glTranslatef(0,0,-50)
	glMatrixMode(GL_MODELVIEW)
	glLoadIdentity()
	glRotatef(a,0,0,1)
	glMultMatrixf(buf)

	myCube()
	changeA()
Draw.Register(gui,key,None)
Ejemplo n.º 23
0
    glBegin(GL_LINE_LOOP)  # begin a vertex-data list
    glVertex2i(46, 92)
    glVertex2i(120, 92)
    glVertex2i(120, 115)
    glVertex2i(46, 115)
    glEnd()  # close this list
    glColor3f(0.35, 0.18, 0.92)  # change default color again
    glBegin(GL_POLYGON)  # another list, for a polygon
    glVertex2i(315, 292)
    glVertex2i(412, 200)
    glVertex2i(264, 256)
    glEnd()
    Draw.Redraw(1)  # make changes visible.


def ev(evt, val):  # this is a callback for Draw.Register()
    global R, G, B, A  # it handles input events
    if evt == Draw.ESCKEY or evt == Draw.QKEY:
        Draw.Exit()  # this quits the script
    elif evt == Draw.LEFTMOUSE:
        R = 1 - R
    elif evt == Draw.MIDDLEMOUSE:
        G = 1 - G
    elif evt == Draw.RIGHTMOUSE:
        B = 1 - B
    else:
        Draw.Register(show_win, ev, None)


Draw.Register(show_win, ev, None)  # start the main loop
Ejemplo n.º 24
0
def gui():
    glClearColor(0, 0, 0, 1)
    glClear(GL_COLOR_BUFFER_BIT)
    glLineWidth(1)
    glColor3f(1.0, 0, 0)
    print len(lst) - 1

    for i in range(0, len(lst) - 1):
        mtr = Matrix([1, lst[i][0], lst[i][0]**2, lst[i][0]**3],
                     [1, lst[i + 1][0], lst[i + 1][0]**2, lst[i + 1][0]**3],
                     [0, 1, 2 * lst[i][0], 3 * lst[i][0]**2],
                     [0, 1, 2 * lst[i + 1][0], 3 * lst[i + 1][0]**2])
        b = Vector([lst[i][1], lst[i + 1][1], z[i], z[i + 1]])

        a = mtr.invert() * b

        print a
        print mtr

        glBegin(GL_LINE_STRIP)

        for x in range(lst[i][0], lst[i + 1][0]):
            y = a[0] + x * a[1] + (x**2) * a[2] + (x**3) * a[3]
            print "x=", x, " y=", y
            glVertex2f(x, y)

        glEnd()


Draw.Register(gui, event, None)
Ejemplo n.º 25
0
 def run(self):
     super(Application, self).run()
     Draw.Register(self.redraw, self.event_manager.key_event,
                   self.event_manager.element_event)