main.olea
1 extern fn yield_task() 2 extern fn end_current_task() 3 4 extern fn allocate_memory(usize) usize^ 5 extern fn free_memory(usize^) 6 7 extern fn new_window(usize^, usize^, usize, usize, usize, usize, usize, usize) 8 extern fn destroy_window(usize^) 9 extern fn get_next_window_event(usize^, usize^, usize^) usize 10 extern fn get_window_overlay_number(usize^) usize 11 extern fn start_dragging_window(usize^) 12 13 extern fn draw_str_to_overlay(usize^, usize, usize, usize, usize, usize) 14 15 extern fn break() 16 17 fn main(stream usize): 18 let title = allocate_memory(12) 19 title[0] = 1684957527 20 title[1] = 1142978415 21 title[2] = 7302501 22 23 let string = allocate_memory(16) 24 string[0] = 1819043144 25 string[1] = 1998597231 26 string[2] = 1684828783 27 string[3] = 33 28 29 let window = allocate_memory(40) 30 new_window(window, title, 256, 256, 64, 64, 0, 0) 31 32 let color_black = 16777216 33 let color_gray = 2155905152 34 let color_white = 0 - 1 35 draw_str_to_overlay(string, 16, 32, color_black, color_white, get_window_overlay_number(window)) 36 37 let running = 1 38 while running: 39 yield_task() 40 let x = 0 41 let y = 0 42 let event = 0 43 while event + 1: 44 event = get_next_window_event(window, x@, y@) 45 if event: 46 0 47 else: 48 if y <= 15: 49 if x <= 7: 50 running = 0 51 else: 52 start_dragging_window(window) 53 destroy_window(window) 54 free_memory(window) 55 free_memory(string) 56 free_memory(title)