Home | Trees | Indices | Help |
|
---|
|
1 # libavg - Media Playback Engine. 2 # Copyright (C) 2003-2008 Ulrich von Zadow 3 # 4 # This library is free software; you can redistribute it and/or 5 # modify it under the terms of the GNU Lesser General Public 6 # License as published by the Free Software Foundation; either 7 # version 2 of the License, or (at your option) any later version. 8 # 9 # This library is distributed in the hope that it will be useful, 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 # Lesser General Public License for more details. 13 # 14 # You should have received a copy of the GNU Lesser General Public 15 # License along with this library; if not, write to the Free Software 16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 # 18 # Current versions can be found at www.libavg.de 19 # 20 21 avg = None 22 g_Player = None 23 24 try: 25 from . import avg 26 except ValueError: 27 pass 28126 12731 global g_Player 32 g_Player = avg.Player.get() 33 self.__node = node 34 self.__clickCallback = clickCallback 35 self.__isDisabled = False 36 self.__id = id 37 upNode = node.getChild(0) 38 node.width = upNode.width 39 node.height = upNode.height 40 if self.__isMouseOver(): 41 self.__setMode(2) 42 else: 43 self.__setMode(0) 44 self.__isClicking = False 45 self.__node.setEventHandler(avg.CURSORDOWN, avg.MOUSE, self.__onDown) 46 self.__node.setEventHandler(avg.CURSOROUT, avg.MOUSE, self.__onOut) 47 self.__node.setEventHandler(avg.CURSOROVER, avg.MOUSE, self.__onOver) 48 self.__node.setEventHandler(avg.CURSORDOWN, avg.TOUCH, self.__onDown) 49 self.__node.setEventHandler(avg.CURSOROUT, avg.TRACK, self.__onOut) 50 self.__node.setEventHandler(avg.CURSOROVER, avg.TRACK, self.__onOver)5153 self.__node.setEventHandler(avg.CURSORDOWN, avg.MOUSE, None) 54 self.__node.setEventHandler(avg.CURSOROUT, avg.MOUSE, None) 55 self.__node.setEventHandler(avg.CURSOROVER, avg.MOUSE, None) 56 self.__node.setEventHandler(avg.CURSORUP, avg.MOUSE, None)5759 Event = g_Player.getMouseState() 60 relPos = self.__node.getRelPos((Event.x, Event.y)) 61 return (relPos[0] > 0 and relPos[0] < self.__node.width and 62 relPos[1] > 0 and relPos[1] < self.__node.height)6365 if self.__isDisabled or self.__isClicking: 66 return 67 self.__node.setEventCapture(event.cursorid) 68 if event.source == avg.MOUSE: 69 self.__node.setEventHandler(avg.CURSORUP, avg.MOUSE, self.__onUp) 70 else: 71 self.__node.setEventHandler(avg.CURSORUP, avg.TOUCH, self.__onUp) 72 self.__isClicking = True 73 self.__setMode(1)7476 if self.__isDisabled or not(self.__isClicking): 77 return 78 self.__node.setEventHandler(avg.CURSORUP, avg.MOUSE, None) 79 self.__node.setEventHandler(avg.CURSORUP, avg.TOUCH, None) 80 try: 81 self.__node.releaseEventCapture(event.cursorid) 82 except RuntimeError: 83 # Ignore 'releaseEventCapture called, but cursor not captured' errors. 84 pass 85 if self.__mode == 1: 86 self.__setMode(2) 87 self.__clickCallback(self) 88 self.__isClicking = False8991 if self.__isDisabled: 92 return 93 if self.__isClicking: 94 self.__setMode(1) 95 else: 96 self.__setMode(2)97 102104 self.__mode = newMode 105 for i in range(4): 106 childNode = self.__node.getChild(i) 107 if i == newMode: 108 childNode.opacity = 1 109 else: 110 childNode.opacity = 0111 112 # TODO: if setDisabled(False) and mouse is over the button it remains disabled114 self.__isDisabled = disabled 115 if disabled: 116 try: 117 self.__node.releaseEventCapture() 118 except: 119 pass 120 self.__setMode(3) 121 else: 122 self.__setMode(0)123152 153 178 179 183130 self.__node = node 131 self.__setChecked(False) 132 self.__clickCallback = clickCallback 133 Button.__init__(self, node, self.__onClick, id)134 137 140142 self.__isChecked = checked 143 if checked: 144 self.__node.getChild(4).opacity = 1 145 else: 146 self.__node.getChild(4).opacity = 0147
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri Jan 8 16:09:02 2010 | http://epydoc.sourceforge.net |