resource.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. let resource_bundled: map_t<string, gpu_texture_t> = map_create();
  2. function resource_load(names: string[]) {
  3. for (let i: i32 = 0; i < names.length; ++i) {
  4. let s: string = names[i];
  5. let image: gpu_texture_t = data_get_image(s);
  6. map_set(resource_bundled, s, image);
  7. }
  8. }
  9. function resource_get(name: string): gpu_texture_t {
  10. return map_get(resource_bundled, name);
  11. }
  12. function resource_tile50(img: gpu_texture_t, i: i32): rect_t {
  13. let x: i32 = i % 12;
  14. let y: i32 = i / 12;
  15. let size: i32 = config_raw.window_scale > 1 ? 100 : 50;
  16. let r: rect_t = {x : x * size, y : y * size, w : size, h : size};
  17. return r;
  18. }
  19. function resource_tile18(img: gpu_texture_t, i: i32): rect_t {
  20. let size: i32 = config_raw.window_scale > 1 ? 36 : 18;
  21. let r: rect_t = {x : i * size, y : img.height - size, w : size, h : size};
  22. return r;
  23. }
  24. type rect_t = {
  25. x?: i32;
  26. y?: i32;
  27. w?: i32;
  28. h?: i32;
  29. };
  30. enum icon18_t {
  31. EYE_ON = 0,
  32. EYE_OFF = 1,
  33. }
  34. enum icon_t {
  35. NONE = -1,
  36. BRUSH = 0,
  37. ERASER = 1,
  38. FILL = 2,
  39. DECAL = 3,
  40. TEXT = 4,
  41. CLONE = 5,
  42. BLUR = 6,
  43. SMUDGE = 7,
  44. PARTICLE = 8,
  45. COLOR_ID = 9,
  46. PICKER = 10,
  47. BAKE = 11,
  48. DROP = 12,
  49. MATERIAL_PREVIEW = 13,
  50. FOLDER_FULL = 14,
  51. FILE = 15,
  52. CHECKER = 16,
  53. BRUSH_PREVIEW = 17,
  54. TEXT_PREVIEW = 18,
  55. PROPERTIES = 19,
  56. FOLDER_OPEN = 20,
  57. EMPTY = 21,
  58. GIZMO = 22,
  59. MATERIAL = 23,
  60. MENU = 24,
  61. FILE_NEW = 25,
  62. FOLDER = 26,
  63. SAVE = 27,
  64. IMPORT = 28,
  65. EXPORT = 29,
  66. UNDO = 30,
  67. REDO = 31,
  68. IMAGE = 32,
  69. SUN = 33,
  70. CAMERA = 34,
  71. HELP = 35,
  72. PROJECTS = 36,
  73. DELETE = 37,
  74. SEARCH = 38,
  75. HOME = 39,
  76. CLOSE = 40,
  77. COG = 41,
  78. HASH = 42,
  79. PLUS = 43,
  80. CHEVRON_LEFT = 44,
  81. CHEVRON_RIGHT = 45,
  82. ARROW_LEFT = 46,
  83. ARROW_RIGHT = 47,
  84. ARROW_UP = 48,
  85. ARROW_DOWN = 49,
  86. DOWN = 50,
  87. UP = 51,
  88. CHECK = 52,
  89. REFRESH = 53,
  90. MINUS = 54,
  91. NEW = 55,
  92. CLEAR = 56,
  93. RESIZE = 57,
  94. FULLSCREEN = 58,
  95. DUPLICATE = 59,
  96. CHEVRON_UP = 60,
  97. CHEVRON_DOWN = 61,
  98. LEFT = 62,
  99. RIGHT = 63,
  100. MOVE = 64,
  101. FILE_OPEN = 65,
  102. FOLDER_NEW = 66,
  103. DOWNLOADING = 67,
  104. PUBLISH = 68,
  105. ZOOM_OUT = 69,
  106. ZOOM_IN = 70,
  107. DRAFT = 71,
  108. STAR = 72,
  109. CUBE = 73,
  110. PAINT = 74,
  111. PALETTE = 75,
  112. LAYER = 76,
  113. LAYER_NEW = 77,
  114. WINDOW = 78,
  115. BOOKMARK = 79,
  116. FLAG = 80,
  117. PIN = 81,
  118. LABEL = 82,
  119. ACCOUNT = 83,
  120. ARROW_UP_LEFT = 84,
  121. ATTACHMENT = 85,
  122. BLOCK = 86,
  123. LANDSCAPE = 87,
  124. CHAT = 88,
  125. CHICK = 89,
  126. CLOUD = 90,
  127. PICKER2 = 91,
  128. COPY = 92,
  129. CUT = 93,
  130. PASTE = 94,
  131. CROP = 95,
  132. EDIT = 96,
  133. EXIT = 97,
  134. FILTER = 98,
  135. PLUGIN = 99,
  136. ERASE = 100,
  137. FILE_SAVE = 101,
  138. FONT = 102,
  139. HISTORY = 103,
  140. SPHERE = 104,
  141. INFO = 105,
  142. SYNC = 106,
  143. INVERT = 107,
  144. LAYERS = 108,
  145. LINK = 109,
  146. LOCK = 110,
  147. MAIL = 111,
  148. MASK = 112,
  149. DISPLAY = 113,
  150. MOVIE = 114,
  151. MUSIC = 115,
  152. NEW2 = 116,
  153. OPACITY = 117,
  154. MASK_WHITE = 118,
  155. PAUSE = 119,
  156. PHOTO = 120,
  157. PLAY = 121,
  158. REPLAY = 122,
  159. SAVE_AS = 123,
  160. TIMER = 124,
  161. MASK_FILL = 125,
  162. RULER = 126,
  163. STOP = 127,
  164. STORAGE = 128,
  165. TERMINAL = 129,
  166. TRANSLATE = 130,
  167. UPLOAD = 131,
  168. }