Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. # C-style window example
  2. # Copyright (C) 2019-2021 Logaev Maxim (turbocat2001), GPLv3
  3.  
  4. import ksys # KolibriOS syscalls
  5. import bitwise # Bitwise operations for large numbers
  6.  
  7. my_button   = 2   # My button
  8. exit_button = 1   # System exit button
  9. number = 0        # Clicks count
  10.  
  11. colors = ksys.get_sys_colors() # Get system colors table
  12.  
  13. def Redraw():
  14.     ksys.start_draw()
  15.     ksys.create_window(10, 40, 400, 200, "My window", colors.work_area, 0x14)
  16.     ksys.draw_text("KolibriOS TinyPy example", 15, 34, 0, bitwise.add(0x90000000, colors.work_text))
  17.     ksys.create_button(150, 100 , 50, 100, my_button, colors.work_button)
  18.     ksys.draw_text("Click!", 155, 115, 0, bitwise.add(0x91000000, colors.work_button_text))
  19.     ksys.draw_text(str(number), 15,100, 0, bitwise.add(0x92000000, colors.work_text))
  20.     ksys.end_draw()
  21.  
  22. if __name__=="__main__":
  23.     ksys.debug_print("Start!\n") # Print "Start!" in debug board
  24.     while True:
  25.         event = ksys.get_event()
  26.         if event == 1: # Redraw event
  27.             Redraw()
  28.         if event == 3: # Buttons event
  29.             button = ksys.get_button() # Get clicked button number
  30.             if button == exit_button:
  31.                 break;
  32.             if button == my_button:
  33.                 number=number+1
  34.                 Redraw()
  35.     print("Done!") # Print "Done!" in console
  36.