demos/01_buffer.py
author Radek Brich <radek.brich@devl.cz>
Wed, 03 Sep 2014 19:13:37 +0200
changeset 110 cf3d49cdd6e2
parent 95 05392e369ede
child 117 8680c2333546
permissions -rwxr-xr-x
Add cursesw driver, using curses get_wch() for unicode input. It alse has enabled keypad() to let curses interpret control keys and mouse input.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
78
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     1
#!/usr/bin/env python3
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     2
92
b97c4e25ed6d Configure logging for demos.
Radek Brich <radek.brich@devl.cz>
parents: 83
diff changeset
     3
import demobase
78
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     4
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     5
from tuikit.core.buffer import Buffer
83
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
     6
from tuikit.driver.driver import Driver
78
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     7
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     8
83
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
     9
buffer = Buffer(16, 8)
95
05392e369ede Refactoring: Swap drawing operations parameters. Coords are now last and have default values.
Radek Brich <radek.brich@devl.cz>
parents: 92
diff changeset
    10
buffer.fill('#')
05392e369ede Refactoring: Swap drawing operations parameters. Coords are now last and have default values.
Radek Brich <radek.brich@devl.cz>
parents: 92
diff changeset
    11
buffer.hline('-', 1, 1, 14)
05392e369ede Refactoring: Swap drawing operations parameters. Coords are now last and have default values.
Radek Brich <radek.brich@devl.cz>
parents: 92
diff changeset
    12
buffer.hline('-', 1, 6, 14)
05392e369ede Refactoring: Swap drawing operations parameters. Coords are now last and have default values.
Radek Brich <radek.brich@devl.cz>
parents: 92
diff changeset
    13
buffer.vline('|', 7, 2, 4)
05392e369ede Refactoring: Swap drawing operations parameters. Coords are now last and have default values.
Radek Brich <radek.brich@devl.cz>
parents: 92
diff changeset
    14
buffer.puts('Hello!', 8, 4)
83
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
    15
buffer.frame()
78
6031e99c8ad3 Add Buffer class with basic drawing methods.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    16
83
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
    17
driver = Driver()
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
    18
driver.init()
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
    19
driver.draw(buffer)
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
    20
driver.close()
ebe732b9ef19 Refactor Driver, CursesDriver: init, close, draw.
Radek Brich <radek.brich@devl.cz>
parents: 81
diff changeset
    21