Exemple #1
0
 def toggleTouchVisualization(self):
     if self.__touchVisOverlay is None:
         self.__touchVisOverlay = TouchVisOverlay(
                 isDebug=True,
                 visClass=DebugTouchVisualization,
                 size=self.parent.size,
                 parent=self.parent)
     else:
         self.__touchVisOverlay.unlink(True)
         self.__touchVisOverlay = None
Exemple #2
0
 def toggleTouchVisualization(self):
     if self.__touchVisOverlay is None:
         self.__touchVisOverlay = TouchVisOverlay(
             isDebug=True,
             visClass=DebugTouchVisualization,
             size=self.parent.size,
             parent=self.parent)
     else:
         self.__touchVisOverlay.unlink(True)
         self.__touchVisOverlay = None
Exemple #3
0
class DebugPanel(avg.DivNode):
    def __init__(self, parent=None, fontsize=10, **kwargs):
        super(DebugPanel, self).__init__(**kwargs)
        self.registerInstance(self, parent)

        avg.RectNode(size=self.size, opacity=0, fillopacity=0.3, fillcolor='ff0000',
                parent=self)
        avg.WordsNode(text='Debug panel', fontsize=fontsize,
                pos=(0, self.height - fontsize - fontsize / 3),
                parent=self)

        self.sensitive = False
        self.active = False
        self.__panel = None
        self.__callables = []
        self.__fontsize = fontsize
        self.__touchVisOverlay = None

    def setupKeys(self):
        kbmgr.bindKeyDown(keystring='g',
                handler=lambda: self.toggleWidget(GPUMemoryGraphWidget),
                help="GPU memory graph",
                modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(keystring='m',
                handler=lambda: self.toggleWidget(MemoryGraphWidget),
                help="Memory graph",
                modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(keystring='f',
                handler=lambda: self.toggleWidget(FrametimeGraphWidget),
                help="Frametime graph",
                modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(keystring='?',
                handler=lambda: self.toggleWidget(KeyboardManagerBindingsShower),
                help="Show keyboard bindings",
                modifiers=kbmgr.KEYMOD_ANY)

        kbmgr.bindKeyDown(keystring='o',
                handler=lambda: self.toggleWidget(ObjectDumpWidget),
                help="Object count table",
                modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(keystring='v', handler=self.toggleTouchVisualization,
                help="Cursor visualization",
                modifiers=libavg.avg.KEYMOD_CTRL)

    def addWidget(self, widgetCls, *args, **kwargs):
        callable_ = lambda: self.__panel.addWidget(widgetCls, *args, **kwargs)
        if self.__panel:
            callable_()
        else:
            self.__callables.append(callable_)

    def toggleWidget(self, *args, **kwargs):
        if not self.active:
            self.show()
            self.__panel.ensureWidgetWisible(*args, **kwargs)
        else:
            self.__panel.toggleWidget(*args, **kwargs)

        if not self.__panel.activeWidgetClasses:
            self.hide()

    def hide(self):
        if self.__panel and self.active:
            self.__panel.hide()
            self.active = False

    def show(self):
        if self.__panel:
            if not self.active:
                self.__panel.show()
        else:
            self.forceLoadPanel()

        self.active = True

    def toggleVisibility(self):
        if self.active:
            self.hide()
        else:
            self.show()

    def toggleTouchVisualization(self):
        if self.__touchVisOverlay is None:
            self.__touchVisOverlay = TouchVisOverlay(
                    isDebug=True,
                    visClass=DebugTouchVisualization,
                    size=self.parent.size,
                    parent=self.parent)
        else:
            self.__touchVisOverlay.unlink(True)
            self.__touchVisOverlay = None

    def forceLoadPanel(self):
        if self.__panel is None:
            self.__panel = _DebugPanel(parent=self, size=self.size,
                    fontsize=self.__fontsize)
            for callable_ in self.__callables:
                callable_()
Exemple #4
0
class DebugPanel(avg.DivNode):
    def __init__(self, parent=None, fontsize=10, **kwargs):
        super(DebugPanel, self).__init__(**kwargs)
        self.registerInstance(self, parent)

        avg.RectNode(size=self.size,
                     opacity=0,
                     fillopacity=0.3,
                     fillcolor='ff0000',
                     parent=self)
        avg.WordsNode(text='Debug panel',
                      fontsize=fontsize,
                      pos=(0, self.height - fontsize - fontsize / 3),
                      parent=self)

        self.sensitive = False
        self.active = False
        self.__panel = None
        self.__callables = []
        self.__fontsize = fontsize
        self.__touchVisOverlay = None

    def setupKeys(self):
        kbmgr.bindKeyDown(
            keyname='G',
            handler=lambda: self.toggleWidget(GPUMemoryGraphWidget),
            help="GPU memory graph",
            modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(keyname='M',
                          handler=lambda: self.toggleWidget(MemoryGraphWidget),
                          help="Memory graph",
                          modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(
            keyname='F',
            handler=lambda: self.toggleWidget(FrametimeGraphWidget),
            help="Frametime graph",
            modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(
            text='?',
            handler=lambda: self.toggleWidget(KeyboardManagerBindingsShower),
            help="Show keyboard bindings",
            modifiers=kbmgr.KEYMOD_ANY)

        kbmgr.bindKeyDown(keyname='O',
                          handler=lambda: self.toggleWidget(ObjectDumpWidget),
                          help="Object count table",
                          modifiers=libavg.avg.KEYMOD_CTRL)

        kbmgr.bindKeyDown(keyname='V',
                          handler=self.toggleTouchVisualization,
                          help="Cursor visualization",
                          modifiers=libavg.avg.KEYMOD_CTRL)

    def addWidget(self, widgetCls, *args, **kwargs):
        callable_ = lambda: self.__panel.addWidget(widgetCls, *args, **kwargs)
        if self.__panel:
            callable_()
        else:
            self.__callables.append(callable_)

    def toggleWidget(self, *args, **kwargs):
        if not self.active:
            self.show()
            self.__panel.ensureWidgetWisible(*args, **kwargs)
        else:
            self.__panel.toggleWidget(*args, **kwargs)

        if not self.__panel.activeWidgetClasses:
            self.hide()

    def hide(self):
        if self.__panel and self.active:
            self.__panel.hide()
            self.active = False

    def show(self):
        if self.__panel:
            if not self.active:
                self.__panel.show()
        else:
            self.forceLoadPanel()

        self.active = True

    def toggleVisibility(self):
        if self.active:
            self.hide()
        else:
            self.show()

    def toggleTouchVisualization(self):
        if self.__touchVisOverlay is None:
            self.__touchVisOverlay = TouchVisOverlay(
                isDebug=True,
                visClass=DebugTouchVisualization,
                size=self.parent.size,
                parent=self.parent)
        else:
            self.__touchVisOverlay.unlink(True)
            self.__touchVisOverlay = None

    def forceLoadPanel(self):
        if self.__panel is None:
            self.__panel = _DebugPanel(parent=self,
                                       size=self.size,
                                       fontsize=self.__fontsize)
            for callable_ in self.__callables:
                callable_()