Exemple #1
0
            self.moveTarget.top = min(max(t, 0), self.moveTarget.parent.height - self.parent.height)




if __name__ == '__main__':
    from window import Window
    from panel import Canvas, StackPanel
    from component import Component
    from random import randint
    import color

    koan.init()

    w = Window()
    w.create(0, 0, 800, 600, True)
    w.bgColor = color.black
    
    b = Captionbar(w)
    b.bindData('width', w, 'width', dir = '<-')
    b.height = 100
    b.bgColor = color.darkblue
    
    c = StackPanel(w)
    c.bgColor = color.darkgray
    c.size = 400, 300
    
    b = Caption(c)
    #b.bindData('width', c, 'width', dir = '<-')
    b.height = 50
    b.bgColor = color.lightgray
Exemple #2
0
        #s.orientation = 'Horizontal'
        s.center = True
        s.bind('Mouse Wheel', s.onScroll)
        #s.autosize = True
        s.rect = 50, 50, 600, 170
        s.bgColor = color.gray

        c = Component(s)
        c.size = 250, 50
        c.bgColor = color.red

        c = Component(s)
        c.size = 300, 50
        c.bgColor = color.green

        c = Component(s)
        c.size = 300, 300
        c.bgColor = color.blue

    koan.init()

    w = Window()
    w.create(0, 0, 800, 600, True)
    #TestDockPanel(w)
    TestStackPanel(w)
    w.show()

    koan.run(1)

    koan.final()
Exemple #3
0
            if 'M' not in self.align.upper():
                self.invoke('Input Finish')
                return True
        return super(RichEdit, self).onKey(key)
        
            
Edit = RichEdit

if __name__ == '__main__':
    from window import Window
    from pprint import pprint

    koan.init()

    w = Window()
    w.create(0, 0, 640, 480, caption = True)
    w.bgColor = color.darkgray
    w.bind('Key', pprint)
    
    e = Edit(w)
    e.rect = 10,10,300,200
    e.align = 'MTL'
    e.vscroll = False
    e.font = 'Segoe UI'
    e.hscroll = False
    #e.bgColor = color.lightgray
    e.bgColor = color.darkblue
    e.fontColor = color.green
    #koan.anim.PostEvent(setattr, e, 'text', 'Testing, hello world')
    e.maxlen = 5    
    e.text = 'Hello world'
Exemple #4
0
         self.bind('Mouse Leave', self.trace, 'Mouse Leave')
         self.bind('Mouse Down', self.trace, 'Mouse Down')
         self.bind('Mouse Up', self.trace, 'Mouse Up')
         self.bind('Mouse RDown', self.trace, 'Mouse RDown')
         self.bind('Mouse RUp', self.trace, 'Mouse RUp')
         self.bind('Click', self.trace, 'Click')
         self.bind('Dbl Click', self.trace, 'Dbl Click')
         self.bind('RDbl Click', self.trace, 'RDbl Click')
         
     def trace(self, *argv, **argd):
         print self, argv
         
 koan.init()
 
 w = Window()    
 w.create(0, 0, 800, 600, caption = True)
 w.bgColor = color.darkblue
 
 from dialog import Dialog
 from pprint import pprint
 w.d = Dialog(w)
 w.d.bind('Mouse Enter', pprint, 'Mouse Enter')
 w.d.bind('Mouse Leave', pprint, 'Mouse Leave')
 w.d.size = 400, 300
 w.d.bgColor = color.blue
 w.bind('Key', koan.action.PureAction(w.d.doModal))
 
 o = MyComponent(w.d)
 o.rect = 100, 50, 300, 100
 o.bgColor = color.yellow
 w.show()
Exemple #5
0
    #-------------------------------------------------
    # display
    #-------------------------------------------------
    def onDraw(self, render):
        super(Combobox, self).onDraw(render)
        TextBase.onDraw(self, render)


if __name__ == '__main__':
    from window import Window
    from panel import StackPanel

    koan.init()

    w = Window()
    w.create(0, 0, 400, 600, True)
    w.bgColor = color.darkgray

    p = StackPanel(w)
    p.bindData('width', w, 'width', dir='<-')
    p.bindData('height', w, 'height', dir='<-')

    # button
    b = Button(p)
    b.tips = 'Button'
    b.bgColor = color.darkblue
    b.height = 30

    # text button
    tb = TextButton(p)
    tb.bgColor = color.darkred
class AR:
    def __init__(self, method=const.METHOD_ORB, use_video=False):
        self._window = Window(const.WINDOW_NAME, self.on_keypress)
        self._frame = None
        self._model = ModelLoader(const.MODEL_PATH, swap_yz=True)
        self._img_marker = cv2.imread(const.MARKER_PATH, cv2.IMREAD_GRAYSCALE)
        self._img_marker_2 = cv2.imread(const.MARKER_PATH_HIRO,
                                        cv2.IMREAD_GRAYSCALE)
        self._method = method

        self._capture_controller = CaptureController(
            capture=self._get_capture_source(use_video),
            window_manager=self._window,
            mirror_preview=True,
        )

        self._filter = None
        self._draw_contours = False
        self._draw_lines = False
        self._draw_corners = False

    @staticmethod
    def _get_capture_source(use_video=False):
        source = const.VIDEO_PATH if use_video else const.WEB_CAMERA_SOURCE
        return cv2.VideoCapture(source)

    def run(self):
        self._window.create()

        while self._window.is_created:
            self._capture_controller.enter_frame()
            self._frame = self._capture_controller.frame

            if not exists(self._frame):
                continue

            if exists(self._filter):
                self._filter.apply(self._frame, dst=self._frame)

            self.draw(
                contours=self._draw_contours,
                lines=self._draw_lines,
                corners=self._draw_corners,
            )

            self._capture_controller.exit_frame()
            self._window.process_events()

    def draw(self, contours=False, lines=False, corners=False):

        if contours:
            Drawing.draw_contours(self._frame)

        if lines:
            Drawing.detect_lines(self._frame)

        if corners:
            Drawing.detect_corners(self._frame)

        Drawing.match_and_render(self._frame, self._img_marker, self._model,
                                 const.METHOD_ORB)

        # Detect two markers at the same time
        # Drawing.match_and_render(self._frame, self._img_marker_2, self._model, const.METHOD_ORB)

    def on_keypress(self, keycode):
        if keycode == const.KEY_CODE_SPACE:
            # Take a screenshot
            self._capture_controller.write_image(const.SCREENSHOT_FILENAME)

        elif keycode == const.KEY_CODE_TAB:
            # Start/stop recording a video
            if not self._capture_controller.is_writing_video:
                self._capture_controller.start_writing_video(
                    const.SCREENCAST_FILENAME)
            else:
                self._capture_controller.stop_writing_video()

        elif keycode == const.KEY_CODE_ESCAPE:
            # Quit
            self._window.destroy()

        elif keycode == const.KEY_CODE_0:
            # Restore default settings
            self._filter = None
            self._draw_contours = False
            self._draw_lines = False
            self._draw_corners = False

        elif keycode == const.KEY_CODE_1:
            self._filter = filters.SharpenFilter(
            ) if self._filter is None else None

        elif keycode == const.KEY_CODE_2:
            self._filter = filters.BlurFilter(
            ) if self._filter is None else None

        elif keycode == const.KEY_CODE_3:
            self._filter = filters.EdgesFilter(
            ) if self._filter is None else None

        elif keycode == const.KEY_CODE_4:
            self._filter = filters.StrokeEdgesFilter(
            ) if self._filter is None else None

        elif keycode == const.KEY_CODE_5:
            self._filter = filters.EmbossFilter(
            ) if self._filter is None else None

        elif keycode == const.KEY_CODE_6:
            self._draw_contours = not self._draw_contours

        elif keycode == const.KEY_CODE_7:
            self._draw_lines = not self._draw_lines

        elif keycode == const.KEY_CODE_8:
            self._draw_corners = not self._draw_corners

        elif keycode == const.KEY_CODE_9:
            pass
Exemple #7
0
    def __init__(self, parent=None):
        StackPanel.__init__(self, parent)
        self.orientation = 'Horizontal'
        self.bgColor = color.lightgray
        self.clip = False
        self.press = False


if __name__ == '__main__':
    import koan
    from window import Window

    koan.init()

    w = Window()
    w.create(0, 0, 800, 600, caption=True)
    w.bgColor = color.darkblue

    def popup(x, y, flag):

        import time
        t = time.time()
        m = PopupMenu(w)
        m.margin = 0, 10

        def createMenuItem(m, text):
            mi = MenuItem(m)
            mi.fontColor = color.white
            mi.fontSize = 20
            mi.header = text
            mi.bgColor = color.gray
Exemple #8
0
        return super(Slider, self).onKey(key)


if __name__ == '__main__':
    from window import Window
    import color
    from pprint import pprint

    def kprint(*argv):
        pprint(argv)
        #print '%f : %s' %(v, msg)

    koan.init()

    w = Window()
    w.create(0, 0, 420, 240, caption=True)
    w.bgColor = color.darkblue

    s = Slider(w)
    s.rect = 0.5, 100, 400, 100
    s.bgColor = color.green
    s.background = r'E:\CLCVS\PCM\Kanten\Generic\trunk\Custom\Skin\Standard\Photo\Media\slider\zoom_bar.png|(9,0,9,0)'
    s.thumbImage = r'E:\CLCVS\PCM\Kanten\Generic\trunk\Custom\Skin\Standard\Photo\Media\seekbar\seek_btn_p.png|(1,1,1,1)'
    s.thumbWidth = 20
    s.snap = 5
    s.setRange((-0.5, 0.5))
    import functools
    s.bind('Slide', functools.partial(kprint, 'Slide'))
    #s.bind('Slide To', functools.partial(kprint, 'Slide To'))
    s.bind('Slide To', lambda x: pprint(('Slide To', x)))
Exemple #9
0
    #-------------------------------------------------
    # display
    #-------------------------------------------------
    def onDraw(self, render):
        super(Combobox, self).onDraw(render)
        TextBase.onDraw(self, render)


if __name__ == '__main__':
    from window import Window
    from panel import StackPanel
    
    koan.init()
    
    w = Window()
    w.create(0, 0, 400, 600, True)
    w.bgColor = color.darkgray
    
    p = StackPanel(w)
    p.bindData('width', w, 'width', dir = '<-')
    p.bindData('height', w, 'height', dir = '<-')
    
    # button
    b = Button(p)
    b.tips = 'Button'
    b.bgColor = color.darkblue
    b.height = 30

    # text button
    tb = TextButton(p)
    tb.bgColor = color.darkred
Exemple #10
0
            return True
        return super(Slider, self).onKey(key)


if __name__ == '__main__':
    from window import Window
    import color
    from pprint import pprint
    def kprint(*argv):
        pprint(argv)
        #print '%f : %s' %(v, msg)

    koan.init()
    
    w = Window()
    w.create(0, 0, 420, 240, caption = True)
    w.bgColor = color.darkblue        
    
    s = Slider(w)
    s.rect = 0.5, 100, 400, 100
    s.bgColor = color.green
    s.background = r'E:\CLCVS\PCM\Kanten\Generic\trunk\Custom\Skin\Standard\Photo\Media\slider\zoom_bar.png|(9,0,9,0)'
    s.thumbImage = r'E:\CLCVS\PCM\Kanten\Generic\trunk\Custom\Skin\Standard\Photo\Media\seekbar\seek_btn_p.png|(1,1,1,1)'
    s.thumbWidth = 20
    s.snap = 5
    s.setRange((-0.5, 0.5))
    import functools
    s.bind('Slide', functools.partial(kprint, 'Slide'))
    #s.bind('Slide To', functools.partial(kprint, 'Slide To'))
    s.bind('Slide To', lambda x: pprint(('Slide To', x)))