def main(): """ Main function. """ try: cv = Canvas(8, 2) except CanvasError as err: sys.stderr.write("%s\n" % err) sys.exit(127) cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLACK) cv.put_str(0, 0, "ABcde") cv.set_color_ansi(caca.COLOR_LIGHTRED, caca.COLOR_BLACK) cv.put_str(5, 0, "\\o/") cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLUE) cv.put_str(0, 1, "&$âøÿØ?!") fonts = caca.get_font_list() if not fonts: sys.stderr.write("libcaca was compiled without any fonts\n") sys.exit(127) try: f = Font(fonts[0]) except FontError as err: sys.stderr.write("%s\n" % err) sys.exit(127) w = cv.get_width() * f.get_width() h = cv.get_height() * f.get_height() buf = ctypes.c_buffer(4 * w * h) cv.render(f, buf, w, h, 4 * w) cv.set_size(80, 32) try: dp = Display(cv) except DisplayError as err: sys.stderr.write("%s\n" % err) sys.exit(127) try: if sys.byteorder == 'big': dit = Dither(32, w, h, 4 * w, 0xff0000, 0xff00, 0xff, 0xff000000) else: dit = Dither(32, w, h, 4 * w, 0xff00, 0xff0000, 0xff000000, 0xff) dit.bitmap(cv, 0, 0, cv.get_width(), cv.get_height(), buf) except DitherError as err: sys.stderr.write("%s\n" % err) sys.exit(127) else: dp.refresh() dp.get_event(caca.EVENT_KEY_PRESS, Event(), -1)
def main(): """ Main function. """ try: cv = Canvas(80, 24) dp = Display(cv) except (CanvasError, DisplayError) as err: sys.stderr.write("%s\n" % err) sys.exit(127) cv.set_color_ansi(caca.COLOR_LIGHTGRAY, caca.COLOR_BLACK) cv.clear() for i in range(0, 16): if i >= 8: y = i + 3 else: y = i + 2 cv.set_color_ansi(caca.COLOR_LIGHTGRAY, caca.COLOR_BLACK) cv.printf(3, y, "ANSI %i", i) for j in range(0, 16): if j >= 8: x = 13 + (j * 4) else: x = 12 + (j * 4) if i >= 8: y = i + 3 else: y = i + 2 cv.set_color_ansi(i, j) cv.put_str(x, y, "Aaホ") cv.set_color_ansi(caca.COLOR_LIGHTGRAY, caca.COLOR_BLACK) cv.put_str( 3, 20, "This is bold This is blink This is italics This is underline" ) cv.set_attr(caca.STYLE_BOLD) cv.put_str(3 + 8, 20, "bold") cv.set_attr(caca.STYLE_BLINK) cv.put_str(3 + 24, 20, "blink") cv.set_attr(caca.STYLE_ITALICS) cv.put_str(3 + 41, 20, "italics") cv.set_attr(caca.STYLE_UNDERLINE) cv.put_str(3 + 60, 20, "underline") dp.refresh() dp.get_event(caca.EVENT_KEY_PRESS, Event(), -1)
def __init__(self, app, spec, driver='gl'): self.app = app self.spec = spec self.widgets = [] self.focus_order = None self.parser = FileParser(self.app) self.widgets = self.parser.parse(self.spec["widgets"]) self.canvas = Canvas(self.spec["app"]["width"], self.spec["app"]["height"]) self.display = Display(self.canvas) self.display.set_driver(driver) if len(self.widgets) > 0: self.focused_widget = self.widgets[0] self.build_focus_order()
def main(): """ Main function. """ try: cv = Canvas(0, 0) except CanvasError as err: sys.stderr.write("%s\n" % err) sys.exit(2) for idx in range(1, 200): cv.create_frame(idx) sys.stderr.write("canvas created, size is %dx%d\n" \ % (cv.get_width(), cv.get_height())) cv.set_size(150, 80) sys.stderr.write("canvas expanded, size is %dx%d\n" \ % (cv.get_width(), cv.get_height())) for idx in range(0, 16): cv.set_frame(idx) cv.set_color_ansi(caca.COLOR_WHITE, idx) cv.fill_box(0, 0, 40, 15, ':') cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLUE) cv.put_str((idx * 5) // 2, idx, "カカ") cv.set_color_ansi(caca.COLOR_DEFAULT, caca.COLOR_TRANSPARENT) cv.set_size(41, 16) sys.stderr.write("canvas shrinked, size is %dx%d\n" \ % (cv.get_width(), cv.get_height())) try: dp = Display(cv) except DisplayError as err: sys.stderr.write("%s\n" % err) sys.exit(2) dp.set_time(50000) sys.stderr.write("display attached, size is %dx%d\n" \ % (cv.get_width(), cv.get_height())) n = 0 while not dp.get_event(caca.EVENT_KEY_PRESS, Event(), 0): cv.set_frame(n % 16) dp.refresh() n += 1
def __init__(self, *args, **kwargs): """ """ KinematicServer.__init__(self, *args, **kwargs) self.robots = [ r for (name, r) in self.elements.items() if isinstance(r, Robot) ] self.cv = Canvas() self.dp = Display(self.cv) self.ev = Event() self.quit = False self.width = self.cv.get_width() self.height = self.cv.get_height() self.camera = Camera(self, 640, 480) self.camera.translation = [3.5, 0, 1] self.camera.init() self.fps = -1.0 self.frames = 0 self.last_t = 0
def main(): """ Main function. """ lst = caca.get_display_driver_list() cur = 0 try: cv = Canvas(0, 0) dp = Display(cv) except (CanvasError, DisplayError) as err: sys.stderr.write("%s\n" % err) sys.exit(127) cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLACK) while True: cv.put_str(1, 0, "Available drivers:") cur_driver = dp.get_driver() n = 0 for driver, desc in lst: if driver == cur_driver: cv.put_str(2, n + 2, "%s %s (%s)" % ('*', driver, desc)) else: cv.put_str(2, n + 2, "%s %s (%s)" % (' ', driver, desc)) n += 1 cv.put_str(2, n + 3, "Switching driver in 5 seconds") dp.refresh() if dp.get_event(caca.EVENT_KEY_PRESS, Event(), 5000000): break cur += 1 if cur < len(lst) and lst[cur][0] == "raw": cur += 1 if cur >= len(lst): cur = 0 dp.set_driver(lst[cur][0])
def main(): """ Main function. """ try: cv = Canvas(0, 0) dp = Display(cv) except (CanvasError, DisplayError) as err: sys.stderr.write("%s\n" % err) sys.exit(2) sprite = Canvas(0, 0) sprite.set_color_ansi(caca.COLOR_LIGHTRED, caca.COLOR_BLACK) sprite.import_from_memory(THE_PIG, "text") sprite.set_handle(sprite.get_width()//2, sprite.get_height()//2) cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLUE) cv.put_str(0, 0, "Centered sprite") cv.blit(cv.get_width()//2, cv.get_height()//2, sprite, NullCanvas()) dp.refresh() dp.get_event(caca.EVENT_KEY_PRESS, Event(), -1) sys.exit(0)
cv.set_color_ansi(caca.COLOR_DEFAULT, caca.COLOR_BLACK) posx = (cv.get_height() - self.height) // 2 posy = (cv.get_width() - self.width) // 2 for x in range(0, self.ca.height): for y in range(0, self.ca.width): if self.ca.get(x, y): cv.put_str(posy+y, posx+x, "@") def zeroCells(self): for x in range(0, self.ca.height): for y in range(0, self.ca.width): self.ca.set(x, y, 0) if __name__ == "__main__": cv = Canvas() dp = Display(cv) ev = Event() app = CellApp(80, 20) app.zeroCells() while True: if dp.get_event(caca.EVENT_KEY_PRESS, ev, 2): ch = ev.get_key_ch() if ch == ord('q'): break elif ch == ord('s'): app.auto = True elif ch == ord('n'): app.nextCycle() elif ch == ord('r'):
def main(): """ Main function. """ events = [] quit = 0 quit_string = ["", "q", "qu", "qui", "quit"] try: cv = Canvas(80, 24) dp = Display(cv) except (CanvasError, DisplayError) as err: sys.stderr.write("%s\n" % err) sys.exit(127) h = cv.get_height() - 1 cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLUE) cv.draw_line(0, 0, cv.get_width() - 1, 0, ' ') cv.draw_line(0, h, cv.get_width() - 1, h, ' ') cv.put_str(0, h, "Type \"quit\" to exit") dp.refresh() while quit < 4: ev = Event() if dp.get_event(caca.EVENT_ANY, ev, -1): if ev.get_type() == caca.EVENT_KEY_PRESS: key = ev.get_key_ch() if key == ord('u') and quit == 1: quit += 1 elif key == ord('i') and quit == 2: quit += 1 elif key == ord('t') and quit == 3: quit += 1 elif key == ord('q'): quit = 1 else: quit = 0 events.append(ev) cv.set_color_ansi(caca.COLOR_LIGHTGRAY, caca.COLOR_BLACK) cv.clear() #print current event cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLUE) cv.draw_line(0, 0, cv.get_width() - 1, 0, ' ') if events: print_event(cv, 0, 0, events[-1]) cv.draw_line(0, h, cv.get_width() - 1, h, ' ') cv.put_str(0, h, "Type \"quit\" to exit: %s" % quit_string[quit]) #print previous events cv.set_color_ansi(caca.COLOR_WHITE, caca.COLOR_BLACK) counts = list(range(0, len(events) - 1)) counts.reverse() if len(events) > 1: j = 0 for i in counts: if j < h - 1 and events[i].get_type(): print_event(cv, 0, ((len(events) - 1) - i), events[i]) j += 1 dp.refresh()