enums.nim 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # author: Ethosa
  2. type
  3. MouseMode* {.size: sizeof(int8).} = enum
  4. MOUSEMODE_IGNORE = 0x00000001 ## Igore mouse input. This used in Control nodes
  5. MOUSEMODE_SEE = 0x00000002 ## Handle mouse input.
  6. PauseMode* {.size: sizeof(int8).} = enum
  7. PROCESS, ## Continue to work when the window paused.
  8. PAUSE, ## Pause work when the window paused.
  9. INHERIT ## Take parent value.
  10. TextureMode* {.size: sizeof(int8).} = enum
  11. TEXTURE_FILL_XY, ## Fill texture without keeping the aspect ratio.
  12. TEXTURE_KEEP_ASPECT_RATIO, ## Fill texture with keeping the aspect ratio.
  13. TEXTURE_CROP ## Crop and fill texture.
  14. NodeKind* {.pure, size: sizeof(int8).} = enum
  15. NODE_NODE,
  16. CANVAS_NODE,
  17. SCENE_NODE,
  18. AUDIO_STREAM_PLAYER_NODE,
  19. ANIMATION_PLAYER_NODE,
  20. # 2D nodes
  21. COLLISION_SHAPE_2D_NODE,
  22. YSORT_NODE,
  23. CAMERA_2D_NODE,
  24. SPRITE_NODE,
  25. ANIMATED_SPRITE_NODE,
  26. NODE2D_NODE,
  27. KINEMATIC_BODY_2D_NODE,
  28. TILEMAP_NODE,
  29. # Control nodes
  30. BOX_NODE,
  31. BUTTON_NODE,
  32. CHECKBOX_NODE,
  33. COLOR_RECT_NODE,
  34. CONTROL_NODE,
  35. COUNTER_NODE,
  36. EDIT_TEXT_NODE,
  37. GRID_BOX_NODE,
  38. HBOX_NODE,
  39. LABEL_NODE,
  40. POPUP_NODE,
  41. PROGRESS_BAR_NODE,
  42. SCROLL_NODE,
  43. SLIDER_NODE,
  44. TEXTURE_BUTTON_NODE,
  45. TEXTURE_PROGRESS_BAR_NODE,
  46. TEXTURE_RECT_NODE,
  47. VBOX_NODE,
  48. SUB_WINDOW_NODE,
  49. # 3D nodes
  50. NODE3D_NODE,
  51. GEOMETRY_INSTANCE_NODE,
  52. CAMERA_3D_NODE,
  53. SPRITE_3D_NODE
  54. NodeTypes* {.pure, size: sizeof(int8).} = enum
  55. NODE_TYPE_DEFAULT,
  56. NODE_TYPE_CONTROL,
  57. NODE_TYPE_2D,
  58. NODE_TYPE_3D
  59. Visibility* {.pure, size: sizeof(int8).} = enum
  60. VISIBLE,
  61. INVISIBLE,
  62. GONE