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
#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()
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'
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()
#------------------------------------------------- # 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
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
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)))
#------------------------------------------------- # 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
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)))