added the rgb function to upiwin and started building the demo script
This commit is contained in:
58
scripts/demo1.py
Executable file
58
scripts/demo1.py
Executable file
@@ -0,0 +1,58 @@
|
||||
# Demo script that implements a simple drawing program
|
||||
import upiwin
|
||||
|
||||
# Save off some color values.
|
||||
WHITE = upiwin.rgb(255, 255, 255)
|
||||
LTGRAY = upiwin.rgb(204, 204, 204)
|
||||
YELLOW = upiwin.rgb(255, 255, 0)
|
||||
|
||||
hdc = upiwin.DevCtxt(type='screen')
|
||||
|
||||
# divide the screen into "drawing" and "command" areas
|
||||
drawing_rect = hdc.get_clip_rect()
|
||||
command_rect = drawing_rect
|
||||
drawing_rect[2] -= 60;
|
||||
command_rect[0] = drawing_rect[2] + 1
|
||||
|
||||
# further divide up the "command" area
|
||||
cmd1_rect = command_rect
|
||||
cmd2_rect = command_rect
|
||||
cmd3_rect = command_rect
|
||||
cmd4_rect = command_rect
|
||||
cmd1_rect[3] = 60;
|
||||
cmd2_rect[1] = 60;
|
||||
cmd2_rect[3] = 120;
|
||||
cmd3_rect[1] = 120;
|
||||
cmd3_rect[3] = 180;
|
||||
cmd4_rect[1] = 180;
|
||||
|
||||
def point_in_rect(rect, x, y):
|
||||
return (x >= rect[0]) and (x < rect[2]) and (y >= rect[1]) and (y < rect[3])
|
||||
|
||||
|
||||
|
||||
|
||||
# --- Initialize and start message loop ---
|
||||
|
||||
# Draw the basic layout.
|
||||
hdc.set_text_color(LTGRAY)
|
||||
hdc.rectangle(cmd1_rect[0], cmd1_rect[1], cmd1_rect[2], cmd1_rect[3])
|
||||
hdc.rectangle(cmd2_rect[0], cmd2_rect[1], cmd2_rect[2], cmd2_rect[3])
|
||||
hdc.rectangle(cmd3_rect[0], cmd3_rect[1], cmd3_rect[2], cmd3_rect[3])
|
||||
hdc.rectangle(cmd4_rect[0], cmd4_rect[1], cmd4_rect[2], cmd4_rect[3])
|
||||
|
||||
# Main message loop
|
||||
msg = {}
|
||||
while upiwin.get_message(msg):
|
||||
if msg['message'] == upiwin.WM_TOUCHCLICK:
|
||||
if point_in_rect(cmd1_rect, msg['attrs'][0], msg['attrs'][1]):
|
||||
print("Click command 1")
|
||||
elif point_in_rect(cmd2_rect, msg['attrs'][0], msg['attrs'][1]):
|
||||
print("Click command 2")
|
||||
elif point_in_rect(cmd3_rect, msg['attrs'][0], msg['attrs'][1]):
|
||||
print("Click command 3")
|
||||
elif point_in_rect(cmd4_rect, msg['attrs'][0], msg['attrs'][1]):
|
||||
print("Click command 4")
|
||||
elif msg['message'] == upiwin.WM_HWBUTTONCLICK:
|
||||
if msg['attrs'][0] == 4: # Button 4 = Exit app
|
||||
upiwin.post_quit_message(0)
|
||||
Reference in New Issue
Block a user