os_essence.odin 97 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440
  1. package os;
  2. Data :: struct { _private : [4]rawptr, }
  3. Generic :: rawptr;
  4. Element :: struct { _private : u8, };
  5. Object :: rawptr;
  6. LongDouble :: struct { value : [10]u8, };
  7. NodeType :: u64;
  8. Error :: int;
  9. Handle :: uint;
  10. Response :: i32;
  11. FileOffset :: u64;
  12. ListViewIndex :: i32;
  13. ThreadEntryFunction :: distinct #type proc (Generic);
  14. ComparisonCallbackFunction :: distinct #type proc (rawptr, rawptr, Generic) -> i32;
  15. SwapCallbackFunction :: distinct #type proc (rawptr, rawptr, Generic);
  16. CRTComparisonCallback :: distinct #type proc (rawptr, rawptr) -> i32;
  17. MessageCallbackFunction :: distinct #type proc (Object, ^Message, ^Response);
  18. UICallbackFunction :: distinct #type proc (^Element, ^Message, ^Response);
  19. Window :: struct { using element : Element, };
  20. Panel :: struct { using element : Element, };
  21. Scrollbar :: struct { using element : Element, };
  22. Button :: struct { using element : Element, };
  23. Textbox :: struct { using element : Element, };
  24. ListView :: struct { using element : Element, };
  25. NumericEntry :: struct { using element : Element, };
  26. Menu :: struct { using element : Element, };
  27. MenuCallbackFunction :: distinct #type proc (^Element, Generic);
  28. INSTANCE_TYPE :: Instance;
  29. SCANCODE_A :: (0x1C);
  30. SCANCODE_B :: (0x32);
  31. SCANCODE_C :: (0x21);
  32. SCANCODE_D :: (0x23);
  33. SCANCODE_E :: (0x24);
  34. SCANCODE_F :: (0x2B);
  35. SCANCODE_G :: (0x34);
  36. SCANCODE_H :: (0x33);
  37. SCANCODE_I :: (0x43);
  38. SCANCODE_J :: (0x3B);
  39. SCANCODE_K :: (0x42);
  40. SCANCODE_L :: (0x4B);
  41. SCANCODE_M :: (0x3A);
  42. SCANCODE_N :: (0x31);
  43. SCANCODE_O :: (0x44);
  44. SCANCODE_P :: (0x4D);
  45. SCANCODE_Q :: (0x15);
  46. SCANCODE_R :: (0x2D);
  47. SCANCODE_S :: (0x1B);
  48. SCANCODE_T :: (0x2C);
  49. SCANCODE_U :: (0x3C);
  50. SCANCODE_V :: (0x2A);
  51. SCANCODE_W :: (0x1D);
  52. SCANCODE_X :: (0x22);
  53. SCANCODE_Y :: (0x35);
  54. SCANCODE_Z :: (0x1A);
  55. SCANCODE_0 :: (0x45);
  56. SCANCODE_1 :: (0x16);
  57. SCANCODE_2 :: (0x1E);
  58. SCANCODE_3 :: (0x26);
  59. SCANCODE_4 :: (0x25);
  60. SCANCODE_5 :: (0x2E);
  61. SCANCODE_6 :: (0x36);
  62. SCANCODE_7 :: (0x3D);
  63. SCANCODE_8 :: (0x3E);
  64. SCANCODE_9 :: (0x46);
  65. SCANCODE_CAPS_LOCK :: (0x58);
  66. SCANCODE_SCROLL_LOCK :: (0x7E);
  67. SCANCODE_NUM_LOCK :: (0x77) ;
  68. SCANCODE_LEFT_SHIFT :: (0x12);
  69. SCANCODE_LEFT_CTRL :: (0x14);
  70. SCANCODE_LEFT_ALT :: (0x11);
  71. SCANCODE_LEFT_FLAG :: (0x11F);
  72. SCANCODE_RIGHT_SHIFT :: (0x59);
  73. SCANCODE_RIGHT_CTRL :: (0x114);
  74. SCANCODE_RIGHT_ALT :: (0x111);
  75. SCANCODE_PAUSE :: (0xE1);
  76. SCANCODE_CONTEXT_MENU :: (0x127);
  77. SCANCODE_BACKSPACE :: (0x66);
  78. SCANCODE_ESCAPE :: (0x76);
  79. SCANCODE_INSERT :: (0x170);
  80. SCANCODE_HOME :: (0x16C);
  81. SCANCODE_PAGE_UP :: (0x17D);
  82. SCANCODE_DELETE :: (0x171);
  83. SCANCODE_END :: (0x169);
  84. SCANCODE_PAGE_DOWN :: (0x17A);
  85. SCANCODE_UP_ARROW :: (0x175);
  86. SCANCODE_LEFT_ARROW :: (0x16B);
  87. SCANCODE_DOWN_ARROW :: (0x172);
  88. SCANCODE_RIGHT_ARROW :: (0x174);
  89. SCANCODE_SPACE :: (0x29);
  90. SCANCODE_TAB :: (0x0D);
  91. SCANCODE_ENTER :: (0x5A);
  92. SCANCODE_SLASH :: (0x4A);
  93. SCANCODE_BACKSLASH :: (0x5D);
  94. SCANCODE_LEFT_BRACE :: (0x54);
  95. SCANCODE_RIGHT_BRACE :: (0x5B);
  96. SCANCODE_EQUALS :: (0x55);
  97. SCANCODE_BACKTICK :: (0x0E);
  98. SCANCODE_HYPHEN :: (0x4E);
  99. SCANCODE_SEMICOLON :: (0x4C);
  100. SCANCODE_QUOTE :: (0x52);
  101. SCANCODE_COMMA :: (0x41);
  102. SCANCODE_PERIOD :: (0x49);
  103. SCANCODE_NUM_DIVIDE :: (0x14A);
  104. SCANCODE_NUM_MULTIPLY :: (0x7C);
  105. SCANCODE_NUM_SUBTRACT :: (0x7B);
  106. SCANCODE_NUM_ADD :: (0x79);
  107. SCANCODE_NUM_ENTER :: (0x15A);
  108. SCANCODE_NUM_POINT :: (0x71);
  109. SCANCODE_NUM_0 :: (0x70);
  110. SCANCODE_NUM_1 :: (0x69);
  111. SCANCODE_NUM_2 :: (0x72);
  112. SCANCODE_NUM_3 :: (0x7A);
  113. SCANCODE_NUM_4 :: (0x6B);
  114. SCANCODE_NUM_5 :: (0x73);
  115. SCANCODE_NUM_6 :: (0x74);
  116. SCANCODE_NUM_7 :: (0x6C);
  117. SCANCODE_NUM_8 :: (0x75);
  118. SCANCODE_NUM_9 :: (0x7D);
  119. SCANCODE_PRINT_SCREEN_1 :: (0x112) ;
  120. SCANCODE_PRINT_SCREEN_2 :: (0x17C);
  121. SCANCODE_F1 :: (0x05);
  122. SCANCODE_F2 :: (0x06);
  123. SCANCODE_F3 :: (0x04);
  124. SCANCODE_F4 :: (0x0C);
  125. SCANCODE_F5 :: (0x03);
  126. SCANCODE_F6 :: (0x0B);
  127. SCANCODE_F7 :: (0x83);
  128. SCANCODE_F8 :: (0x0A);
  129. SCANCODE_F9 :: (0x01);
  130. SCANCODE_F10 :: (0x09);
  131. SCANCODE_F11 :: (0x78);
  132. SCANCODE_F12 :: (0x07);
  133. SCANCODE_ACPI_POWER :: (0x137);
  134. SCANCODE_ACPI_SLEEP :: (0x13F);
  135. SCANCODE_ACPI_WAKE :: (0x15E);
  136. SCANCODE_MM_NEXT :: (0x14D);
  137. SCANCODE_MM_PREVIOUS :: (0x115);
  138. SCANCODE_MM_STOP :: (0x13B);
  139. SCANCODE_MM_PAUSE :: (0x134);
  140. SCANCODE_MM_MUTE :: (0x123);
  141. SCANCODE_MM_QUIETER :: (0x121);
  142. SCANCODE_MM_LOUDER :: (0x132);
  143. SCANCODE_MM_SELECT :: (0x150);
  144. SCANCODE_MM_EMAIL :: (0x148);
  145. SCANCODE_MM_CALC :: (0x12B);
  146. SCANCODE_MM_FILES :: (0x140);
  147. SCANCODE_WWW_SEARCH :: (0x110);
  148. SCANCODE_WWW_HOME :: (0x13A);
  149. SCANCODE_WWW_BACK :: (0x138);
  150. SCANCODE_WWW_FORWARD :: (0x130);
  151. SCANCODE_WWW_STOP :: (0x128);
  152. SCANCODE_WWW_REFRESH :: (0x120);
  153. SCANCODE_WWW_STARRED :: (0x118);
  154. PROCESS_STATE_ALL_THREADS_TERMINATED :: (1);
  155. PROCESS_STATE_TERMINATING :: (2);
  156. PROCESS_STATE_CRASHED :: (4);
  157. FLAGS_DEFAULT :: (0);
  158. SUCCESS :: (-1);
  159. ERROR_BUFFER_TOO_SMALL :: (-2);
  160. ERROR_UNKNOWN_OPERATION_FAILURE :: (-7);
  161. ERROR_NO_MESSAGES_AVAILABLE :: (-9);
  162. ERROR_MESSAGE_QUEUE_FULL :: (-10);
  163. ERROR_MESSAGE_NOT_HANDLED_BY_GUI :: (-13);
  164. ERROR_PATH_NOT_WITHIN_MOUNTED_VOLUME :: (-14);
  165. ERROR_PATH_NOT_TRAVERSABLE :: (-15);
  166. ERROR_FILE_ALREADY_EXISTS :: (-19);
  167. ERROR_FILE_DOES_NOT_EXIST :: (-20);
  168. ERROR_DRIVE_ERROR_FILE_DAMAGED :: (-21) ;
  169. ERROR_ACCESS_NOT_WITHIN_FILE_BOUNDS :: (-22) ;
  170. ERROR_FILE_PERMISSION_NOT_GRANTED :: (-23);
  171. ERROR_FILE_IN_EXCLUSIVE_USE :: (-24);
  172. ERROR_FILE_CANNOT_GET_EXCLUSIVE_USE :: (-25);
  173. ERROR_INCORRECT_NODE_TYPE :: (-26);
  174. ERROR_EVENT_NOT_SET :: (-27);
  175. ERROR_TIMEOUT_REACHED :: (-29);
  176. ERROR_REQUEST_CLOSED_BEFORE_COMPLETE :: (-30);
  177. ERROR_NO_CHARACTER_AT_COORDINATE :: (-31);
  178. ERROR_FILE_ON_READ_ONLY_VOLUME :: (-32);
  179. ERROR_USER_CANCELED_IO :: (-33);
  180. ERROR_INVALID_DIMENSIONS :: (-34);
  181. ERROR_DRIVE_CONTROLLER_REPORTED :: (-35);
  182. ERROR_COULD_NOT_ISSUE_PACKET :: (-36);
  183. ERROR_HANDLE_TABLE_FULL :: (-37);
  184. ERROR_COULD_NOT_RESIZE_FILE :: (-38);
  185. ERROR_DIRECTORY_NOT_EMPTY :: (-39);
  186. ERROR_UNSUPPORTED_FILESYSTEM :: (-40);
  187. ERROR_NODE_ALREADY_DELETED :: (-41);
  188. ERROR_NODE_IS_ROOT :: (-42);
  189. ERROR_VOLUME_MISMATCH :: (-43);
  190. ERROR_TARGET_WITHIN_SOURCE :: (-44);
  191. ERROR_TARGET_INVALID_TYPE :: (-45);
  192. ERROR_NOTHING_TO_DRAW :: (-46);
  193. ERROR_MALFORMED_NODE_PATH :: (-47);
  194. ERROR_OUT_OF_CACHE_RESOURCES :: (-48);
  195. ERROR_TARGET_IS_SOURCE :: (-49);
  196. ERROR_INVALID_NAME :: (-50);
  197. ERROR_CORRUPT_DATA :: (-51);
  198. ERROR_INSUFFICIENT_RESOURCES :: (-52);
  199. ERROR_UNSUPPORTED_FEATURE :: (-53);
  200. ERROR_FILE_TOO_FRAGMENTED :: (-54);
  201. ERROR_DRIVE_FULL :: (-55);
  202. ERROR_COULD_NOT_RESOLVE_SYMBOL :: (-56);
  203. ERROR_ALREADY_EMBEDDED :: (-57);
  204. SYSTEM_CONSTANT_TIME_STAMP_UNITS_PER_MICROSECOND :: (0);
  205. SYSTEM_CONSTANT_NO_FANCY_GRAPHICS :: (2);
  206. SYSTEM_CONSTANT_REPORTED_PROBLEMS :: (3);
  207. SYSTEM_CONSTANT_RIGHT_TO_LEFT :: (4);
  208. INVALID_HANDLE :: ((Handle) (0));
  209. CURRENT_THREAD :: ((Handle) (0x10));
  210. CURRENT_PROCESS :: ((Handle) (0x11));
  211. SURFACE_UI_SHEET :: ((Handle) (0x20));
  212. SURFACE_WALLPAPER :: ((Handle) (0x21));
  213. DRAW_ALPHA_OVERWRITE :: (0x100);
  214. DRAW_ALPHA_FULL :: (0x200) ;
  215. WAIT_NO_TIMEOUT :: (-1);
  216. MAX_WAIT_COUNT :: (16);
  217. MAX_DIRECTORY_CHILD_NAME_LENGTH :: (256);
  218. PROCESS_EXECUTABLE_NOT_LOADED :: 0;
  219. PROCESS_EXECUTABLE_FAILED_TO_LOAD :: 1;
  220. PROCESS_EXECUTABLE_LOADED :: 2;
  221. SNAPSHOT_MAX_PROCESS_NAME_LENGTH :: (80);
  222. SYSTEM_SNAPSHOT_PROCESSES :: (1);
  223. SYSTEM_SNAPSHOT_DRIVES :: (2);
  224. NOT_HANDLED :: (-1);
  225. HANDLED :: (0);
  226. REJECTED :: (-2);
  227. SHARED_MEMORY_MAXIMUM_SIZE :: ( (1024) * 1024 * 1024 * 1024);
  228. SHARED_MEMORY_NAME_MAX_LENGTH :: (32);
  229. MAP_OBJECT_ALL :: (0);
  230. DRAW_STRING_HALIGN_LEFT :: (1);
  231. DRAW_STRING_HALIGN_RIGHT :: (2);
  232. DRAW_STRING_HALIGN_CENTER :: (3);
  233. DRAW_STRING_VALIGN_TOP :: (4);
  234. DRAW_STRING_VALIGN_BOTTOM :: (8);
  235. DRAW_STRING_VALIGN_CENTER :: (12);
  236. DRAW_STRING_CLIP :: (0);
  237. DRAW_STRING_WORD_WRAP :: (16);
  238. DRAW_STRING_ELLIPSIS :: (32);
  239. NODE_READ_NONE :: (0x0);
  240. NODE_READ_BLOCK :: (0x1);
  241. NODE_READ_ACCESS :: (0x2);
  242. NODE_READ_EXCLUSIVE :: (0x3);
  243. NODE_WRITE_NONE :: (0x00);
  244. NODE_WRITE_BLOCK :: (0x10);
  245. NODE_WRITE_ACCESS :: (0x20);
  246. NODE_WRITE_EXCLUSIVE :: (0x30);
  247. NODE_RESIZE_NONE :: (0x000);
  248. NODE_RESIZE_BLOCK :: (0x100);
  249. NODE_RESIZE_ACCESS :: (0x200);
  250. NODE_RESIZE_EXCLUSIVE :: (0x300);
  251. NODE_FAIL_IF_FOUND :: (0x1000);
  252. NODE_FAIL_IF_NOT_FOUND :: (0x2000);
  253. NODE_CREATE_DIRECTORIES :: (0x8000) ;
  254. NODE_POSIX_NAMESPACE :: (0x10000) ;
  255. DIRECTORY_CHILDREN_UNKNOWN :: ( (-1));
  256. MEMORY_OPEN_FAIL_IF_FOUND :: (0x1000);
  257. MEMORY_OPEN_FAIL_IF_NOT_FOUND :: (0x2000);
  258. MAP_OBJECT_READ_WRITE :: (0);
  259. MAP_OBJECT_READ_ONLY :: (1);
  260. MAP_OBJECT_COPY_ON_WRITE :: (2);
  261. BOX_STYLE_OUTWARDS :: (0x01) ;
  262. BOX_STYLE_INWARDS :: (0x02) ;
  263. BOX_STYLE_NEUTRAL :: (0x03) ;
  264. BOX_STYLE_FLAT :: (0x04) ;
  265. BOX_STYLE_NONE :: (0x05) ;
  266. BOX_STYLE_SELECTED :: (0x06) ;
  267. BOX_STYLE_PUSHED :: (0x07) ;
  268. BOX_STYLE_DOTTED :: (0x80);
  269. BOX_COLOR_GRAY :: (0xC0C0C0);
  270. BOX_COLOR_DARK_GRAY :: (0x808080);
  271. BOX_COLOR_WHITE :: (0xFFFFFF);
  272. BOX_COLOR_BLUE :: (0x000080);
  273. BOX_COLOR_TRANSPARENT :: (0xFF00FF);
  274. BOX_COLOR_BLACK :: (0x000000);
  275. STRING_FORMAT_ENOUGH_SPACE :: ( (-1));
  276. POSIX_SYSCALL_GET_POSIX_FD_PATH :: (0x10000);
  277. PERMISSION_ACCESS_SYSTEM_FILES :: (1 << 0);
  278. PERMISSION_ACCESS_USER_FILES :: (1 << 1);
  279. PERMISSION_PROCESS_CREATE :: (1 << 2);
  280. PERMISSION_PROCESS_OPEN :: (1 << 3);
  281. PERMISSION_SCREEN_MODIFY :: (1 << 4) ;
  282. PERMISSION_SHUTDOWN :: (1 << 5);
  283. PERMISSION_TAKE_SYSTEM_SNAPSHOT :: (1 << 6);
  284. PERMISSION_WINDOW_OPEN :: (1 << 7);
  285. PERMISSION_ALL :: ( (-1));
  286. PERMISSION_INHERIT :: ( (1 << 63));
  287. PANEL_STYLE_DEFAULT :: "Panel.Default";
  288. PANEL_STYLE_MENU_COLUMN :: "Panel.Menu.Column";
  289. PANEL_WRAP :: ( (0x0001) << 32);
  290. PANEL_H_LEFT :: ( (0x0010) << 32);
  291. PANEL_H_RIGHT :: ( (0x0020) << 32);
  292. PANEL_H_CENTER :: ( (0x0040) << 32);
  293. PANEL_H_JUSTIFY :: ( (0x0080) << 32);
  294. PANEL_V_TOP :: ( (0x0100) << 32);
  295. PANEL_V_BOTTOM :: ( (0x0200) << 32);
  296. PANEL_V_CENTER :: ( (0x0400) << 32);
  297. PANEL_V_JUSTIFY :: ( (0x0800) << 32);
  298. PANEL_H_SCROLL :: ( (0x1000) << 32);
  299. PANEL_V_SCROLL :: ( (0x2000) << 32);
  300. CELL_H_PUSH :: ( (0x0001) << 16);
  301. CELL_H_EXPAND :: ( (0x0002) << 16);
  302. CELL_H_LEFT :: ( (0x0004) << 16);
  303. CELL_H_RIGHT :: ( (0x0008) << 16);
  304. CELL_H_SHRINK :: ( (0x0010) << 16);
  305. CELL_V_PUSH :: ( (0x0100) << 16);
  306. CELL_V_EXPAND :: ( (0x0200) << 16);
  307. CELL_V_TOP :: ( (0x0400) << 16);
  308. CELL_V_BOTTOM :: ( (0x0800) << 16);
  309. CELL_V_SHRINK :: ( (0x1000) << 16);
  310. CELL_NEW_BAND :: ( (0x8000) << 16);
  311. CELL_HIDDEN :: ( (0xFFFF) << 16);
  312. ELEMENT_DO_NOT_FREE_STYLE_OVERRIDE :: (1 << 0);
  313. ELEMENT_RICH_TEXT :: (1 << 1);
  314. ELEMENT_FOCUSABLE :: (1 << 2);
  315. ELEMENT_Z_STACK :: (1 << 3) ;
  316. ELEMENT_HIDDEN :: (1 << 4);
  317. ELEMENT_USE_CHILD_AS_PARENT :: (1 << 5) ;
  318. ELEMENT_DISABLED :: (1 << 6);
  319. ELEMENT_WINDOW_COORDS_FOR_MOUSE :: (1 << 7) ;
  320. TEXTBOX_MULTILINE :: (1 << 0);
  321. TEXTBOX_BORDERED :: (1 << 1);
  322. BUTTON_DEFAULT :: ( (1) << 32);
  323. BUTTON_DANGEROUS :: ( (1) << 33);
  324. BUTTON_MENU_ITEM :: ( (1) << 34);
  325. BUTTON_NOT_FOCUSABLE :: ( (1) << 35);
  326. BUTTON_TOOLBAR :: ( (1) << 36);
  327. SCROLLBAR_VERTICAL :: ( (0) << 32);
  328. SCROLLBAR_HORIZONTAL :: ( (1) << 32);
  329. LIST_VIEW_INDEX_GROUP_HEADER :: (-1);
  330. LIST_VIEW_ITEM_CONTENT_TEXT :: (1 << 0);
  331. LIST_VIEW_ITEM_CONTENT_ICON :: (1 << 1);
  332. LIST_VIEW_ITEM_CONTENT_INDENTATION :: (1 << 2);
  333. LIST_VIEW_ITEM_STATE_SELECTED :: (1 << 0);
  334. LIST_VIEW_ITEM_STATE_CHECKED :: (1 << 1);
  335. LIST_VIEW_ITEM_STATE_HIDDEN :: (1 << 2);
  336. LIST_VIEW_ITEM_STATE_EXPANDABLE :: (1 << 3);
  337. LIST_VIEW_ITEM_STATE_CHECKABLE :: (1 << 4);
  338. LIST_VIEW_ITEM_STATE_DROP_TARGET :: (1 << 5);
  339. LIST_VIEW_ITEM_STATE_COLLAPSABLE :: (1 << 6);
  340. LIST_VIEW_ITEM_STATE_PARTIAL_CHECK :: (1 << 7);
  341. LIST_VIEW_ITEM_STATE_DRAG_SOURCE :: (1 << 8);
  342. LIST_VIEW_ITEM_STATE_CUT :: (1 << 9);
  343. LIST_VIEW_FIND_ITEM_FROM_Y_POSITION :: (0);
  344. LIST_VIEW_FIND_ITEM_FROM_TEXT_PREFIX :: (1);
  345. LIST_VIEW_FIND_ITEM_NON_HIDDEN :: (2);
  346. LIST_VIEW_FIND_ITEM_PARENT :: (3);
  347. LIST_VIEW_COLUMN_DEFAULT_WIDTH_PRIMARY :: (270);
  348. LIST_VIEW_COLUMN_DEFAULT_WIDTH_SECONDARY :: (130);
  349. LIST_VIEW_COLUMN_PRIMARY :: (1);
  350. LIST_VIEW_COLUMN_RIGHT_ALIGNED :: (2);
  351. LIST_VIEW_COLUMN_SORT_ASCENDING :: (8);
  352. LIST_VIEW_COLUMN_SORT_DESCENDING :: (16);
  353. LIST_VIEW_COLUMN_SORTABLE :: (32);
  354. LIST_VIEW_SINGLE_SELECT :: ( (1) << 32) ;
  355. LIST_VIEW_MULTI_SELECT :: ( (1) << 33) ;
  356. LIST_VIEW_HAS_COLUMNS :: ( (1) << 34) ;
  357. LIST_VIEW_HAS_GROUPS :: ( (1) << 35) ;
  358. LIST_VIEW_FIXED_HEIGHT :: ( (1) << 36) ;
  359. LIST_VIEW_VARIABLE_HEIGHT :: ( (1) << 37) ;
  360. LIST_VIEW_TREE :: ( (1) << 38) ;
  361. LIST_VIEW_TILED :: ( (1) << 39) ;
  362. LIST_VIEW_BORDERED :: ( (1) << 41) ;
  363. LIST_VIEW_DROP_TARGET_ORDERED :: ( (1) << 43) ;
  364. LIST_VIEW_DROP_TARGET_UNORDERED :: ( (1) << 44) ;
  365. LIST_VIEW_ROW_DIVIDERS :: ( (1) << 45) ;
  366. LIST_VIEW_STATIC_GROUP_HEADERS :: ( (1) << 46) ;
  367. LIST_VIEW_COLLAPSABLE_GROUPS :: ( (1) << 47) ;
  368. LIST_VIEW_INTERNAL_SELECTION_STORAGE :: ( (1) << 48) ;
  369. LIST_VIEW_HAND_CURSOR :: ( (1) << 49) ;
  370. LIST_VIEW_NO_ITEM_BACKGROUNDS :: ( (1) << 50) ;
  371. LIST_VIEW_RICH_TEXT :: ( (1) << 52) ;
  372. LIST_VIEW_LABELS_BELOW :: ( (1) << 53) ;
  373. LIST_VIEW_MAXIMUM_ITEMS :: (10 * 1000 * 1000);
  374. LIST_VIEW_MAXIMUM_GROUPS :: (10 * 1000);
  375. LIST_VIEW_TRANSITION_BACKWARDS :: (1);
  376. LIST_VIEW_TRANSITION_DRAW_NEW_CONTENTS_ONCE :: (2) ;
  377. MENU_AT_CURSOR :: (1 << 0);
  378. StandardIcon :: enum {
  379. ICON_ACTION_UNAVAILABLE_SYMBOLIC,
  380. ICON_ADDRESS_BOOK_NEW,
  381. ICON_ADDRESS_BOOK_NEW_SYMBOLIC,
  382. ICON_ALIGN_HORIZONTAL_CENTER,
  383. ICON_ALIGN_HORIZONTAL_CENTER_SYMBOLIC,
  384. ICON_ALIGN_HORIZONTAL_LEFT,
  385. ICON_ALIGN_HORIZONTAL_LEFT_SYMBOLIC,
  386. ICON_ALIGN_HORIZONTAL_LEFT_TO_ANCHOR,
  387. ICON_ALIGN_HORIZONTAL_LEFT_TO_ANCHOR_SYMBOLIC,
  388. ICON_ALIGN_HORIZONTAL_RIGHT,
  389. ICON_ALIGN_HORIZONTAL_RIGHT_SYMBOLIC,
  390. ICON_ALIGN_HORIZONTAL_RIGHT_TO_ANCHOR,
  391. ICON_ALIGN_HORIZONTAL_RIGHT_TO_ANCHOR_SYMBOLIC,
  392. ICON_ALIGN_VERTICAL_BOTTOM,
  393. ICON_ALIGN_VERTICAL_BOTTOM_SYMBOLIC,
  394. ICON_ALIGN_VERTICAL_BOTTOM_TO_ANCHOR,
  395. ICON_ALIGN_VERTICAL_BOTTOM_TO_ANCHOR_SYMBOLIC,
  396. ICON_ALIGN_VERTICAL_CENTER,
  397. ICON_ALIGN_VERTICAL_CENTER_SYMBOLIC,
  398. ICON_ALIGN_VERTICAL_TOP,
  399. ICON_ALIGN_VERTICAL_TOP_SYMBOLIC,
  400. ICON_ALIGN_VERTICAL_TOP_TO_ANCHOR,
  401. ICON_ALIGN_VERTICAL_TOP_TO_ANCHOR_SYMBOLIC,
  402. ICON_APPLICATION_ADD_SYMBOLIC,
  403. ICON_APPOINTMENT_NEW,
  404. ICON_APPOINTMENT_NEW_SYMBOLIC,
  405. ICON_APPOINTMENT_SYMBOLIC,
  406. ICON_BOOKMARK_NEW,
  407. ICON_BOOKMARK_NEW_SYMBOLIC,
  408. ICON_CALL_START,
  409. ICON_CALL_START_SYMBOLIC,
  410. ICON_CALL_STOP,
  411. ICON_CALL_STOP_SYMBOLIC,
  412. ICON_COLOR_FILL,
  413. ICON_COLOR_GRADIENT,
  414. ICON_COLOR_GRADIENT_MESH,
  415. ICON_COLOR_SELECT_SYMBOLIC,
  416. ICON_CONTACT_NEW,
  417. ICON_CONTACT_NEW_SYMBOLIC,
  418. ICON_DISTRIBUTE_HORIZONTAL_CENTER,
  419. ICON_DISTRIBUTE_HORIZONTAL_GAPS,
  420. ICON_DISTRIBUTE_HORIZONTAL_LEFT,
  421. ICON_DISTRIBUTE_HORIZONTAL_RIGHT,
  422. ICON_DISTRIBUTE_VERTICAL_BOTTOM,
  423. ICON_DISTRIBUTE_VERTICAL_CENTER,
  424. ICON_DISTRIBUTE_VERTICAL_GAPS,
  425. ICON_DISTRIBUTE_VERTICAL_TOP,
  426. ICON_DOCUMENT_EDIT,
  427. ICON_DOCUMENT_EDIT_SYMBOLIC,
  428. ICON_DOCUMENT_EXPORT,
  429. ICON_DOCUMENT_EXPORT_SYMBOLIC,
  430. ICON_DOCUMENT_IMPORT,
  431. ICON_DOCUMENT_IMPORT_SYMBOLIC,
  432. ICON_DOCUMENT_NEW,
  433. ICON_DOCUMENT_NEW_SYMBOLIC,
  434. ICON_DOCUMENT_OPEN_RECENT,
  435. ICON_DOCUMENT_OPEN_RECENT_SYMBOLIC,
  436. ICON_DOCUMENT_OPEN_SYMBOLIC,
  437. ICON_DOCUMENT_PAGE_SETUP,
  438. ICON_DOCUMENT_PAGE_SETUP_SYMBOLIC,
  439. ICON_DOCUMENT_PRINT_PREVIEW,
  440. ICON_DOCUMENT_PRINT_PREVIEW_SYMBOLIC,
  441. ICON_DOCUMENT_PRINT_SYMBOLIC,
  442. ICON_DOCUMENT_PROPERTIES,
  443. ICON_DOCUMENT_PROPERTIES_SYMBOLIC,
  444. ICON_DOCUMENT_REVERT,
  445. ICON_DOCUMENT_REVERT_SYMBOLIC,
  446. ICON_DOCUMENT_SAVE_AS,
  447. ICON_DOCUMENT_SAVE_AS_SYMBOLIC,
  448. ICON_DOCUMENT_SAVE_SYMBOLIC,
  449. ICON_DOCUMENT_SEND,
  450. ICON_DOCUMENT_SEND_SYMBOLIC,
  451. ICON_DRAW_CUBOID,
  452. ICON_DRAW_ELLIPSE,
  453. ICON_DRAW_ERASER,
  454. ICON_DRAW_FREEHAND,
  455. ICON_DRAW_PATH,
  456. ICON_DRAW_POLYGON_STAR,
  457. ICON_DRAW_RECTANGLE,
  458. ICON_DRAW_SPIRAL,
  459. ICON_DRAW_TEXT,
  460. ICON_EDIT_CLEAR,
  461. ICON_EDIT_CLEAR_ALL_SYMBOLIC,
  462. ICON_EDIT_CLEAR_SYMBOLIC,
  463. ICON_EDIT_COPY,
  464. ICON_EDIT_COPY_SYMBOLIC,
  465. ICON_EDIT_CUT,
  466. ICON_EDIT_CUT_SYMBOLIC,
  467. ICON_EDIT_DELETE_SYMBOLIC,
  468. ICON_EDIT_FIND,
  469. ICON_EDIT_FIND_REPLACE,
  470. ICON_EDIT_FIND_REPLACE_SYMBOLIC,
  471. ICON_EDIT_FIND_SYMBOLIC,
  472. ICON_EDIT_FLAG,
  473. ICON_EDIT_FLAG_SYMBOLIC,
  474. ICON_EDIT_MARK,
  475. ICON_EDIT_PASTE,
  476. ICON_EDIT_PASTE_SYMBOLIC,
  477. ICON_EDIT_REDO,
  478. ICON_EDIT_REDO_SYMBOLIC,
  479. ICON_EDIT_SELECT_ALL,
  480. ICON_EDIT_SELECT_ALL_SYMBOLIC,
  481. ICON_EDIT_SELECT_SYMBOLIC,
  482. ICON_EDIT_UNDO,
  483. ICON_EDIT_UNDO_ARCHIVE,
  484. ICON_EDIT_UNDO_SYMBOLIC,
  485. ICON_ERROR_CORRECT_SYMBOLIC,
  486. ICON_EVENT_NEW,
  487. ICON_FIND_LOCATION,
  488. ICON_FIND_LOCATION_SYMBOLIC,
  489. ICON_FOLDER_COPY,
  490. ICON_FOLDER_MOVE,
  491. ICON_FOLDER_NEW,
  492. ICON_FOLDER_NEW_SYMBOLIC,
  493. ICON_FONT_SELECT_SYMBOLIC,
  494. ICON_FORMAT_INDENT_LESS,
  495. ICON_FORMAT_INDENT_LESS_SYMBOLIC,
  496. ICON_FORMAT_INDENT_MORE,
  497. ICON_FORMAT_INDENT_MORE_SYMBOLIC,
  498. ICON_FORMAT_JUSTIFY_CENTER,
  499. ICON_FORMAT_JUSTIFY_CENTER_SYMBOLIC,
  500. ICON_FORMAT_JUSTIFY_FILL,
  501. ICON_FORMAT_JUSTIFY_FILL_SYMBOLIC,
  502. ICON_FORMAT_JUSTIFY_LEFT,
  503. ICON_FORMAT_JUSTIFY_LEFT_SYMBOLIC,
  504. ICON_FORMAT_JUSTIFY_RIGHT,
  505. ICON_FORMAT_JUSTIFY_RIGHT_SYMBOLIC,
  506. ICON_FORMAT_TEXT_BOLD,
  507. ICON_FORMAT_TEXT_BOLD_ES_SYMBOLIC,
  508. ICON_FORMAT_TEXT_BOLD_FR_SYMBOLIC,
  509. ICON_FORMAT_TEXT_BOLD_SYMBOLIC,
  510. ICON_FORMAT_TEXT_CLEAR_FORMATTING_SYMBOLIC,
  511. ICON_FORMAT_TEXT_DIRECTION_LTR_SYMBOLIC,
  512. ICON_FORMAT_TEXT_HIGHLIGHT,
  513. ICON_FORMAT_TEXT_ITALIC,
  514. ICON_FORMAT_TEXT_ITALIC_ES_SYMBOLIC,
  515. ICON_FORMAT_TEXT_ITALIC_SYMBOLIC,
  516. ICON_FORMAT_TEXT_LARGER_SYMBOLIC,
  517. ICON_FORMAT_TEXT_NONE,
  518. ICON_FORMAT_TEXT_SMALLER_SYMBOLIC,
  519. ICON_FORMAT_TEXT_STRIKETHROUGH,
  520. ICON_FORMAT_TEXT_STRIKETHROUGH_FR_SYMBOLIC,
  521. ICON_FORMAT_TEXT_STRIKETHROUGH_SYMBOLIC,
  522. ICON_FORMAT_TEXT_UNDERLINE,
  523. ICON_FORMAT_TEXT_UNDERLINE_FR_SYMBOLIC,
  524. ICON_FORMAT_TEXT_UNDERLINE_SYMBOLIC,
  525. ICON_GO_BOTTOM,
  526. ICON_GO_BOTTOM_SYMBOLIC,
  527. ICON_GO_DOWN,
  528. ICON_GO_DOWN_SYMBOLIC,
  529. ICON_GO_FIRST,
  530. ICON_GO_FIRST_SYMBOLIC,
  531. ICON_GO_HOME_SYMBOLIC,
  532. ICON_GO_JUMP,
  533. ICON_GO_JUMP_SYMBOLIC,
  534. ICON_GO_LAST,
  535. ICON_GO_LAST_SYMBOLIC,
  536. ICON_GO_NEXT,
  537. ICON_GO_NEXT_SYMBOLIC,
  538. ICON_GO_PREVIOUS,
  539. ICON_GO_PREVIOUS_SYMBOLIC,
  540. ICON_GO_TOP,
  541. ICON_GO_TOP_SYMBOLIC,
  542. ICON_GO_UP,
  543. ICON_GO_UP_SYMBOLIC,
  544. ICON_HELP_ABOUT,
  545. ICON_HELP_ABOUT_SYMBOLIC,
  546. ICON_HELP_CONTENTS,
  547. ICON_HELP_CONTENTS_SYMBOLIC,
  548. ICON_HELP_INFO_SYMBOLIC,
  549. ICON_IMAGE_ADJUST,
  550. ICON_IMAGE_AUTO_ADJUST,
  551. ICON_IMAGE_CROP,
  552. ICON_IMAGE_CROP_SYMBOLIC,
  553. ICON_IMAGE_RED_EYE,
  554. ICON_IMAGE_RED_EYE_SYMBOLIC,
  555. ICON_INSERT_IMAGE,
  556. ICON_INSERT_IMAGE_SYMBOLIC,
  557. ICON_INSERT_LINK,
  558. ICON_INSERT_LINK_SYMBOLIC,
  559. ICON_INSERT_OBJECT,
  560. ICON_INSERT_OBJECT_SYMBOLIC,
  561. ICON_INSERT_TEXT_SYMBOLIC,
  562. ICON_LIST_ADD,
  563. ICON_LIST_ADD_SYMBOLIC,
  564. ICON_LIST_REMOVE,
  565. ICON_LIST_REMOVE_SYMBOLIC,
  566. ICON_MAIL_ARCHIVE,
  567. ICON_MAIL_FORWARD,
  568. ICON_MAIL_FORWARD_SYMBOLIC,
  569. ICON_MAIL_MARK_IMPORTANT,
  570. ICON_MAIL_MARK_IMPORTANT_SYMBOLIC,
  571. ICON_MAIL_MARK_JUNK,
  572. ICON_MAIL_MARK_JUNK_SYMBOLIC,
  573. ICON_MAIL_MARK_NOTJUNK,
  574. ICON_MAIL_MARK_NOTJUNK_SYMBOLIC,
  575. ICON_MAIL_MESSAGE_NEW,
  576. ICON_MAIL_MESSAGE_NEW_SYMBOLIC,
  577. ICON_MAIL_MOVE,
  578. ICON_MAIL_MOVE_SYMBOLIC,
  579. ICON_MAIL_REPLY_ALL,
  580. ICON_MAIL_REPLY_ALL_SYMBOLIC,
  581. ICON_MAIL_REPLY_SENDER,
  582. ICON_MAIL_REPLY_SENDER_SYMBOLIC,
  583. ICON_MAIL_SEND,
  584. ICON_MAIL_SEND_RECEIVE_SYMBOLIC,
  585. ICON_MAIL_SEND_SYMBOLIC,
  586. ICON_MARK_LOCATION_SYMBOLIC,
  587. ICON_MEDIA_EJECT,
  588. ICON_MEDIA_EJECT_SYMBOLIC,
  589. ICON_MEDIA_EQ_SYMBOLIC,
  590. ICON_MEDIA_PLAYBACK_PAUSE,
  591. ICON_MEDIA_PLAYBACK_PAUSE_SYMBOLIC,
  592. ICON_MEDIA_PLAYBACK_START,
  593. ICON_MEDIA_PLAYBACK_START_SYMBOLIC,
  594. ICON_MEDIA_PLAYBACK_STOP,
  595. ICON_MEDIA_PLAYBACK_STOP_SYMBOLIC,
  596. ICON_MEDIA_RECORD,
  597. ICON_MEDIA_RECORD_SYMBOLIC,
  598. ICON_MEDIA_SEEK_BACKWARD,
  599. ICON_MEDIA_SEEK_BACKWARD_SYMBOLIC,
  600. ICON_MEDIA_SEEK_FORWARD,
  601. ICON_MEDIA_SEEK_FORWARD_SYMBOLIC,
  602. ICON_MEDIA_SKIP_BACKWARD,
  603. ICON_MEDIA_SKIP_FORWARD,
  604. ICON_MEDIA_VIEW_SUBTITLES_SYMBOLIC,
  605. ICON_NODE_ADD,
  606. ICON_NODE_ALIGN_HORIZONTAL,
  607. ICON_NODE_ALIGN_VERTICAL,
  608. ICON_NODE_BREAK,
  609. ICON_NODE_CUSP,
  610. ICON_NODE_DELETE,
  611. ICON_NODE_DELETE_SEGMENT,
  612. ICON_NODE_DISTRIBUTE_HORIZONTAL,
  613. ICON_NODE_DISTRIBUTE_VERTICAL,
  614. ICON_NODE_INSERT,
  615. ICON_NODE_JOIN,
  616. ICON_NODE_JOIN_SEGMENT,
  617. ICON_NODE_SMOOTH,
  618. ICON_NODE_SYMMETRIC,
  619. ICON_OBJECT_FLIP_HORIZONTAL,
  620. ICON_OBJECT_FLIP_HORIZONTAL_SYMBOLIC,
  621. ICON_OBJECT_FLIP_VERTICAL,
  622. ICON_OBJECT_FLIP_VERTICAL_SYMBOLIC,
  623. ICON_OBJECT_GROUP,
  624. ICON_OBJECT_GROUP_SYMBOLIC,
  625. ICON_OBJECT_INVERSE,
  626. ICON_OBJECT_INVERSE_SYMBOLIC,
  627. ICON_OBJECT_MERGE,
  628. ICON_OBJECT_ROTATE_LEFT,
  629. ICON_OBJECT_ROTATE_LEFT_SYMBOLIC,
  630. ICON_OBJECT_ROTATE_RIGHT,
  631. ICON_OBJECT_ROTATE_RIGHT_SYMBOLIC,
  632. ICON_OBJECT_SELECT_SYMBOLIC,
  633. ICON_OBJECT_STRAIGHTEN,
  634. ICON_OBJECT_TO_PATH,
  635. ICON_OBJECT_UNGROUP,
  636. ICON_OBJECT_UNGROUP_SYMBOLIC,
  637. ICON_OPEN_MENU,
  638. ICON_OPEN_MENU_SYMBOLIC,
  639. ICON_PAN_DOWN_SYMBOLIC,
  640. ICON_PAN_END_SYMBOLIC,
  641. ICON_PAN_START_SYMBOLIC,
  642. ICON_PAN_UP_SYMBOLIC,
  643. ICON_PANE_HIDE_SYMBOLIC,
  644. ICON_PANE_SHOW_SYMBOLIC,
  645. ICON_PATH_BREAK_APART,
  646. ICON_PATH_BREAK_APART_SYMBOLIC,
  647. ICON_PATH_COMBINE,
  648. ICON_PATH_COMBINE_SYMBOLIC,
  649. ICON_PATH_DIFFERENCE,
  650. ICON_PATH_DIFFERENCE_SYMBOLIC,
  651. ICON_PATH_DIVISION,
  652. ICON_PATH_DIVISION_SYMBOLIC,
  653. ICON_PATH_EXCLUSION,
  654. ICON_PATH_EXCLUSION_SYMBOLIC,
  655. ICON_PATH_INTERSECTION,
  656. ICON_PATH_INTERSECTION_SYMBOLIC,
  657. ICON_PATH_UNION,
  658. ICON_PATH_UNION_SYMBOLIC,
  659. ICON_PROCESS_STOP,
  660. ICON_PROCESS_STOP_SYMBOLIC,
  661. ICON_SEGMENT_CURVE,
  662. ICON_SEGMENT_LINE,
  663. ICON_SELECTION_ADD,
  664. ICON_SELECTION_BOTTOM,
  665. ICON_SELECTION_BOTTOM_SYMBOLIC,
  666. ICON_SELECTION_CHECKED,
  667. ICON_SELECTION_END_SYMBOLIC,
  668. ICON_SELECTION_LOWER,
  669. ICON_SELECTION_LOWER_SYMBOLIC,
  670. ICON_SELECTION_RAISE,
  671. ICON_SELECTION_RAISE_SYMBOLIC,
  672. ICON_SELECTION_REMOVE,
  673. ICON_SELECTION_START_SYMBOLIC,
  674. ICON_SELECTION_TOP,
  675. ICON_SELECTION_TOP_SYMBOLIC,
  676. ICON_SEND_TO,
  677. ICON_SEND_TO_SYMBOLIC,
  678. ICON_STAR_NEW_SYMBOLIC,
  679. ICON_STROKE_TO_PATH,
  680. ICON_SYSTEM_LOCK_SCREEN,
  681. ICON_SYSTEM_LOCK_SCREEN_SYMBOLIC,
  682. ICON_SYSTEM_LOG_OUT,
  683. ICON_SYSTEM_REBOOT,
  684. ICON_SYSTEM_RUN,
  685. ICON_SYSTEM_RUN_SYMBOLIC,
  686. ICON_SYSTEM_SHUTDOWN,
  687. ICON_SYSTEM_SHUTDOWN_SYMBOLIC,
  688. ICON_SYSTEM_SUSPEND,
  689. ICON_TAB_NEW_SYMBOLIC,
  690. ICON_TAG_NEW,
  691. ICON_TAG_NEW_SYMBOLIC,
  692. ICON_TOOL_MEASURE,
  693. ICON_TOOL_NODE_EDITOR,
  694. ICON_TOOLS_CHECK_SPELLING_SYMBOLIC,
  695. ICON_TOOLS_TIMER_SYMBOLIC,
  696. ICON_VIEW_COLUMN_SYMBOLIC,
  697. ICON_VIEW_CONTINUOUS_SYMBOLIC,
  698. ICON_VIEW_DUAL_SYMBOLIC,
  699. ICON_VIEW_FILTER_SYMBOLIC,
  700. ICON_VIEW_FULLSCREEN_SYMBOLIC,
  701. ICON_VIEW_GRID_SYMBOLIC,
  702. ICON_VIEW_LIST_COMPACT_SYMBOLIC,
  703. ICON_VIEW_LIST_IMAGES_SYMBOLIC,
  704. ICON_VIEW_LIST_SYMBOLIC,
  705. ICON_VIEW_LIST_VIDEO_SYMBOLIC,
  706. ICON_VIEW_MORE_HORIZONTAL_SYMBOLIC,
  707. ICON_VIEW_MORE_SYMBOLIC,
  708. ICON_VIEW_PAGED_SYMBOLIC,
  709. ICON_VIEW_PIN_SYMBOLIC,
  710. ICON_VIEW_REFRESH,
  711. ICON_VIEW_REFRESH_SYMBOLIC,
  712. ICON_VIEW_RESTORE_SYMBOLIC,
  713. ICON_VIEW_SORT_ASCENDING_SYMBOLIC,
  714. ICON_VIEW_SORT_DESCENDING_SYMBOLIC,
  715. ICON_WINDOW_CLOSE,
  716. ICON_WINDOW_CLOSE_SYMBOLIC,
  717. ICON_WINDOW_MAXIMIZE_SYMBOLIC,
  718. ICON_WINDOW_MINIMIZE_SYMBOLIC,
  719. ICON_WINDOW_NEW,
  720. ICON_WINDOW_NEW_SYMBOLIC,
  721. ICON_WINDOW_POP_OUT_SYMBOLIC,
  722. ICON_WINDOW_RESTORE_SYMBOLIC,
  723. ICON_ZOOM_FIT_BEST,
  724. ICON_ZOOM_FIT_BEST_SYMBOLIC,
  725. ICON_ZOOM_IN,
  726. ICON_ZOOM_IN_SYMBOLIC,
  727. ICON_ZOOM_ORIGINAL,
  728. ICON_ZOOM_ORIGINAL_SYMBOLIC,
  729. ICON_ZOOM_OUT,
  730. ICON_ZOOM_OUT_SYMBOLIC,
  731. ICON_ACCESSORIES_CALCULATOR,
  732. ICON_ACCESSORIES_CALCULATOR_SYMBOLIC,
  733. ICON_ACCESSORIES_SCREENSHOT,
  734. ICON_ACCESSORIES_TEXT_EDITOR,
  735. ICON_ACCESSORIES_TEXT_EDITOR_SYMBOLIC,
  736. ICON_APPLICATION_DEFAULT_ICON,
  737. ICON_ARCHIVE_MANAGER,
  738. ICON_INTERNET_CHAT,
  739. ICON_INTERNET_CHAT_SYMBOLIC,
  740. ICON_INTERNET_MAIL,
  741. ICON_INTERNET_MAIL_SYMBOLIC,
  742. ICON_INTERNET_NEWS_READER,
  743. ICON_INTERNET_NEWS_READER_SYMBOLIC,
  744. ICON_INTERNET_WEB_BROWSER,
  745. ICON_INTERNET_WEB_BROWSER_SYMBOLIC,
  746. ICON_MULTIMEDIA_AUDIO_PLAYER,
  747. ICON_MULTIMEDIA_PHOTO_MANAGER,
  748. ICON_MULTIMEDIA_VIDEO_PLAYER,
  749. ICON_OFFICE_ADDRESS_BOOK,
  750. ICON_OFFICE_CALENDAR,
  751. ICON_OFFICE_CALENDAR_SYMBOLIC,
  752. ICON_ONBOARD,
  753. ICON_POSTSCRIPT_VIEWER,
  754. ICON_PREFERENCES_DESKTOP,
  755. ICON_PREFERENCES_DESKTOP_FONT,
  756. ICON_SYSTEM_FILE_MANAGER,
  757. ICON_SYSTEM_OS_INSTALLER,
  758. ICON_SYSTEM_SOFTWARE_INSTALL,
  759. ICON_SYSTEM_SOFTWARE_INSTALL_SYMBOLIC,
  760. ICON_SYSTEM_SOFTWARE_UPDATE,
  761. ICON_SYSTEM_USERS,
  762. ICON_SYSTEM_USERS_SYMBOLIC,
  763. ICON_UTILITIES_SYSTEM_MONITOR,
  764. ICON_UTILITIES_TERMINAL,
  765. ICON_UTILITIES_TERMINAL_SYMBOLIC,
  766. ICON_APPLICATIONS_ACCESSORIES,
  767. ICON_APPLICATIONS_AUDIO_SYMBOLIC,
  768. ICON_APPLICATIONS_DEVELOPMENT,
  769. ICON_APPLICATIONS_DEVELOPMENT_SYMBOLIC,
  770. ICON_APPLICATIONS_EDUCATION,
  771. ICON_APPLICATIONS_EDUCATION_SYMBOLIC,
  772. ICON_APPLICATIONS_ENGINEERING_SYMBOLIC,
  773. ICON_APPLICATIONS_FONTS,
  774. ICON_APPLICATIONS_GAMES,
  775. ICON_APPLICATIONS_GAMES_SYMBOLIC,
  776. ICON_APPLICATIONS_GRAPHICS,
  777. ICON_APPLICATIONS_GRAPHICS_SYMBOLIC,
  778. ICON_APPLICATIONS_INTERFACEDESIGN,
  779. ICON_APPLICATIONS_INTERNET_SYMBOLIC,
  780. ICON_APPLICATIONS_MULTIMEDIA,
  781. ICON_APPLICATIONS_MULTIMEDIA_SYMBOLIC,
  782. ICON_APPLICATIONS_OFFICE,
  783. ICON_APPLICATIONS_OFFICE_SYMBOLIC,
  784. ICON_APPLICATIONS_OTHER,
  785. ICON_APPLICATIONS_OTHER_SYMBOLIC,
  786. ICON_APPLICATIONS_PHOTOGRAPHY,
  787. ICON_APPLICATIONS_SCIENCE,
  788. ICON_APPLICATIONS_SCIENCE_SYMBOLIC,
  789. ICON_APPLICATIONS_UTILITIES,
  790. ICON_APPLICATIONS_UTILITIES_SYMBOLIC,
  791. ICON_APPLICATIONS_VIDEO_SYMBOLIC,
  792. ICON_BUG,
  793. ICON_BUG_SYMBOLIC,
  794. ICON_EMOJI_ACTIVITY_SYMBOLIC,
  795. ICON_EMOJI_BODY_SYMBOLIC,
  796. ICON_EMOJI_FOOD_SYMBOLIC,
  797. ICON_EMOJI_NATURE_SYMBOLIC,
  798. ICON_EMOJI_OBJECTS_SYMBOLIC,
  799. ICON_EMOJI_TRAVEL_SYMBOLIC,
  800. ICON_EVENT_BIRTHDAY_SYMBOLIC,
  801. ICON_PREFERENCES_BLUETOOTH_SYMBOLIC,
  802. ICON_PREFERENCES_COLOR,
  803. ICON_PREFERENCES_COLOR_SYMBOLIC,
  804. ICON_PREFERENCES_DESKTOP_ACCESSIBILITY,
  805. ICON_PREFERENCES_DESKTOP_ACCESSIBILITY_POINTING,
  806. ICON_PREFERENCES_DESKTOP_ACCESSIBILITY_SYMBOLIC,
  807. ICON_PREFERENCES_DESKTOP_ACCESSIBILITY_ZOOM,
  808. ICON_PREFERENCES_DESKTOP_APPLICATIONS,
  809. ICON_PREFERENCES_DESKTOP_DISPLAY,
  810. ICON_PREFERENCES_DESKTOP_DISPLAY_SYMBOLIC,
  811. ICON_PREFERENCES_DESKTOP_KEYBOARD,
  812. ICON_PREFERENCES_DESKTOP_KEYBOARD_SYMBOLIC,
  813. ICON_PREFERENCES_DESKTOP_LOCALE,
  814. ICON_PREFERENCES_DESKTOP_LOCALE_SYMBOLIC,
  815. ICON_PREFERENCES_DESKTOP_ONLINE_ACCOUNTS,
  816. ICON_PREFERENCES_DESKTOP_ONLINE_ACCOUNTS_SYMBOLIC,
  817. ICON_PREFERENCES_DESKTOP_PERIPHERALS,
  818. ICON_PREFERENCES_DESKTOP_SOUND,
  819. ICON_PREFERENCES_DESKTOP_WALLPAPER,
  820. ICON_PREFERENCES_OTHER_SYMBOLIC,
  821. ICON_PREFERENCES_SYSTEM,
  822. ICON_PREFERENCES_SYSTEM_NETWORK,
  823. ICON_PREFERENCES_SYSTEM_NETWORK_SYMBOLIC,
  824. ICON_PREFERENCES_SYSTEM_NOTIFICATIONS,
  825. ICON_PREFERENCES_SYSTEM_PARENTAL_CONTROL_SYMBOLIC,
  826. ICON_PREFERENCES_SYSTEM_PARENTAL_CONTROLS,
  827. ICON_PREFERENCES_SYSTEM_POWER,
  828. ICON_PREFERENCES_SYSTEM_POWER_SYMBOLIC,
  829. ICON_PREFERENCES_SYSTEM_PRIVACY_HOUSEKEEPING,
  830. ICON_PREFERENCES_SYSTEM_SHARING,
  831. ICON_PREFERENCES_SYSTEM_SHARING_SYMBOLIC,
  832. ICON_PREFERENCES_SYSTEM_TIME,
  833. ICON_PREFERENCES_SYSTEM_TIME_SYMBOLIC,
  834. ICON_PREFERENCES_SYSTEM_WINDOWS,
  835. ICON_AC_ADAPTER_SYMBOLIC,
  836. ICON_AUDIO_CARD_SYMBOLIC,
  837. ICON_AUDIO_HEADPHONES,
  838. ICON_AUDIO_HEADPHONES_SYMBOLIC,
  839. ICON_AUDIO_HEADSET_SYMBOLIC,
  840. ICON_AUDIO_HEADSETS,
  841. ICON_AUDIO_INPUT_MICROPHONE,
  842. ICON_AUDIO_INPUT_MICROPHONE_SYMBOLIC,
  843. ICON_AUDIO_SPEAKER_CENTER,
  844. ICON_AUDIO_SPEAKER_CENTER_BACK,
  845. ICON_AUDIO_SPEAKER_CENTER_BACK_TESTING,
  846. ICON_AUDIO_SPEAKER_CENTER_TESTING,
  847. ICON_AUDIO_SPEAKER_LEFT,
  848. ICON_AUDIO_SPEAKER_LEFT_BACK,
  849. ICON_AUDIO_SPEAKER_LEFT_BACK_TESTING,
  850. ICON_AUDIO_SPEAKER_LEFT_SIDE,
  851. ICON_AUDIO_SPEAKER_LEFT_SIDE_TESTING,
  852. ICON_AUDIO_SPEAKER_LEFT_TESTING,
  853. ICON_AUDIO_SPEAKER_RIGHT,
  854. ICON_AUDIO_SPEAKER_RIGHT_BACK,
  855. ICON_AUDIO_SPEAKER_RIGHT_BACK_TESTING,
  856. ICON_AUDIO_SPEAKER_RIGHT_SIDE,
  857. ICON_AUDIO_SPEAKER_RIGHT_SIDE_TESTING,
  858. ICON_AUDIO_SPEAKER_RIGHT_TESTING,
  859. ICON_AUDIO_SPEAKERS,
  860. ICON_AUDIO_SPEAKERS_SYMBOLIC,
  861. ICON_AUDIO_SUBWOOFER,
  862. ICON_AUDIO_SUBWOOFER_TESTING,
  863. ICON_BATTERY,
  864. ICON_BATTERY_SYMBOLIC,
  865. ICON_BLUETOOTH,
  866. ICON_BLUETOOTH_SYMBOLIC,
  867. ICON_CAMERA_PHOTO,
  868. ICON_CAMERA_PHOTO_SYMBOLIC,
  869. ICON_CAMERA_VIDEO,
  870. ICON_CAMERA_VIDEO_SYMBOLIC,
  871. ICON_CAMERA_WEB,
  872. ICON_CAMERA_WEB_SYMBOLIC,
  873. ICON_COLORIMETER_COLORHUG_SYMBOLIC,
  874. ICON_COMPUTER_LAPTOP,
  875. ICON_COMPUTER_LAPTOP_SYMBOLIC,
  876. ICON_DISPLAY_PROJECTOR_SYMBOLIC,
  877. ICON_DRIVE_HARDDISK,
  878. ICON_DRIVE_HARDDISK_IEEE1394_SYMBOLIC,
  879. ICON_DRIVE_HARDDISK_SOLIDSTATE,
  880. ICON_DRIVE_HARDDISK_SOLIDSTATE_SYMBOLIC,
  881. ICON_DRIVE_HARDDISK_SYMBOLIC,
  882. ICON_DRIVE_MULTIDISK_SYMBOLIC,
  883. ICON_DRIVE_OPTICAL_SYMBOLIC,
  884. ICON_DRIVE_REMOVABLE_MEDIA,
  885. ICON_DRIVE_REMOVABLE_MEDIA_SYMBOLIC,
  886. ICON_DRIVE_REMOVABLE_MEDIA_USB,
  887. ICON_FINGERPRINT,
  888. ICON_FINGERPRINT_SYMBOLIC,
  889. ICON_GNOME_DEV_PRINTER_NEW,
  890. ICON_INPUT_DIALPAD_SYMBOLIC,
  891. ICON_INPUT_GAMING,
  892. ICON_INPUT_GAMING_SYMBOLIC,
  893. ICON_INPUT_KEYBOARD,
  894. ICON_INPUT_KEYBOARD_SYMBOLIC,
  895. ICON_INPUT_MOUSE,
  896. ICON_INPUT_MOUSE_SYMBOLIC,
  897. ICON_INPUT_TABLET,
  898. ICON_INPUT_TABLET_SYMBOLIC,
  899. ICON_INPUT_TOUCHPAD,
  900. ICON_INPUT_TOUCHPAD_SYMBOLIC,
  901. ICON_MEDIA_FLASH_CF,
  902. ICON_MEDIA_FLASH_MS,
  903. ICON_MEDIA_FLASH_SYMBOLIC,
  904. ICON_MEDIA_FLOPPY_SYMBOLIC,
  905. ICON_MEDIA_MEMORY,
  906. ICON_MEDIA_MEMORY_SD,
  907. ICON_MEDIA_MEMORY_SEMBOLIC,
  908. ICON_MEDIA_MEMORY_SM,
  909. ICON_MEDIA_OPTICAL,
  910. ICON_MEDIA_OPTICAL_SYMBOLIC,
  911. ICON_MEDIA_REMOVABLE_SYMBOLIC,
  912. ICON_MEDIA_TAPE_SYMBOLIC,
  913. ICON_MEDIA_ZIP_SYMBOLIC,
  914. ICON_MODEM,
  915. ICON_MODEM_SYMBOLIC,
  916. ICON_MULTIMEDIA_PLAYER,
  917. ICON_MULTIMEDIA_PLAYER_SYMBOLIC,
  918. ICON_NETWORK_CELLULAR,
  919. ICON_NETWORK_FIREWALL,
  920. ICON_NETWORK_VPN,
  921. ICON_NETWORK_WIRED,
  922. ICON_NETWORK_WIRELESS,
  923. ICON_NETWORK_WIRELESS_HOTSPOT,
  924. ICON_NM_DEVICE_WWAN,
  925. ICON_PDA_SYMBOLIC,
  926. ICON_PHONE,
  927. ICON_PHONE_SYMBOLIC,
  928. ICON_PRINTER,
  929. ICON_PRINTER_NETWORK,
  930. ICON_PRINTER_SYMBOLIC,
  931. ICON_SCANNER,
  932. ICON_SCANNER_SYMBOLIC,
  933. ICON_TABLET,
  934. ICON_TABLET_SYMBOLIC,
  935. ICON_TV_SYMBOLIC,
  936. ICON_UNINTERRUPTIBLE_POWER_SUPPLY,
  937. ICON_UNINTERRUPTIBLE_POWER_SUPPLY_SYMBOLIC,
  938. ICON_VIDEO_DISPLAY,
  939. ICON_VIDEO_DISPLAY_SYMBOLIC,
  940. ICON_EMBLEM_DEFAULT_SYMBOLIC,
  941. ICON_EMBLEM_DOCUMENTS_SYMBOLIC,
  942. ICON_EMBLEM_FAVORITE_SYMBOLIC,
  943. ICON_EMBLEM_IMPORTANT_SYMBOLIC,
  944. ICON_EMBLEM_MUSIC_SYMBOLIC,
  945. ICON_EMBLEM_OK_SYMBOLIC,
  946. ICON_EMBLEM_PHOTOS_SYMBOLIC,
  947. ICON_EMBLEM_READONLY,
  948. ICON_EMBLEM_SHARED_SYMBOLIC,
  949. ICON_EMBLEM_SYMBOLIC_LINK,
  950. ICON_EMBLEM_SYNCHRONIZED,
  951. ICON_EMBLEM_SYNCHRONIZING_SYMBOLIC,
  952. ICON_EMBLEM_UNREADABLE,
  953. ICON_EMBLEM_VIDEOS_SYMBOLIC,
  954. ICON_FACE_ANGEL,
  955. ICON_FACE_ANGEL_SYMBOLIC,
  956. ICON_FACE_ANGRY,
  957. ICON_FACE_ANGRY_SYMBOLIC,
  958. ICON_FACE_COOL,
  959. ICON_FACE_COOL_SYMBOLIC,
  960. ICON_FACE_CRYING,
  961. ICON_FACE_CRYING_SYMBOLIC,
  962. ICON_FACE_DEVILISH,
  963. ICON_FACE_DEVILISH_SYMBOLIC,
  964. ICON_FACE_EMBARRASSED,
  965. ICON_FACE_EMBARRASSED_SYMBOLIC,
  966. ICON_FACE_HEART,
  967. ICON_FACE_HEART_BROKEN,
  968. ICON_FACE_HEART_BROKEN_SYMBOLIC,
  969. ICON_FACE_HEART_SYMBOLIC,
  970. ICON_FACE_KISS,
  971. ICON_FACE_KISS_SYMBOLIC,
  972. ICON_FACE_LAUGH,
  973. ICON_FACE_LAUGH_SYMBOLIC,
  974. ICON_FACE_MONKEY_SYMBOLIC,
  975. ICON_FACE_PLAIN,
  976. ICON_FACE_PLAIN_SYMBOLIC,
  977. ICON_FACE_RASPBERRY,
  978. ICON_FACE_RASPBERRY_SYMBOLIC,
  979. ICON_FACE_SAD,
  980. ICON_FACE_SAD_SYMBOLIC,
  981. ICON_FACE_SICK,
  982. ICON_FACE_SICK_SYMBOLIC,
  983. ICON_FACE_SMILE,
  984. ICON_FACE_SMILE_BIG,
  985. ICON_FACE_SMILE_BIG_SYMBOLIC,
  986. ICON_FACE_SMILE_SYMBOLIC,
  987. ICON_FACE_SMIRK,
  988. ICON_FACE_SMIRK_SYMBOLIC,
  989. ICON_FACE_SURPRISE,
  990. ICON_FACE_SURPRISE_SYMBOLIC,
  991. ICON_FACE_TIRED,
  992. ICON_FACE_TIRED_SYMBOLIC,
  993. ICON_FACE_UNCERTAIN,
  994. ICON_FACE_UNCERTAIN_SYMBOLIC,
  995. ICON_FACE_WINK,
  996. ICON_FACE_WINK_SYMBOLIC,
  997. ICON_FACE_WORRIED,
  998. ICON_FACE_WORRIED_SYMBOLIC,
  999. ICON_APPLICATION_CERTIFICATE_SYMBOLIC,
  1000. ICON_APPLICATION_EPUB_ZIP,
  1001. ICON_APPLICATION_ILLUSTRATOR,
  1002. ICON_APPLICATION_JAVASCRIPT,
  1003. ICON_APPLICATION_MSWORD,
  1004. ICON_APPLICATION_OCTET_STREAM,
  1005. ICON_APPLICATION_PDF,
  1006. ICON_APPLICATION_PGP,
  1007. ICON_APPLICATION_RSS_XML_SYMBOLIC,
  1008. ICON_APPLICATION_VND,
  1009. ICON_APPLICATION_X_APPLIANCE_SYMBOLIC,
  1010. ICON_APPLICATION_X_BITTORRENT,
  1011. ICON_APPLICATION_X_CD_IMAGE,
  1012. ICON_APPLICATION_X_DESKTOP,
  1013. ICON_APPLICATION_X_EXECUTABLE_SYMBOLIC,
  1014. ICON_APPLICATION_X_FICTIONBOOK_XML,
  1015. ICON_APPLICATION_X_FIRMWARE,
  1016. ICON_APPLICATION_X_FIRMWARE_SYMBOLIC,
  1017. ICON_APPLICATION_X_FLASH_VIDEO,
  1018. ICON_APPLICATION_X_MS_DOS_EXECUTABLE,
  1019. ICON_APPLICATION_X_PARTIAL_DOWNLOAD,
  1020. ICON_APPLICATION_X_PHP,
  1021. ICON_APPLICATION_X_RUBY,
  1022. ICON_AUDIO_X_GENERIC,
  1023. ICON_AUDIO_X_GENERIC_SYMBOLIC,
  1024. ICON_AUDIO_X_PLAYLIST,
  1025. ICON_EXTENSION,
  1026. ICON_FONT_X_GENERIC,
  1027. ICON_FONT_X_GENERIC_SYMBOLIC,
  1028. ICON_IMAGE_VND,
  1029. ICON_IMAGE_X_GENERIC,
  1030. ICON_IMAGE_X_GENERIC_SYMBOLIC,
  1031. ICON_IMAGE_X_XCF,
  1032. ICON_INTERNET_FEED,
  1033. ICON_MODEL,
  1034. ICON_OFFICE_CONTACT,
  1035. ICON_OFFICE_DATABASE,
  1036. ICON_PACKAGE_X_GENERIC,
  1037. ICON_PACKAGE_X_GENERIC_SYMBOLIC,
  1038. ICON_PAYMENT_CARD,
  1039. ICON_PAYMENT_CARD_AMEX,
  1040. ICON_PAYMENT_CARD_DINERS_CLUB,
  1041. ICON_PAYMENT_CARD_DISCOVER,
  1042. ICON_PAYMENT_CARD_JCB,
  1043. ICON_PAYMENT_CARD_MASTERCARD,
  1044. ICON_PAYMENT_CARD_SYMBOLIC,
  1045. ICON_PAYMENT_CARD_UNIONPAY,
  1046. ICON_PAYMENT_CARD_VISA,
  1047. ICON_TEXT,
  1048. ICON_TEXT_CSS,
  1049. ICON_TEXT_HTML,
  1050. ICON_TEXT_HTML_SYMBOLIC,
  1051. ICON_TEXT_MARKDOWN,
  1052. ICON_TEXT_X_BIBTEX,
  1053. ICON_TEXT_X_CHANGELOG,
  1054. ICON_TEXT_X_CHDR,
  1055. ICON_TEXT_X_COPYING,
  1056. ICON_TEXT_X_COPYING_SYMBOLIC,
  1057. ICON_TEXT_X_CSRC,
  1058. ICON_TEXT_X_GENERIC_SYMBOLIC,
  1059. ICON_TEXT_X_GENERIC_TEMPLATE,
  1060. ICON_TEXT_X_GETTEXT_TRANSLATION,
  1061. ICON_TEXT_X_GETTEXT_TRANSLATION_TEMPLATE,
  1062. ICON_TEXT_X_GO,
  1063. ICON_TEXT_X_INSTALL,
  1064. ICON_TEXT_X_MAKEFILE,
  1065. ICON_TEXT_X_PREVIEW,
  1066. ICON_TEXT_X_PYTHON,
  1067. ICON_TEXT_X_README,
  1068. ICON_TEXT_X_SASS,
  1069. ICON_TEXT_X_SCRIPT,
  1070. ICON_TEXT_X_SSA,
  1071. ICON_TEXT_X_TEX,
  1072. ICON_TEXT_X_VALA,
  1073. ICON_UNKNOWN,
  1074. ICON_VIDEO_X_GENERIC,
  1075. ICON_VIDEO_X_GENERIC_SYMBOLIC,
  1076. ICON_X_OFFICE_ADDRESS_BOOK_SYMBOLIC,
  1077. ICON_X_OFFICE_DOCUMENT,
  1078. ICON_X_OFFICE_DOCUMENT_SYMBOLIC,
  1079. ICON_X_OFFICE_DOCUMENT_TEMPLATE,
  1080. ICON_X_OFFICE_DRAWING,
  1081. ICON_X_OFFICE_DRAWING_SYMBOLIC,
  1082. ICON_X_OFFICE_DRAWING_TEMPLATE,
  1083. ICON_X_OFFICE_PRESENTATION,
  1084. ICON_X_OFFICE_PRESENTATION_SYMBOLIC,
  1085. ICON_X_OFFICE_PRESENTATION_TEMPLATE,
  1086. ICON_X_OFFICE_SPREADSHEET,
  1087. ICON_X_OFFICE_SPREADSHEET_SYMBOLIC,
  1088. ICON_X_OFFICE_SPREADSHEET_TEMPLATE,
  1089. ICON_BOOKMARK_MISSING,
  1090. ICON_DISTRIBUTOR_LOGO,
  1091. ICON_DISTRIBUTOR_LOGO_SYMBOLIC,
  1092. ICON_FOLDER,
  1093. ICON_FOLDER_DOCUMENTS,
  1094. ICON_FOLDER_DOCUMENTS_OPEN,
  1095. ICON_FOLDER_DOCUMENTS_SYMBOLIC,
  1096. ICON_FOLDER_DOWNLOAD,
  1097. ICON_FOLDER_DOWNLOAD_OPEN,
  1098. ICON_FOLDER_DOWNLOAD_SYMBOLIC,
  1099. ICON_FOLDER_MUSIC,
  1100. ICON_FOLDER_MUSIC_OPEN,
  1101. ICON_FOLDER_MUSIC_SYMBOLIC,
  1102. ICON_FOLDER_OPEN,
  1103. ICON_FOLDER_PICTURES,
  1104. ICON_FOLDER_PICTURES_OPEN,
  1105. ICON_FOLDER_PICTURES_SYMBOLIC,
  1106. ICON_FOLDER_PUBLICSHARE,
  1107. ICON_FOLDER_PUBLICSHARE_OPEN,
  1108. ICON_FOLDER_PUBLICSHARE_SYMBOLIC,
  1109. ICON_FOLDER_RECENT,
  1110. ICON_FOLDER_RECENT_SYMBOLIC,
  1111. ICON_FOLDER_REMOTE,
  1112. ICON_FOLDER_REMOTE_OPEN,
  1113. ICON_FOLDER_SAVED_SEARCH,
  1114. ICON_FOLDER_SYMBOLIC,
  1115. ICON_FOLDER_TAG,
  1116. ICON_FOLDER_TEMPLATES,
  1117. ICON_FOLDER_TEMPLATES_OPEN,
  1118. ICON_FOLDER_TEMPLATES_SYMBOLIC,
  1119. ICON_FOLDER_VIDEOS,
  1120. ICON_FOLDER_VIDEOS_OPEN,
  1121. ICON_FOLDER_VIDEOS_SYMBOLIC,
  1122. ICON_INTERNET_RADIO,
  1123. ICON_INTERNET_RADIO_SYMBOLIC,
  1124. ICON_LIBRARY_AUDIOBOOK,
  1125. ICON_LIBRARY_PLACES,
  1126. ICON_LIBRARY_PODCAST,
  1127. ICON_MAIL_INBOX,
  1128. ICON_MAIL_INBOX_SYMBOLIC,
  1129. ICON_MAIL_MAILBOX,
  1130. ICON_MAIL_MAILBOX_SYMBOLIC,
  1131. ICON_MAIL_OUTBOX,
  1132. ICON_MAIL_OUTBOX_SYMBOLIC,
  1133. ICON_NETWORK_SERVER_SYMBOLIC,
  1134. ICON_PLAYLIST,
  1135. ICON_PLAYLIST_AUTOMATIC,
  1136. ICON_PLAYLIST_QUEUE,
  1137. ICON_PLAYLIST_QUEUE_SYMBOLIC,
  1138. ICON_PLAYLIST_SIMILAR,
  1139. ICON_PLAYLIST_SYMBOLIC,
  1140. ICON_TAG_SYMBOLIC,
  1141. ICON_USER_BOOKMARKS_SYMBOLIC,
  1142. ICON_USER_HOME,
  1143. ICON_USER_HOME_OPEN,
  1144. ICON_USER_HOME_SYMBOLIC,
  1145. ICON_USER_TRASH,
  1146. ICON_USER_TRASH_FULL,
  1147. ICON_USER_TRASH_SYMBOLIC,
  1148. ICON_AIRPLANE_MODE,
  1149. ICON_AIRPLANE_MODE_SYMBOLIC,
  1150. ICON_ALARM_SYMBOLIC,
  1151. ICON_APPOINTMENT_MISSED,
  1152. ICON_APPOINTMENT_MISSED_SYMBOLIC,
  1153. ICON_APPOINTMENT_SOON,
  1154. ICON_APPOINTMENT_SOON_SYMBOLIC,
  1155. ICON_AUDIO_VOLUME_HIGH_SYMBOLIC,
  1156. ICON_AUDIO_VOLUME_LOW_SYMBOLIC,
  1157. ICON_AUDIO_VOLUME_MEDIUM_SYMBOLIC,
  1158. ICON_AUDIO_VOLUME_MUTED_BLOCKING_SYMBOLIC,
  1159. ICON_AUDIO_VOLUME_MUTED_SYMBOLIC,
  1160. ICON_AVATAR_DEFAULT,
  1161. ICON_AVATAR_DEFAULT_SYMBOLIC,
  1162. ICON_BATTERY_AC_ADAPTER,
  1163. ICON_BATTERY_AC_ADAPTER_SYMBOLIC,
  1164. ICON_BATTERY_CAUTION,
  1165. ICON_BATTERY_CAUTION_CHARGING,
  1166. ICON_BATTERY_CAUTION_CHARGING_SYMBOLIC,
  1167. ICON_BATTERY_CAUTION_SYMBOLIC,
  1168. ICON_BATTERY_EMPTY,
  1169. ICON_BATTERY_EMPTY_CHARGING,
  1170. ICON_BATTERY_EMPTY_CHARGING_SYMBOLIC,
  1171. ICON_BATTERY_EMPTY_SYMBOLIC,
  1172. ICON_BATTERY_FULL,
  1173. ICON_BATTERY_FULL_CHARGED,
  1174. ICON_BATTERY_FULL_CHARGED_SYMBOLIC,
  1175. ICON_BATTERY_FULL_CHARGING,
  1176. ICON_BATTERY_FULL_CHARGING_SYMBOLIC,
  1177. ICON_BATTERY_FULL_SYMBOLIC,
  1178. ICON_BATTERY_GOOD,
  1179. ICON_BATTERY_GOOD_CHARGING,
  1180. ICON_BATTERY_GOOD_CHARGING_SYMBOLIC,
  1181. ICON_BATTERY_GOOD_SYMBOLIC,
  1182. ICON_BATTERY_LOW,
  1183. ICON_BATTERY_LOW_CHARGING,
  1184. ICON_BATTERY_LOW_CHARGING_SYMBOLIC,
  1185. ICON_BATTERY_LOW_SYMBOLIC,
  1186. ICON_BATTERY_MISSING,
  1187. ICON_BATTERY_MISSING_SYMBOLIC,
  1188. ICON_BLUETOOTH_ACTIVE_SYMBOLIC,
  1189. ICON_BLUETOOTH_DISABLED,
  1190. ICON_BLUETOOTH_DISABLED_10_SYMBOLIC,
  1191. ICON_BLUETOOTH_DISABLED_20_SYMBOLIC,
  1192. ICON_BLUETOOTH_DISABLED_30_SYMBOLIC,
  1193. ICON_BLUETOOTH_DISABLED_40_SYMBOLIC,
  1194. ICON_BLUETOOTH_DISABLED_50_SYMBOLIC,
  1195. ICON_BLUETOOTH_DISABLED_60_SYMBOLIC,
  1196. ICON_BLUETOOTH_DISABLED_70_SYMBOLIC,
  1197. ICON_BLUETOOTH_DISABLED_80_SYMBOLIC,
  1198. ICON_BLUETOOTH_DISABLED_90_SYMBOLIC,
  1199. ICON_BLUETOOTH_DISABLED_SYMBOLIC,
  1200. ICON_BLUETOOTH_PAIRED_SYMBOLIC,
  1201. ICON_CALL_MISSED_SYMBOLIC,
  1202. ICON_CHANGES_ALLOW,
  1203. ICON_CHANGES_ALLOW_SYMBOLIC,
  1204. ICON_CHANGES_PREVENT_SYMBOLIC,
  1205. ICON_CHANNEL_INSECURE_SYMBOLIC,
  1206. ICON_CHANNEL_SECURE_SYMBOLIC,
  1207. ICON_CHECK_ACTIVE_SYMBOLIC,
  1208. ICON_CHECK_MIXED_SYMBOLIC,
  1209. ICON_CHECKBOX_CHECKED_SYMBOLIC,
  1210. ICON_CHECKBOX_MIXED_SYMBOLIC,
  1211. ICON_CHECKBOX_SYMBOLIC,
  1212. ICON_COMPUTER_FAIL_SYMBOLIC,
  1213. ICON_CONTENT_LOADING_SYMBOLIC,
  1214. ICON_DAYTIME_SUNRISE_SYMBOLIC,
  1215. ICON_DAYTIME_SUNSET_SYMBOLIC,
  1216. ICON_DIALOG_ERROR,
  1217. ICON_DIALOG_ERROR_SYMBOLIC,
  1218. ICON_DIALOG_INFORMATION,
  1219. ICON_DIALOG_INFORMATION_SYMBOLIC,
  1220. ICON_DIALOG_PASSWORD,
  1221. ICON_DIALOG_PASSWORD_SYMBOLIC,
  1222. ICON_DIALOG_WARNING,
  1223. ICON_DIALOG_WARNING_SYMBOLIC,
  1224. ICON_DISPLAY_BRIGHTNESS_SYMBOLIC,
  1225. ICON_FOLDER_OPEN_SYMBOLIC,
  1226. ICON_FOLDER_VISITING_SYMBOLIC,
  1227. ICON_IMAGE_LOADING,
  1228. ICON_IMAGE_MISSING,
  1229. ICON_INPUT_KEYBOARD_CAPSLOCK_SYMBOLIC,
  1230. ICON_INPUT_KEYBOARD_NUMLOCK_SYMBOLIC,
  1231. ICON_KEYBOARD_BRIGHTNESS_SYMBOLIC,
  1232. ICON_LOCATION_ACTIVE_SYMBOLIC,
  1233. ICON_LOCATION_DISABLED_SYMBOLIC,
  1234. ICON_LOCATION_INACTIVE_SYMBOLIC,
  1235. ICON_LOCKED,
  1236. ICON_MAIL_ATTACHMENT_SYMBOLIC,
  1237. ICON_MAIL_FORWARDED_SYMBOLIC,
  1238. ICON_MAIL_IMPORTANT_SYMBOLIC,
  1239. ICON_MAIL_READ_SYMBOLIC,
  1240. ICON_MAIL_REPLIED_SYMBOLIC,
  1241. ICON_MAIL_UNREAD,
  1242. ICON_MAIL_UNREAD_SYMBOLIC,
  1243. ICON_MEDIA_PLAYLIST_CONSECUTIVE_SYMBOLIC,
  1244. ICON_MEDIA_PLAYLIST_NO_REPEAT_SYMBOLIC,
  1245. ICON_MEDIA_PLAYLIST_REPEAT,
  1246. ICON_MEDIA_PLAYLIST_REPEAT_SONG_SYMBOLIC,
  1247. ICON_MEDIA_PLAYLIST_REPEAT_SYMBOLIC,
  1248. ICON_MEDIA_PLAYLIST_SHUFFLE_SYMBOLIC,
  1249. ICON_MICROPHONE_SENSITIVITY_HIGH_SYMBOLIC,
  1250. ICON_MICROPHONE_SENSITIVITY_LOW_SYMBOLIC,
  1251. ICON_MICROPHONE_SENSITIVITY_MEDIUM_SYMBOLIC,
  1252. ICON_MICROPHONE_SENSITIVITY_MUTED_10_SYMBOLIC,
  1253. ICON_MICROPHONE_SENSITIVITY_MUTED_20_SYMBOLIC,
  1254. ICON_MICROPHONE_SENSITIVITY_MUTED_30_SYMBOLIC,
  1255. ICON_MICROPHONE_SENSITIVITY_MUTED_40_SYMBOLIC,
  1256. ICON_MICROPHONE_SENSITIVITY_MUTED_50_SYMBOLIC,
  1257. ICON_MICROPHONE_SENSITIVITY_MUTED_60_SYMBOLIC,
  1258. ICON_MICROPHONE_SENSITIVITY_MUTED_70_SYMBOLIC,
  1259. ICON_MICROPHONE_SENSITIVITY_MUTED_80_SYMBOLIC,
  1260. ICON_MICROPHONE_SENSITIVITY_MUTED_90_SYMBOLIC,
  1261. ICON_MICROPHONE_SENSITIVITY_MUTED_SYMBOLIC,
  1262. ICON_NETWORK_CELLULAR_ACQUIRING_SYMBOLIC,
  1263. ICON_NETWORK_CELLULAR_CONNECTED_SYMBOLIC,
  1264. ICON_NETWORK_CELLULAR_NO_ROUTE_SYMBOLIC,
  1265. ICON_NETWORK_CELLULAR_OFFLINE_SYMBOLIC,
  1266. ICON_NETWORK_CELLULAR_SIGNAL_EXCELLENT_SECURE_SYMBOLIC,
  1267. ICON_NETWORK_CELLULAR_SIGNAL_EXCELLENT_SYMBOLIC,
  1268. ICON_NETWORK_CELLULAR_SIGNAL_GOOD_SECURE_SYMBOLIC,
  1269. ICON_NETWORK_CELLULAR_SIGNAL_GOOD_SYMBOLIC,
  1270. ICON_NETWORK_CELLULAR_SIGNAL_NONE_SECURE_SYMBOLIC,
  1271. ICON_NETWORK_CELLULAR_SIGNAL_NONE_SYMBOLIC,
  1272. ICON_NETWORK_CELLULAR_SIGNAL_OK_SECURE_SYMBOLIC,
  1273. ICON_NETWORK_CELLULAR_SIGNAL_OK_SYMBOLIC,
  1274. ICON_NETWORK_CELLULAR_SIGNAL_WEAK_SECURE_SYMBOLIC,
  1275. ICON_NETWORK_CELLULAR_SIGNAL_WEAK_SYMBOLIC,
  1276. ICON_NETWORK_ERROR,
  1277. ICON_NETWORK_ERROR_SYMBOLIC,
  1278. ICON_NETWORK_IDLE,
  1279. ICON_NETWORK_OFFLINE_SYMBOLIC,
  1280. ICON_NETWORK_VPN_ACQUIRING_SYMBOLIC,
  1281. ICON_NETWORK_VPN_LOCK_SYMBOLIC,
  1282. ICON_NETWORK_VPN_SYMBOLIC,
  1283. ICON_NETWORK_WIRED_ACQUIRING_SYMBOLIC,
  1284. ICON_NETWORK_WIRED_DISCONNECTED,
  1285. ICON_NETWORK_WIRED_NO_ROUTE_SYMBOLIC,
  1286. ICON_NETWORK_WIRED_OFFLINE_SYMBOLIC,
  1287. ICON_NETWORK_WIRED_SYMBOLIC,
  1288. ICON_NETWORK_WIRELESS_ACQUIRING_SYMBOLIC,
  1289. ICON_NETWORK_WIRELESS_CONNECTED_SYMBOLIC,
  1290. ICON_NETWORK_WIRELESS_ENCRYPTED_SYMBOLIC,
  1291. ICON_NETWORK_WIRELESS_HOTSPOT_SYMBOLIC,
  1292. ICON_NETWORK_WIRELESS_NO_ROUTE_SYMBOLIC,
  1293. ICON_NETWORK_WIRELESS_OFFLINE_SYMBOLIC,
  1294. ICON_NETWORK_WIRELESS_SIGNAL_EXCELLENT_SECURE_SYMBOLIC,
  1295. ICON_NETWORK_WIRELESS_SIGNAL_EXCELLENT_SYMBOLIC,
  1296. ICON_NETWORK_WIRELESS_SIGNAL_GOOD_SECURE_SYMBOLIC,
  1297. ICON_NETWORK_WIRELESS_SIGNAL_GOOD_SYMBOLIC,
  1298. ICON_NETWORK_WIRELESS_SIGNAL_NONE_SYMBOLIC,
  1299. ICON_NETWORK_WIRELESS_SIGNAL_OK_SECURE_SYMBOLIC,
  1300. ICON_NETWORK_WIRELESS_SIGNAL_OK_SYMBOLIC,
  1301. ICON_NETWORK_WIRELESS_SIGNAL_WEAK_SECURE_SYMBOLIC,
  1302. ICON_NETWORK_WIRELESS_SIGNAL_WEAK_SYMBOLIC,
  1303. ICON_NETWORK_WIRELESS_SYMBOLIC,
  1304. ICON_NIGHT_LIGHT,
  1305. ICON_NIGHT_LIGHT_DISABLED_10_SYMBOLIC,
  1306. ICON_NIGHT_LIGHT_DISABLED_20_SYMBOLIC,
  1307. ICON_NIGHT_LIGHT_DISABLED_30_SYMBOLIC,
  1308. ICON_NIGHT_LIGHT_DISABLED_40_SYMBOLIC,
  1309. ICON_NIGHT_LIGHT_DISABLED_50_SYMBOLIC,
  1310. ICON_NIGHT_LIGHT_DISABLED_60_SYMBOLIC,
  1311. ICON_NIGHT_LIGHT_DISABLED_70_SYMBOLIC,
  1312. ICON_NIGHT_LIGHT_DISABLED_80_SYMBOLIC,
  1313. ICON_NIGHT_LIGHT_DISABLED_90_SYMBOLIC,
  1314. ICON_NIGHT_LIGHT_DISABLED_SYMBOLIC,
  1315. ICON_NIGHT_LIGHT_SYMBOLIC,
  1316. ICON_NM_NO_CONNECTION,
  1317. ICON_NM_SIGNAL_0,
  1318. ICON_NM_SIGNAL_0_SECURE,
  1319. ICON_NM_SIGNAL_100,
  1320. ICON_NM_SIGNAL_100_SECURE,
  1321. ICON_NM_SIGNAL_25,
  1322. ICON_NM_SIGNAL_25_SECURE,
  1323. ICON_NM_SIGNAL_50,
  1324. ICON_NM_SIGNAL_50_SECURE,
  1325. ICON_NM_SIGNAL_75,
  1326. ICON_NM_SIGNAL_75_SECURE,
  1327. ICON_NM_VPN_ACTIVE_LOCK,
  1328. ICON_NM_VPN_LOCK,
  1329. ICON_NON_STARRED,
  1330. ICON_NON_STARRED_SYMBOLIC,
  1331. ICON_NOTIFICATION_AUDIO_VOLUME_HIGH,
  1332. ICON_NOTIFICATION_AUDIO_VOLUME_LOW,
  1333. ICON_NOTIFICATION_AUDIO_VOLUME_MEDIUM,
  1334. ICON_NOTIFICATION_AUDIO_VOLUME_MUTED,
  1335. ICON_NOTIFICATION_DEVICE_EJECT,
  1336. ICON_NOTIFICATION_DISABLED,
  1337. ICON_NOTIFICATION_DISABLED_10_SYMBOLIC,
  1338. ICON_NOTIFICATION_DISABLED_20_SYMBOLIC,
  1339. ICON_NOTIFICATION_DISABLED_30_SYMBOLIC,
  1340. ICON_NOTIFICATION_DISABLED_40_SYMBOLIC,
  1341. ICON_NOTIFICATION_DISABLED_50_SYMBOLIC,
  1342. ICON_NOTIFICATION_DISABLED_60_SYMBOLIC,
  1343. ICON_NOTIFICATION_DISABLED_70_SYMBOLIC,
  1344. ICON_NOTIFICATION_DISABLED_80_SYMBOLIC,
  1345. ICON_NOTIFICATION_DISABLED_90_SYMBOLIC,
  1346. ICON_NOTIFICATION_DISABLED_SYMBOLIC,
  1347. ICON_NOTIFICATION_DISPLAY_BRIGHTNESS,
  1348. ICON_NOTIFICATION_KEYBOARD_BRIGHTNESS,
  1349. ICON_NOTIFICATION_NETWORK_ETHERNET_DISCONNECTED,
  1350. ICON_NOTIFICATION_NETWORK_WIRED,
  1351. ICON_NOTIFICATION_NETWORK_WIRELESS,
  1352. ICON_NOTIFICATION_NETWORK_WIRELESS_DISCONNECTED,
  1353. ICON_NOTIFICATION_NETWORK_WIRELESS_DISCONNECTED_SYMBOLIC,
  1354. ICON_NOTIFICATION_NETWORK_WIRELESS_SYMBOLIC,
  1355. ICON_NOTIFICATION_NEW_10_SYMBOLIC,
  1356. ICON_NOTIFICATION_NEW_20_SYMBOLIC,
  1357. ICON_NOTIFICATION_NEW_30_SYMBOLIC,
  1358. ICON_NOTIFICATION_NEW_40_SYMBOLIC,
  1359. ICON_NOTIFICATION_NEW_50_SYMBOLIC,
  1360. ICON_NOTIFICATION_NEW_60_SYMBOLIC,
  1361. ICON_NOTIFICATION_NEW_70_SYMBOLIC,
  1362. ICON_NOTIFICATION_NEW_80_SYMBOLIC,
  1363. ICON_NOTIFICATION_NEW_90_SYMBOLIC,
  1364. ICON_NOTIFICATION_NEW_SYMBOLIC,
  1365. ICON_NOTIFICATION_SYMBOLIC,
  1366. ICON_PAGER_CHECKED_SYMBOLIC,
  1367. ICON_PRINTER_ERROR,
  1368. ICON_PRINTER_ERROR_SYMBOLIC,
  1369. ICON_PRINTER_PRINTING_SYMBOLIC,
  1370. ICON_PRINTER_WARNING_SYMBOLIC,
  1371. ICON_PROCESS_COMPLETED,
  1372. ICON_PROCESS_COMPLETED_SYMBOLIC,
  1373. ICON_PROCESS_ERROR_SYMBOLIC,
  1374. ICON_PROCESS_WORKING_SYMBOLIC,
  1375. ICON_RADIO_CHECKED_SYMBOLIC,
  1376. ICON_RADIO_MIXED_SYMBOLIC,
  1377. ICON_RADIO_SYMBOLIC,
  1378. ICON_ROTATION_ALLOWED_SYMBOLIC,
  1379. ICON_ROTATION_LOCKED_SYMBOLIC,
  1380. ICON_SECURITY_HIGH,
  1381. ICON_SECURITY_HIGH_SYMBOLIC,
  1382. ICON_SECURITY_LOW,
  1383. ICON_SECURITY_LOW_SYMBOLIC,
  1384. ICON_SECURITY_MEDIUM,
  1385. ICON_SECURITY_MEDIUM_SYMBOLIC,
  1386. ICON_SEMI_STARRED,
  1387. ICON_SEMI_STARRED_SYMBOLIC,
  1388. ICON_SOFTWARE_UPDATE_AVAILABLE_SYMBOLIC,
  1389. ICON_SOFTWARE_UPDATE_URGENT_SYMBOLIC,
  1390. ICON_STARRED,
  1391. ICON_STARRED_SYMBOLIC,
  1392. ICON_TASK_DUE_SYMBOLIC,
  1393. ICON_TASK_PAST_DUE_SYMBOLIC,
  1394. ICON_TOUCHPAD_DISABLED_SYMBOLIC,
  1395. ICON_USER_AVAILABLE,
  1396. ICON_USER_AVAILABLE_SYMBOLIC,
  1397. ICON_USER_AWAY,
  1398. ICON_USER_AWAY_SYMBOLIC,
  1399. ICON_USER_BUSY,
  1400. ICON_USER_BUSY_SYMBOLIC,
  1401. ICON_USER_IDLE_SYMBOLIC,
  1402. ICON_USER_INVISIBLE,
  1403. ICON_USER_INVISIBLE_SYMBOLIC,
  1404. ICON_USER_OFFLINE,
  1405. ICON_USER_OFFLINE_SYMBOLIC,
  1406. ICON_USER_STATUS_PENDING_SYMBOLIC,
  1407. ICON_USER_TRASH_FULL_SYMBOLIC,
  1408. ICON_USER_TYPING,
  1409. ICON_VIEW_PRIVATE,
  1410. ICON_VIEW_PRIVATE_SYMBOLIC,
  1411. ICON_VIEW_WRAPPED_SYMBOLIC,
  1412. ICON_WEATHER_CLEAR_NIGHT_SYMBOLIC,
  1413. ICON_WEATHER_CLEAR_SYMBOLIC,
  1414. ICON_WEATHER_FEW_CLOUDS_NIGHT_SYMBOLIC,
  1415. ICON_WEATHER_FEW_CLOUDS_SYMBOLIC,
  1416. ICON_WEATHER_FOG_NIGHT_SYMBOLIC,
  1417. ICON_WEATHER_FOG_SYMBOLIC,
  1418. ICON_WEATHER_OVERCAST_NIGHT_SYMBOLIC,
  1419. ICON_WEATHER_OVERCAST_SYMBOLIC,
  1420. ICON_WEATHER_SEVERE_ALERT_SYMBOLIC,
  1421. ICON_WEATHER_SHOWERS_NIGHT_SYMBOLIC,
  1422. ICON_WEATHER_SHOWERS_SCATTERED_NIGHT_SYMBOLIC,
  1423. ICON_WEATHER_SHOWERS_SCATTERED_SYMBOLIC,
  1424. ICON_WEATHER_SHOWERS_SYMBOLIC,
  1425. ICON_WEATHER_SNOW_NIGHT_SYMBOLIC,
  1426. ICON_WEATHER_SNOW_SYMBOLIC,
  1427. ICON_WEATHER_STORM_NIGHT_SYMBOLIC,
  1428. ICON_WEATHER_STORM_SYMBOLIC,
  1429. ICON_WEATHER_STORM_TORNADO_NIGHT_SYMBOLIC,
  1430. ICON_WEATHER_STORM_TORNADO_SYMBOLIC,
  1431. ICON_WEATHER_WINDY_SYMBOLIC,
  1432. }
  1433. FatalError :: enum {
  1434. FATAL_ERROR_INVALID_BUFFER,
  1435. FATAL_ERROR_UNKNOWN_SYSCALL,
  1436. FATAL_ERROR_INVALID_MEMORY_REGION,
  1437. FATAL_ERROR_MEMORY_REGION_LOCKED_BY_KERNEL,
  1438. FATAL_ERROR_PATH_LENGTH_EXCEEDS_LIMIT,
  1439. FATAL_ERROR_INVALID_HANDLE,
  1440. FATAL_ERROR_MUTEX_NOT_ACQUIRED_BY_THREAD,
  1441. FATAL_ERROR_MUTEX_ALREADY_ACQUIRED,
  1442. FATAL_ERROR_BUFFER_NOT_ACCESSIBLE,
  1443. FATAL_ERROR_SHARED_MEMORY_REGION_TOO_LARGE,
  1444. FATAL_ERROR_SHARED_MEMORY_STILL_MAPPED,
  1445. FATAL_ERROR_COULD_NOT_LOAD_FONT,
  1446. FATAL_ERROR_COULD_NOT_DRAW_FONT,
  1447. FATAL_ERROR_COULD_NOT_ALLOCATE_MEMORY,
  1448. FATAL_ERROR_INCORRECT_FILE_ACCESS,
  1449. FATAL_ERROR_TOO_MANY_WAIT_OBJECTS,
  1450. FATAL_ERROR_INCORRECT_NODE_TYPE,
  1451. FATAL_ERROR_PROCESSOR_EXCEPTION,
  1452. FATAL_ERROR_UNKNOWN,
  1453. FATAL_ERROR_RECURSIVE_BATCH,
  1454. FATAL_ERROR_CORRUPT_HEAP,
  1455. FATAL_ERROR_CORRUPT_LINKED_LIST,
  1456. FATAL_ERROR_INDEX_OUT_OF_BOUNDS,
  1457. FATAL_ERROR_INVALID_STRING_LENGTH,
  1458. FATAL_ERROR_SPINLOCK_NOT_ACQUIRED,
  1459. FATAL_ERROR_UNKNOWN_SNAPSHOT_TYPE,
  1460. FATAL_ERROR_PROCESS_ALREADY_ATTACHED,
  1461. FATAL_ERROR_INTERNAL,
  1462. FATAL_ERROR_INSUFFICIENT_PERMISSIONS,
  1463. FATAL_ERROR_ABORT,
  1464. FATAL_ERROR_COUNT,
  1465. }
  1466. SyscallType :: enum {
  1467. SYSCALL_ALLOCATE,
  1468. SYSCALL_FREE,
  1469. SYSCALL_SHARE_MEMORY,
  1470. SYSCALL_MAP_OBJECT,
  1471. SYSCALL_OPEN_SHARED_MEMORY,
  1472. SYSCALL_CREATE_PROCESS,
  1473. SYSCALL_GET_CREATION_ARGUMENT,
  1474. SYSCALL_TERMINATE_THREAD,
  1475. SYSCALL_CREATE_THREAD,
  1476. SYSCALL_WAIT,
  1477. SYSCALL_TERMINATE_PROCESS,
  1478. SYSCALL_CREATE_EVENT,
  1479. SYSCALL_SET_EVENT,
  1480. SYSCALL_RESET_EVENT,
  1481. SYSCALL_POLL_EVENT,
  1482. SYSCALL_PAUSE_PROCESS,
  1483. SYSCALL_CRASH_PROCESS,
  1484. SYSCALL_GET_THREAD_ID,
  1485. SYSCALL_GET_PROCESS_STATE,
  1486. SYSCALL_YIELD_SCHEDULER,
  1487. SYSCALL_SLEEP,
  1488. SYSCALL_OPEN_PROCESS,
  1489. SYSCALL_SET_TLS,
  1490. SYSCALL_TIMER_SET,
  1491. SYSCALL_TIMER_CREATE,
  1492. SYSCALL_GET_PROCESS_STATUS,
  1493. SYSCALL_CREATE_SURFACE,
  1494. SYSCALL_GET_LINEAR_BUFFER,
  1495. SYSCALL_INVALIDATE_RECTANGLE,
  1496. SYSCALL_COPY_TO_SCREEN,
  1497. SYSCALL_FORCE_SCREEN_UPDATE,
  1498. SYSCALL_FILL_RECTANGLE,
  1499. SYSCALL_COPY_SURFACE,
  1500. SYSCALL_CLEAR_MODIFIED_REGION,
  1501. SYSCALL_DRAW_SURFACE,
  1502. SYSCALL_REDRAW_ALL,
  1503. SYSCALL_DRAW_BOX,
  1504. SYSCALL_DRAW_BITMAP,
  1505. SYSCALL_SURFACE_RESET,
  1506. SYSCALL_SURFACE_SHARE,
  1507. SYSCALL_DRAW_STYLED_BOX,
  1508. SYSCALL_SURFACE_SCROLL,
  1509. SYSCALL_RESIZE_SURFACE,
  1510. SYSCALL_GET_MESSAGE,
  1511. SYSCALL_POST_MESSAGE,
  1512. SYSCALL_POST_MESSAGE_REMOTE,
  1513. SYSCALL_WAIT_MESSAGE,
  1514. SYSCALL_CREATE_WINDOW,
  1515. SYSCALL_UPDATE_WINDOW,
  1516. SYSCALL_SET_CURSOR_STYLE,
  1517. SYSCALL_MOVE_WINDOW,
  1518. SYSCALL_GET_WINDOW_BOUNDS,
  1519. SYSCALL_RESET_CLICK_CHAIN,
  1520. SYSCALL_GET_CURSOR_POSITION,
  1521. SYSCALL_SET_CURSOR_POSITION,
  1522. SYSCALL_COPY,
  1523. SYSCALL_GET_CLIPBOARD_HEADER,
  1524. SYSCALL_PASTE_TEXT,
  1525. SYSCALL_SET_FOCUSED_WINDOW,
  1526. SYSCALL_SET_WINDOW_TITLE,
  1527. SYSCALL_GET_SCREEN_BOUNDS,
  1528. SYSCALL_WINDOW_OPEN,
  1529. SYSCALL_WINDOW_SET_BLEND_BOUNDS,
  1530. SYSCALL_WINDOW_GET_BLEND_BOUNDS,
  1531. SYSCALL_WINDOW_GET_ID,
  1532. SYSCALL_SET_WINDOW_ALPHA,
  1533. SYSCALL_DOCKED_WINDOW_CREATE,
  1534. SYSCALL_WINDOW_SHARE,
  1535. SYSCALL_SET_EMBED_WINDOW,
  1536. SYSCALL_OPEN_NODE,
  1537. SYSCALL_READ_FILE_SYNC,
  1538. SYSCALL_WRITE_FILE_SYNC,
  1539. SYSCALL_RESIZE_FILE,
  1540. SYSCALL_REFRESH_NODE_INFORMATION,
  1541. SYSCALL_ENUMERATE_DIRECTORY_CHILDREN,
  1542. SYSCALL_DELETE_NODE,
  1543. SYSCALL_MOVE_NODE,
  1544. SYSCALL_READ_CONSTANT_BUFFER,
  1545. SYSCALL_SHARE_CONSTANT_BUFFER,
  1546. SYSCALL_CREATE_CONSTANT_BUFFER,
  1547. SYSCALL_EXECUTE,
  1548. SYSCALL_INSTANCE_CREATE_REMOTE,
  1549. SYSCALL_MAILSLOT_SEND_DATA,
  1550. SYSCALL_MAILSLOT_SEND_MESSAGE,
  1551. SYSCALL_MAILSLOT_SHARE,
  1552. SYSCALL_PIPE_CREATE,
  1553. SYSCALL_PIPE_WRITE,
  1554. SYSCALL_PIPE_READ,
  1555. SYSCALL_USER_GET_HOME_FOLDER,
  1556. SYSCALL_USER_LOGIN,
  1557. SYSCALL_GET_SYSTEM_CONSTANTS,
  1558. SYSCALL_TAKE_SYSTEM_SNAPSHOT,
  1559. SYSCALL_SET_SYSTEM_CONSTANT,
  1560. SYSCALL_GET_SYSTEM_INFORMATION,
  1561. SYSCALL_PRINT,
  1562. SYSCALL_CLOSE_HANDLE,
  1563. SYSCALL_BATCH,
  1564. SYSCALL_SHUTDOWN,
  1565. SYSCALL_POSIX,
  1566. SYSCALL_COUNT,
  1567. }
  1568. StandardFont :: enum {
  1569. STANDARD_FONT_REGULAR,
  1570. STANDARD_FONT_BOLD,
  1571. STANDARD_FONT_MONOSPACED,
  1572. }
  1573. MessageType :: enum {
  1574. MESSAGE_WM_START = 0x1000,
  1575. MESSAGE_MOUSE_MOVED = 0x1001,
  1576. MESSAGE_WINDOW_ACTIVATED = 0x1003,
  1577. MESSAGE_WINDOW_DEACTIVATED = 0x1004,
  1578. MESSAGE_WINDOW_DESTROYED = 0x1005,
  1579. MESSAGE_MOUSE_EXIT = 0x1006 ,
  1580. MESSAGE_CLICK_REPEAT = 0x1009,
  1581. MESSAGE_WINDOW_RESIZED = 0x100B,
  1582. MESSAGE_MOUSE_LEFT_PRESSED = 0x100C ,
  1583. MESSAGE_MOUSE_LEFT_RELEASED = 0x100D,
  1584. MESSAGE_MOUSE_RIGHT_PRESSED = 0x100E,
  1585. MESSAGE_MOUSE_RIGHT_RELEASED = 0x100F,
  1586. MESSAGE_MOUSE_MIDDLE_PRESSED = 0x1010,
  1587. MESSAGE_MOUSE_MIDDLE_RELEASED = 0x1011 ,
  1588. MESSAGE_KEY_PRESSED = 0x1012,
  1589. MESSAGE_KEY_RELEASED = 0x1013,
  1590. MESSAGE_UPDATE_WINDOW = 0x1014,
  1591. MESSAGE_WM_END = 0x13FF,
  1592. MESSAGE_PAINT = 0x2000 ,
  1593. MESSAGE_DESTROY = 0x2001 ,
  1594. MESSAGE_MEASURE = 0x2002 ,
  1595. MESSAGE_SIZE = 0x2003 ,
  1596. MESSAGE_ADD_CHILD = 0x2004 ,
  1597. MESSAGE_REMOVE_CHILD = 0x2005 ,
  1598. MESSAGE_HIT_TEST = 0x2006 ,
  1599. MESSAGE_HOVERED_START = 0x2007 ,
  1600. MESSAGE_HOVERED_END = 0x2008 ,
  1601. MESSAGE_PRESSED_START = 0x2009 ,
  1602. MESSAGE_PRESSED_END = 0x200A ,
  1603. MESSAGE_FOCUSED_START = 0x200B ,
  1604. MESSAGE_FOCUSED_END = 0x200C ,
  1605. MESSAGE_FOCUS_WITHIN_START = 0x200D ,
  1606. MESSAGE_FOCUS_WITHIN_END = 0x200E ,
  1607. MESSAGE_Z_ORDER = 0x2010 ,
  1608. MESSAGE_ANIMATE = 0x2011 ,
  1609. MESSAGE_MOUSE_DRAGGED = 0x2012 ,
  1610. MESSAGE_KEY_TYPED = 0x2013 ,
  1611. MESSAGE_PAINT_BACKGROUND = 0x2014 ,
  1612. MESSAGE_PAINT_FOREGROUND = 0x2015 ,
  1613. MESSAGE_ENSURE_VISIBLE = 0x2016 ,
  1614. MESSAGE_GET_CURSOR = 0x2017 ,
  1615. MESSAGE_WINDOW_CREATED = 0x2018 ,
  1616. MESSAGE_CLICKED = 0x3000 ,
  1617. MESSAGE_SCROLLBAR_MOVED = 0x3001 ,
  1618. MESSAGE_RECALCULATE_CONTENT_SIZE = 0x3002 ,
  1619. MESSAGE_TEXTBOX_UPDATED = 0x3003 ,
  1620. MESSAGE_DESKTOP_EXECUTE = 0x4800,
  1621. MESSAGE_POWER_BUTTON_PRESSED = 0x4801,
  1622. MESSAGE_TASKBAR_WINDOW_ADD = 0x4804,
  1623. MESSAGE_TASKBAR_WINDOW_REMOVE = 0x4805,
  1624. MESSAGE_TASKBAR_WINDOW_ACTIVATE = 0x4806,
  1625. MESSAGE_TASKBAR_WINDOW_SET_TITLE = 0x4807,
  1626. MESSAGE_DOCKED_WINDOW_CREATE = 0x4808,
  1627. MESSAGE_PROGRAM_CRASH = 0x4C00,
  1628. MESSAGE_PROGRAM_FAILED_TO_START = 0x4C01,
  1629. MESSAGE_RECEIVE_DATA = 0x5100,
  1630. MESSAGE_MAILSLOT_CLOSED = 0x5101,
  1631. MESSAGE_CLIPBOARD_UPDATED = 0x5001,
  1632. MESSAGE_SYSTEM_CONSTANT_UPDATED = 0x5004,
  1633. MESSAGE_TIMER = 0x5006,
  1634. MESSAGE_OBJECT_DESTROY = 0x5007,
  1635. MESSAGE_LIST_VIEW_GET_ITEM_CONTENT = 0x6000,
  1636. MESSAGE_LIST_VIEW_SET_ITEM_STATE = 0x6001,
  1637. MESSAGE_LIST_VIEW_GET_ITEM_STATE = 0x6002,
  1638. MESSAGE_LIST_VIEW_PAINT_ITEM = 0x6003 ,
  1639. MESSAGE_LIST_VIEW_PAINT_CELL = 0x6004 ,
  1640. MESSAGE_LIST_VIEW_SORT_COLUMN = 0x6005,
  1641. MESSAGE_LIST_VIEW_CHOOSE_ITEM = 0x6006,
  1642. MESSAGE_LIST_VIEW_FIND_ITEM = 0x6007,
  1643. MESSAGE_LIST_VIEW_TOGGLE_DISCLOSURE = 0x6008,
  1644. MESSAGE_LIST_VIEW_MEASURE_ITEM_HEIGHT = 0x6009,
  1645. MESSAGE_LIST_VIEW_LAYOUT_ITEM = 0x600A,
  1646. MESSAGE_LIST_VIEW_SET_ITEM_VISIBILITY = 0x600B,
  1647. MESSAGE_LIST_VIEW_RELAY_MESSAGE = 0x600C,
  1648. MESSAGE_LIST_VIEW_SET_ITEM_POSITION = 0x600D,
  1649. MESSAGE_PROGRAM_START = 0x7000,
  1650. MESSAGE_PROGRAM_EXIT = 0x7001,
  1651. MESSAGE_USER_START = 0x8000,
  1652. MESSAGE_USER_END = 0xBFFF,
  1653. }
  1654. DrawMode :: enum {
  1655. DRAW_MODE_REPEAT_FIRST = 1 ,
  1656. DRAW_MODE_STRECH,
  1657. DRAW_MODE_REPEAT,
  1658. DRAW_MODE_NONE,
  1659. }
  1660. ClipboardFormat :: enum {
  1661. CLIPBOARD_FORMAT_EMPTY,
  1662. CLIPBOARD_FORMAT_TEXT,
  1663. CLIPBOARD_FORMAT_FILE_LIST,
  1664. }
  1665. ColorFormat :: enum {
  1666. COLOR_FORMAT_32_XRGB,
  1667. }
  1668. CursorStyle :: enum {
  1669. CURSOR_NORMAL,
  1670. CURSOR_TEXT,
  1671. CURSOR_RESIZE_VERTICAL,
  1672. CURSOR_RESIZE_HORIZONTAL,
  1673. CURSOR_RESIZE_DIAGONAL_1,
  1674. CURSOR_RESIZE_DIAGONAL_2,
  1675. CURSOR_SPLIT_VERTICAL,
  1676. CURSOR_SPLIT_HORIZONTAL,
  1677. CURSOR_HAND_HOVER,
  1678. CURSOR_HAND_DRAG,
  1679. CURSOR_HAND_POINT,
  1680. CURSOR_SCROLL_UP_LEFT,
  1681. CURSOR_SCROLL_UP,
  1682. CURSOR_SCROLL_UP_RIGHT,
  1683. CURSOR_SCROLL_LEFT,
  1684. CURSOR_SCROLL_CENTER,
  1685. CURSOR_SCROLL_RIGHT,
  1686. CURSOR_SCROLL_DOWN_LEFT,
  1687. CURSOR_SCROLL_DOWN,
  1688. CURSOR_SCROLL_DOWN_RIGHT,
  1689. CURSOR_SELECT_LINES,
  1690. CURSOR_DROP_TEXT,
  1691. CURSOR_CROSS_HAIR_PICK,
  1692. CURSOR_CROSS_HAIR_RESIZE,
  1693. CURSOR_MOVE_HOVER,
  1694. CURSOR_MOVE_DRAG,
  1695. CURSOR_ROTATE_HOVER,
  1696. CURSOR_ROTATE_DRAG,
  1697. CURSOR_BLANK,
  1698. }
  1699. WindowStyle :: enum {
  1700. WINDOW_NORMAL,
  1701. WINDOW_CONTAINER,
  1702. WINDOW_MENU,
  1703. }
  1704. NODE_FILE :: (0);
  1705. NODE_DIRECTORY :: (0x4000);
  1706. NODE_INVALID :: (0x8000);
  1707. BatchCall :: struct {
  1708. index :SyscallType,
  1709. stopBatchIfError :bool,
  1710. using _ : struct #raw_union {
  1711. argument0 :uintptr,
  1712. returnValue :uintptr,
  1713. },
  1714. argument1 :uintptr,
  1715. argument2 :uintptr,
  1716. argument3 :uintptr,
  1717. }
  1718. ThreadInformation :: struct {
  1719. handle :Handle,
  1720. tid :uintptr,
  1721. }
  1722. ProcessInformation :: struct {
  1723. handle :Handle,
  1724. pid :uintptr,
  1725. mainThread :ThreadInformation,
  1726. }
  1727. UniqueIdentifier :: struct {
  1728. using _ : struct #raw_union {
  1729. d :[16]u8,
  1730. },
  1731. }
  1732. NodeInformation :: struct {
  1733. handle :Handle,
  1734. type :NodeType,
  1735. fileSize :FileOffset,
  1736. directoryChildren :FileOffset,
  1737. }
  1738. DirectoryChild :: struct {
  1739. name :[MAX_DIRECTORY_CHILD_NAME_LENGTH]i8,
  1740. nameBytes :uintptr,
  1741. information :NodeInformation,
  1742. }
  1743. Point :: struct {
  1744. x :i32,
  1745. y :i32,
  1746. }
  1747. Rectangle :: struct {
  1748. left :i32,
  1749. right :i32,
  1750. top :i32,
  1751. bottom :i32,
  1752. }
  1753. Rectangle16 :: struct {
  1754. left :i16,
  1755. right :i16,
  1756. top :i16,
  1757. bottom :i16,
  1758. }
  1759. Color :: struct {
  1760. using _ : struct #raw_union {
  1761. using _ : struct {
  1762. blue :u8,
  1763. green :u8,
  1764. red :u8,
  1765. },
  1766. combined :u32,
  1767. },
  1768. }
  1769. LinearBuffer :: struct {
  1770. width :uintptr,
  1771. height :uintptr,
  1772. stride :uintptr,
  1773. colorFormat :ColorFormat,
  1774. handle :Handle,
  1775. }
  1776. RectangleAndColor :: struct {
  1777. rectangle :Rectangle,
  1778. color :Color,
  1779. }
  1780. StyledBoxData :: struct {
  1781. backgroundColor :u32,
  1782. borderColor :u32,
  1783. borders :Rectangle16,
  1784. cornerRadius :u8,
  1785. roundedCornersToExclude :u8,
  1786. ox :i32,
  1787. oy :i32,
  1788. width :i32,
  1789. height :i32,
  1790. clip :Rectangle,
  1791. }
  1792. InstanceCreateRemoteArguments :: struct {
  1793. what :^i8,
  1794. argument :^i8,
  1795. whatBytes :uintptr,
  1796. argumentBytes :uintptr,
  1797. modalWindowParent :Handle,
  1798. apiInstance :^rawptr,
  1799. }
  1800. DrawSurfaceArguments :: struct {
  1801. source :Rectangle,
  1802. destination :Rectangle,
  1803. border :Rectangle,
  1804. alpha :u16,
  1805. }
  1806. Spinlock :: struct {
  1807. state :u8,
  1808. }
  1809. Mutex :: struct {
  1810. event :Handle,
  1811. spinlock :Spinlock,
  1812. state :u8,
  1813. queued :u32,
  1814. }
  1815. CrashReason :: struct {
  1816. errorCode :Error,
  1817. }
  1818. ProcessState :: struct {
  1819. crashReason :CrashReason,
  1820. creationArgument :Generic,
  1821. id :uintptr,
  1822. executableState :uintptr,
  1823. flags :u8,
  1824. }
  1825. IORequestProgress :: struct {
  1826. accessed :FileOffset,
  1827. progress :FileOffset,
  1828. completed :bool,
  1829. cancelled :bool,
  1830. error :Error,
  1831. }
  1832. ClipboardHeader :: struct {
  1833. customBytes :uintptr,
  1834. format :ClipboardFormat,
  1835. textBytes :uintptr,
  1836. unused :uintptr,
  1837. }
  1838. Painter :: struct {
  1839. surface :Handle,
  1840. clip :Rectangle,
  1841. offsetX :i32,
  1842. offsetY :i32,
  1843. fullAlpha :bool,
  1844. }
  1845. Message :: struct {
  1846. type :MessageType,
  1847. _context :Generic,
  1848. using _ : struct #raw_union {
  1849. _argument :^rawptr,
  1850. mouseMoved : struct {
  1851. oldPositionX :i32,
  1852. newPositionX :i32,
  1853. oldPositionY :i32,
  1854. newPositionY :i32,
  1855. newPositionXScreen :i32,
  1856. newPositionYScreen :i32,
  1857. },
  1858. mouseDragged : struct {
  1859. oldPositionX :i32,
  1860. newPositionX :i32,
  1861. oldPositionY :i32,
  1862. newPositionY :i32,
  1863. originalPositionX :i32,
  1864. originalPositionY :i32,
  1865. },
  1866. mousePressed : struct {
  1867. positionX :i32,
  1868. positionY :i32,
  1869. positionXScreen :i32,
  1870. positionYScreen :i32,
  1871. clickChainCount :u8,
  1872. activationClick :u8,
  1873. alt :u8,
  1874. ctrl :u8,
  1875. shift :u8,
  1876. },
  1877. keyboard : struct {
  1878. scancode :u32,
  1879. alt :u8,
  1880. ctrl :u8,
  1881. shift :u8,
  1882. numpad :u8,
  1883. notHandledBy :Object,
  1884. },
  1885. crash : struct {
  1886. reason :CrashReason,
  1887. process :Handle,
  1888. processNameBuffer :Handle,
  1889. processNameBytes :uintptr,
  1890. pid :uintptr,
  1891. },
  1892. clipboard :ClipboardHeader,
  1893. receive : struct {
  1894. buffer :Handle,
  1895. bytes :uintptr,
  1896. },
  1897. animate : struct {
  1898. deltaMcs :i64,
  1899. waitMcs :i64,
  1900. complete :bool,
  1901. },
  1902. systemConstantUpdated : struct {
  1903. index :uintptr,
  1904. newValue :u64,
  1905. },
  1906. desktopExecute : struct {
  1907. whatBuffer :Handle,
  1908. argumentBuffer :Handle,
  1909. mailslot :Handle,
  1910. whatBytes :uintptr,
  1911. argumentBytes :uintptr,
  1912. modalWindowParent :u64,
  1913. },
  1914. dockedWindowCreate : struct {
  1915. pipe :Handle,
  1916. },
  1917. taskbar : struct {
  1918. id :u64,
  1919. buffer :Handle,
  1920. bytes :uintptr,
  1921. },
  1922. windowResized : struct {
  1923. content :Rectangle,
  1924. },
  1925. painter :^Painter,
  1926. measure : struct {
  1927. width :i32,
  1928. height :i32,
  1929. },
  1930. child :Object,
  1931. size : struct {
  1932. width :i32,
  1933. height :i32,
  1934. },
  1935. hitTest : struct {
  1936. x :i32,
  1937. y :i32,
  1938. inside :bool,
  1939. },
  1940. zOrder : struct {
  1941. index :uintptr,
  1942. child :^Element,
  1943. },
  1944. scrollbarMoved : struct {
  1945. scroll :i32,
  1946. },
  1947. ensureVisible : struct {
  1948. child :^Element,
  1949. },
  1950. cursorStyle :CursorStyle,
  1951. getItemContent : struct {
  1952. mask :u32,
  1953. index :ListViewIndex,
  1954. column :ListViewIndex,
  1955. group :ListViewIndex,
  1956. text :^i8,
  1957. textBytes :uintptr,
  1958. iconID :u16,
  1959. iconSize :u16,
  1960. indentation :u16,
  1961. spaceAfterIcon :u16,
  1962. },
  1963. accessItemState : struct {
  1964. mask :u32,
  1965. state :u32,
  1966. iIndexFrom :ListViewIndex,
  1967. eIndexTo :ListViewIndex,
  1968. group :ListViewIndex,
  1969. },
  1970. measureItemHeight : struct {
  1971. iIndexFrom :ListViewIndex,
  1972. eIndexTo :ListViewIndex,
  1973. group :ListViewIndex,
  1974. height :i32,
  1975. },
  1976. layoutItem : struct {
  1977. index :ListViewIndex,
  1978. group :ListViewIndex,
  1979. knownIndex :ListViewIndex,
  1980. knownGroup :ListViewIndex,
  1981. bounds :Rectangle,
  1982. },
  1983. toggleItemDisclosure : struct {
  1984. index :ListViewIndex,
  1985. group :ListViewIndex,
  1986. },
  1987. findItem : struct {
  1988. type :u8,
  1989. backwards :u8,
  1990. inclusive :bool,
  1991. indexFrom :ListViewIndex,
  1992. groupFrom :ListViewIndex,
  1993. foundIndex :ListViewIndex,
  1994. foundGroup :ListViewIndex,
  1995. using _ : struct #raw_union {
  1996. using _ : struct {
  1997. prefix :^i8,
  1998. prefixBytes :uintptr,
  1999. },
  2000. using _ : struct {
  2001. yPosition :i32,
  2002. yPositionOfIndexFrom :i32,
  2003. offsetIntoItem :i32,
  2004. },
  2005. },
  2006. },
  2007. listViewColumn : struct {
  2008. index :ListViewIndex,
  2009. descending :bool,
  2010. },
  2011. setItemVisibility : struct {
  2012. index :ListViewIndex,
  2013. group :ListViewIndex,
  2014. visible :bool,
  2015. },
  2016. setItemPosition : struct {
  2017. index :ListViewIndex,
  2018. group :ListViewIndex,
  2019. bounds :Rectangle,
  2020. },
  2021. listViewPaint : struct {
  2022. painter :^Painter,
  2023. width :i32,
  2024. height :i32,
  2025. index :ListViewIndex,
  2026. group :ListViewIndex,
  2027. column :ListViewIndex,
  2028. },
  2029. },
  2030. }
  2031. DebuggerMessage :: struct {
  2032. process :Handle,
  2033. reason :CrashReason,
  2034. }
  2035. DriveInformation :: struct {
  2036. name :[64]i8,
  2037. nameBytes :uintptr,
  2038. mountpoint :[256]i8,
  2039. mountpointBytes :uintptr,
  2040. }
  2041. SnapshotProcessesItem :: struct {
  2042. pid :i64,
  2043. memoryUsage :i64,
  2044. cpuTimeSlices :i64,
  2045. name :[SNAPSHOT_MAX_PROCESS_NAME_LENGTH]i8,
  2046. nameLength :uintptr,
  2047. internal :u64,
  2048. }
  2049. SystemInformation :: struct {
  2050. processCount :uintptr,
  2051. threadCount :uintptr,
  2052. handleCount :uintptr,
  2053. commitLimit :uintptr,
  2054. commit :uintptr,
  2055. countZeroedPages :uintptr,
  2056. countFreePages :uintptr,
  2057. countStandbyPages :uintptr,
  2058. countModifiedPages :uintptr,
  2059. countActivePages :uintptr,
  2060. coreHeapSize :uintptr,
  2061. coreHeapAllocations :uintptr,
  2062. fixedHeapSize :uintptr,
  2063. fixedHeapAllocations :uintptr,
  2064. coreRegions :uintptr,
  2065. kernelRegions :uintptr,
  2066. }
  2067. SnapshotProcesses :: struct {
  2068. count :uintptr,
  2069. processes :[]SnapshotProcessesItem,
  2070. }
  2071. POSIXSyscall :: struct {
  2072. index :int,
  2073. arguments :[7]int,
  2074. }
  2075. ProcessCreationArguments :: struct {
  2076. executablePath :^i8,
  2077. executablePathBytes :uintptr,
  2078. environmentBlock :^rawptr,
  2079. environmentBlockBytes :uintptr,
  2080. creationArgument :Generic,
  2081. permissions :u64,
  2082. }
  2083. UserLoginArguments :: struct {
  2084. name :^i8,
  2085. nameBytes :uintptr,
  2086. home :^i8,
  2087. homeBytes :uintptr,
  2088. }
  2089. Instance :: struct {
  2090. _private :^rawptr,
  2091. }
  2092. ListViewColumn :: struct {
  2093. title :^i8,
  2094. titleBytes :uintptr,
  2095. width :i32,
  2096. minimumWidth :i32,
  2097. flags :u32,
  2098. }
  2099. ListViewStyle :: struct {
  2100. fixedWidth :i32,
  2101. fixedHeight :i32,
  2102. groupHeaderHeight :i32,
  2103. gapX :i32,
  2104. gapY :i32,
  2105. margin :Rectangle16,
  2106. columns :^ListViewColumn,
  2107. columnCount :uintptr,
  2108. emptyMessage :^i8,
  2109. emptyMessageBytes :uintptr,
  2110. }
  2111. NumericEntryProperties :: struct {
  2112. value :i32,
  2113. dp :i32,
  2114. delta :i32,
  2115. speed :i32,
  2116. minimum :i32,
  2117. maximum :i32,
  2118. cPrefix :^i8,
  2119. cSuffix :^i8,
  2120. }
  2121. Batch :: inline proc (calls :^BatchCall, count :uintptr){ addr := 0x1000 + 0 * size_of(int); ((proc (^BatchCall, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(calls, count); }
  2122. ProcessCreate :: inline proc (executablePath :^i8, executablePathLength :uintptr, information :^ProcessInformation, argument :Generic) -> Error{ addr := 0x1000 + 1 * size_of(int); return ((proc (^i8, uintptr, ^ProcessInformation, Generic) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(executablePath, executablePathLength, information, argument); }
  2123. ThreadCreate :: inline proc (entryFunction :ThreadEntryFunction, information :^ThreadInformation, argument :Generic) -> Error{ addr := 0x1000 + 2 * size_of(int); return ((proc (ThreadEntryFunction, ^ThreadInformation, Generic) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(entryFunction, information, argument); }
  2124. SurfaceCreate :: inline proc (width :uintptr, height :uintptr, flags :u32) -> Handle{ addr := 0x1000 + 3 * size_of(int); return ((proc (uintptr, uintptr, u32) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(width, height, flags); }
  2125. EventCreate :: inline proc (autoReset :bool) -> Handle{ addr := 0x1000 + 4 * size_of(int); return ((proc (bool) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(autoReset); }
  2126. ThreadLocalStorageSetAddress :: inline proc (address :^rawptr){ addr := 0x1000 + 5 * size_of(int); ((proc (^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(address); }
  2127. ConstantBufferRead :: inline proc (constantBuffer :Handle, output :^rawptr){ addr := 0x1000 + 6 * size_of(int); ((proc (Handle, ^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(constantBuffer, output); }
  2128. ConstantBufferShare :: inline proc (constantBuffer :Handle, targetProcess :Handle) -> Handle{ addr := 0x1000 + 7 * size_of(int); return ((proc (Handle, Handle) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(constantBuffer, targetProcess); }
  2129. ConstantBufferCreate :: inline proc (data :^rawptr, dataBytes :uintptr, targetProcess :Handle) -> Handle{ addr := 0x1000 + 8 * size_of(int); return ((proc (^rawptr, uintptr, Handle) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(data, dataBytes, targetProcess); }
  2130. ProcessOpen :: inline proc (pid :u64) -> Handle{ addr := 0x1000 + 9 * size_of(int); return ((proc (u64) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(pid); }
  2131. HandleClose :: inline proc (handle :Handle) -> Error{ addr := 0x1000 + 10 * size_of(int); return ((proc (Handle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(handle); }
  2132. TakeSystemSnapshot :: inline proc (type :i32, bufferSize :^uintptr) -> Handle{ addr := 0x1000 + 11 * size_of(int); return ((proc (i32, ^uintptr) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(type, bufferSize); }
  2133. GetSystemInformation :: inline proc (systemInformation :^SystemInformation){ addr := 0x1000 + 12 * size_of(int); ((proc (^SystemInformation))(rawptr(((^uintptr)(uintptr(addr)))^)))(systemInformation); }
  2134. NodeOpen :: inline proc (path :^i8, pathLength :uintptr, flags :u64, information :^NodeInformation) -> Error{ addr := 0x1000 + 13 * size_of(int); return ((proc (^i8, uintptr, u64, ^NodeInformation) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(path, pathLength, flags, information); }
  2135. NodeFindUniqueName :: inline proc (buffer :^i8, originalBytes :uintptr, bufferBytes :uintptr) -> uintptr{ addr := 0x1000 + 14 * size_of(int); return ((proc (^i8, uintptr, uintptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(buffer, originalBytes, bufferBytes); }
  2136. FileReadAll :: inline proc (filePath :^i8, filePathLength :uintptr, fileSize :^uintptr){ addr := 0x1000 + 15 * size_of(int); ((proc (^i8, uintptr, ^uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(filePath, filePathLength, fileSize); }
  2137. FileReadSync :: inline proc (file :Handle, offset :FileOffset, size :uintptr, buffer :^rawptr) -> uintptr{ addr := 0x1000 + 16 * size_of(int); return ((proc (Handle, FileOffset, uintptr, ^rawptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(file, offset, size, buffer); }
  2138. FileWriteSync :: inline proc (file :Handle, offset :FileOffset, size :uintptr, buffer :^rawptr) -> uintptr{ addr := 0x1000 + 17 * size_of(int); return ((proc (Handle, FileOffset, uintptr, ^rawptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(file, offset, size, buffer); }
  2139. FileResize :: inline proc (file :Handle, newSize :FileOffset) -> Error{ addr := 0x1000 + 18 * size_of(int); return ((proc (Handle, FileOffset) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(file, newSize); }
  2140. NodeRefreshInformation :: inline proc (information :^NodeInformation){ addr := 0x1000 + 19 * size_of(int); ((proc (^NodeInformation))(rawptr(((^uintptr)(uintptr(addr)))^)))(information); }
  2141. DirectoryEnumerateChildren :: inline proc (directory :Handle, buffer :^DirectoryChild, bufferCount :uintptr) -> int{ addr := 0x1000 + 20 * size_of(int); return ((proc (Handle, ^DirectoryChild, uintptr) -> int)(rawptr(((^uintptr)(uintptr(addr)))^)))(directory, buffer, bufferCount); }
  2142. NodeDelete :: inline proc (node :Handle) -> Error{ addr := 0x1000 + 21 * size_of(int); return ((proc (Handle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(node); }
  2143. NodeMove :: inline proc (node :Handle, newDirectory :Handle, newName :^i8, newNameLength :uintptr) -> Error{ addr := 0x1000 + 22 * size_of(int); return ((proc (Handle, Handle, ^i8, uintptr) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(node, newDirectory, newName, newNameLength); }
  2144. ThreadTerminate :: inline proc (thread :Handle){ addr := 0x1000 + 23 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(thread); }
  2145. ProcessTerminate :: inline proc (process :Handle, status :i32){ addr := 0x1000 + 24 * size_of(int); ((proc (Handle, i32))(rawptr(((^uintptr)(uintptr(addr)))^)))(process, status); }
  2146. ProcessTerminateCurrent :: inline proc (){ addr := 0x1000 + 25 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2147. ProcessPause :: inline proc (process :Handle, resume :bool){ addr := 0x1000 + 26 * size_of(int); ((proc (Handle, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(process, resume); }
  2148. ProcessCrash :: inline proc (error :Error, message :^i8, messageBytes :uintptr){ addr := 0x1000 + 27 * size_of(int); ((proc (Error, ^i8, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(error, message, messageBytes); }
  2149. ThreadGetID :: inline proc (thread :Handle) -> uintptr{ addr := 0x1000 + 28 * size_of(int); return ((proc (Handle) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(thread); }
  2150. ProcessGetID :: inline proc (process :Handle) -> uintptr{ addr := 0x1000 + 29 * size_of(int); return ((proc (Handle) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(process); }
  2151. SpinlockRelease :: inline proc (spinlock :^Spinlock){ addr := 0x1000 + 30 * size_of(int); ((proc (^Spinlock))(rawptr(((^uintptr)(uintptr(addr)))^)))(spinlock); }
  2152. SpinlockAcquire :: inline proc (spinlock :^Spinlock){ addr := 0x1000 + 31 * size_of(int); ((proc (^Spinlock))(rawptr(((^uintptr)(uintptr(addr)))^)))(spinlock); }
  2153. MutexRelease :: inline proc (mutex :^Mutex){ addr := 0x1000 + 32 * size_of(int); ((proc (^Mutex))(rawptr(((^uintptr)(uintptr(addr)))^)))(mutex); }
  2154. MutexAcquire :: inline proc (mutex :^Mutex){ addr := 0x1000 + 33 * size_of(int); ((proc (^Mutex))(rawptr(((^uintptr)(uintptr(addr)))^)))(mutex); }
  2155. MutexDestroy :: inline proc (mutex :^Mutex){ addr := 0x1000 + 34 * size_of(int); ((proc (^Mutex))(rawptr(((^uintptr)(uintptr(addr)))^)))(mutex); }
  2156. SchedulerYield :: inline proc (){ addr := 0x1000 + 35 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2157. EventSet :: inline proc (event :Handle){ addr := 0x1000 + 36 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(event); }
  2158. EventReset :: inline proc (event :Handle){ addr := 0x1000 + 37 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(event); }
  2159. EventPoll :: inline proc (event :Handle) -> Error{ addr := 0x1000 + 38 * size_of(int); return ((proc (Handle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(event); }
  2160. Wait :: inline proc (objects :^Handle, objectCount :uintptr, timeoutMs :uintptr) -> uintptr{ addr := 0x1000 + 39 * size_of(int); return ((proc (^Handle, uintptr, uintptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(objects, objectCount, timeoutMs); }
  2161. Sleep :: inline proc (milliseconds :u64){ addr := 0x1000 + 40 * size_of(int); ((proc (u64))(rawptr(((^uintptr)(uintptr(addr)))^)))(milliseconds); }
  2162. MemoryOpen :: inline proc (size :uintptr, name :^i8, nameLength :uintptr, flags :u32) -> Handle{ addr := 0x1000 + 41 * size_of(int); return ((proc (uintptr, ^i8, uintptr, u32) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(size, name, nameLength, flags); }
  2163. MemoryShare :: inline proc (sharedMemoryRegion :Handle, targetProcess :Handle, readOnly :bool) -> Handle{ addr := 0x1000 + 42 * size_of(int); return ((proc (Handle, Handle, bool) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(sharedMemoryRegion, targetProcess, readOnly); }
  2164. ObjectMap :: inline proc (object :Handle, offset :uintptr, size :uintptr, flags :u32){ addr := 0x1000 + 43 * size_of(int); ((proc (Handle, uintptr, uintptr, u32))(rawptr(((^uintptr)(uintptr(addr)))^)))(object, offset, size, flags); }
  2165. MemoryAllocate :: inline proc (size :uintptr){ addr := 0x1000 + 44 * size_of(int); ((proc (uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(size); }
  2166. MemoryFree :: inline proc (address :^rawptr) -> Error{ addr := 0x1000 + 45 * size_of(int); return ((proc (^rawptr) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(address); }
  2167. GetCreationArgument :: inline proc (object :Handle) -> Generic{ addr := 0x1000 + 46 * size_of(int); return ((proc (Handle) -> Generic)(rawptr(((^uintptr)(uintptr(addr)))^)))(object); }
  2168. ProcessGetState :: inline proc (process :Handle, state :^ProcessState){ addr := 0x1000 + 47 * size_of(int); ((proc (Handle, ^ProcessState))(rawptr(((^uintptr)(uintptr(addr)))^)))(process, state); }
  2169. SurfaceGetLinearBuffer :: inline proc (surface :Handle, linearBuffer :^LinearBuffer){ addr := 0x1000 + 48 * size_of(int); ((proc (Handle, ^LinearBuffer))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, linearBuffer); }
  2170. RectangleInvalidate :: inline proc (surface :Handle, rectangle :Rectangle){ addr := 0x1000 + 49 * size_of(int); ((proc (Handle, Rectangle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, rectangle); }
  2171. CopyToScreen :: inline proc (source :Handle, point :Point, depth :u16){ addr := 0x1000 + 50 * size_of(int); ((proc (Handle, Point, u16))(rawptr(((^uintptr)(uintptr(addr)))^)))(source, point, depth); }
  2172. ForceScreenUpdate :: inline proc (){ addr := 0x1000 + 51 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2173. DrawRectangle :: inline proc (surface :Handle, rectangle :Rectangle, color :Color){ addr := 0x1000 + 52 * size_of(int); ((proc (Handle, Rectangle, Color))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, rectangle, color); }
  2174. DrawRectangleClipped :: inline proc (surface :Handle, rectangle :Rectangle, color :Color, clipRegion :Rectangle){ addr := 0x1000 + 53 * size_of(int); ((proc (Handle, Rectangle, Color, Rectangle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, rectangle, color, clipRegion); }
  2175. DrawSurfaceBlit :: inline proc (destination :Handle, source :Handle, destinationPoint :Point){ addr := 0x1000 + 54 * size_of(int); ((proc (Handle, Handle, Point))(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, source, destinationPoint); }
  2176. DrawSurface :: inline proc (destination :Handle, source :Handle, destinationRegion :Rectangle, sourceRegion :Rectangle, borderRegion :Rectangle, mode :DrawMode, alpha :u16) -> Error{ addr := 0x1000 + 55 * size_of(int); return ((proc (Handle, Handle, Rectangle, Rectangle, Rectangle, DrawMode, u16) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, source, destinationRegion, sourceRegion, borderRegion, mode, alpha); }
  2177. DrawSurfaceClipped :: inline proc (destination :Handle, source :Handle, destinationRegion :Rectangle, sourceRegion :Rectangle, borderRegion :Rectangle, mode :DrawMode, alpha :u16, clipRegion :Rectangle) -> Error{ addr := 0x1000 + 56 * size_of(int); return ((proc (Handle, Handle, Rectangle, Rectangle, Rectangle, DrawMode, u16, Rectangle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, source, destinationRegion, sourceRegion, borderRegion, mode, alpha, clipRegion); }
  2178. DrawBitmap :: inline proc (destination :Handle, destinationPoint :Point, bitmap :^rawptr, width :uintptr, height :uintptr, stride :uintptr, colorFormat :ColorFormat){ addr := 0x1000 + 57 * size_of(int); ((proc (Handle, Point, ^rawptr, uintptr, uintptr, uintptr, ColorFormat))(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, destinationPoint, bitmap, width, height, stride, colorFormat); }
  2179. SurfaceClearInvalidatedRegion :: inline proc (surface :Handle){ addr := 0x1000 + 58 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface); }
  2180. RectangleClip :: inline proc (parent :Rectangle, rectangle :Rectangle, output :^Rectangle) -> bool{ addr := 0x1000 + 59 * size_of(int); return ((proc (Rectangle, Rectangle, ^Rectangle) -> bool)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, rectangle, output); }
  2181. DrawBox :: inline proc (surface :Handle, rectangle :Rectangle, style :u8, color :u32, clipRegion :Rectangle){ addr := 0x1000 + 60 * size_of(int); ((proc (Handle, Rectangle, u8, u32, Rectangle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, rectangle, style, color, clipRegion); }
  2182. RedrawAll :: inline proc (){ addr := 0x1000 + 61 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2183. MessagePost :: inline proc (message :^Message) -> Error{ addr := 0x1000 + 62 * size_of(int); return ((proc (^Message) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(message); }
  2184. MessagePostRemote :: inline proc (process :Handle, message :^Message) -> Error{ addr := 0x1000 + 63 * size_of(int); return ((proc (Handle, ^Message) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(process, message); }
  2185. ExtractArguments :: inline proc (string :^i8, bytes :uintptr, delimiterByte :u8, replacementDelimiter :u8, argvAllocated :uintptr, argv :^^i8, argc :^uintptr) -> bool{ addr := 0x1000 + 64 * size_of(int); return ((proc (^i8, uintptr, u8, u8, uintptr, ^^i8, ^uintptr) -> bool)(rawptr(((^uintptr)(uintptr(addr)))^)))(string, bytes, delimiterByte, replacementDelimiter, argvAllocated, argv, argc); }
  2186. CStringLength :: inline proc (string :^i8) -> uintptr{ addr := 0x1000 + 65 * size_of(int); return ((proc (^i8) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(string); }
  2187. StringLength :: inline proc (string :^i8, end :u8) -> uintptr{ addr := 0x1000 + 66 * size_of(int); return ((proc (^i8, u8) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(string, end); }
  2188. MemoryCopy :: inline proc (destination :^rawptr, source :^rawptr, bytes :uintptr){ addr := 0x1000 + 67 * size_of(int); ((proc (^rawptr, ^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, source, bytes); }
  2189. MemoryMove :: inline proc (_start :^rawptr, _end :^rawptr, amount :int, zeroEmptySpace :bool){ addr := 0x1000 + 68 * size_of(int); ((proc (^rawptr, ^rawptr, int, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(_start, _end, amount, zeroEmptySpace); }
  2190. MemoryCopyReverse :: inline proc (_destination :^rawptr, _source :^rawptr, bytes :uintptr){ addr := 0x1000 + 69 * size_of(int); ((proc (^rawptr, ^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(_destination, _source, bytes); }
  2191. MemoryZero :: inline proc (destination :^rawptr, bytes :uintptr){ addr := 0x1000 + 70 * size_of(int); ((proc (^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, bytes); }
  2192. MemoryCompare :: inline proc (a :^rawptr, b :^rawptr, bytes :uintptr) -> i32{ addr := 0x1000 + 71 * size_of(int); return ((proc (^rawptr, ^rawptr, uintptr) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(a, b, bytes); }
  2193. MemorySumBytes :: inline proc (data :^u8, bytes :uintptr) -> u8{ addr := 0x1000 + 72 * size_of(int); return ((proc (^u8, uintptr) -> u8)(rawptr(((^uintptr)(uintptr(addr)))^)))(data, bytes); }
  2194. PrintDirect :: inline proc (string :^i8, stringLength :uintptr){ addr := 0x1000 + 73 * size_of(int); ((proc (^i8, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(string, stringLength); }
  2195. StringFormat :: inline proc (buffer :^i8, bufferLength :uintptr, format :^i8, args : ..any) -> uintptr{ addr := 0x1000 + 74 * size_of(int); return ((proc (^i8, uintptr, ^i8, ..any) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(buffer, bufferLength, format, ); }
  2196. StringFormatAppend :: inline proc (buffer :^i8, bufferLength :uintptr, bufferPosition :^uintptr, format :^i8, args : ..any){ addr := 0x1000 + 75 * size_of(int); ((proc (^i8, uintptr, ^uintptr, ^i8, ..any))(rawptr(((^uintptr)(uintptr(addr)))^)))(buffer, bufferLength, bufferPosition, format, ); }
  2197. PrintHelloWorld :: inline proc (){ addr := 0x1000 + 76 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2198. GetRandomByte :: inline proc () -> u8{ addr := 0x1000 + 77 * size_of(int); return ((proc () -> u8)(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2199. Sort :: inline proc (_base :^rawptr, nmemb :uintptr, size :uintptr, compar :ComparisonCallbackFunction, argument :Generic){ addr := 0x1000 + 78 * size_of(int); ((proc (^rawptr, uintptr, uintptr, ComparisonCallbackFunction, Generic))(rawptr(((^uintptr)(uintptr(addr)))^)))(_base, nmemb, size, compar, argument); }
  2200. SortWithSwapCallback :: inline proc (_base :^rawptr, nmemb :uintptr, size :uintptr, compar :ComparisonCallbackFunction, argument :Generic, swap :SwapCallbackFunction){ addr := 0x1000 + 79 * size_of(int); ((proc (^rawptr, uintptr, uintptr, ComparisonCallbackFunction, Generic, SwapCallbackFunction))(rawptr(((^uintptr)(uintptr(addr)))^)))(_base, nmemb, size, compar, argument, swap); }
  2201. StringCompare :: inline proc (s1 :^i8, s2 :^i8, length1 :uintptr, length2 :uintptr) -> i32{ addr := 0x1000 + 80 * size_of(int); return ((proc (^i8, ^i8, uintptr, uintptr) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(s1, s2, length1, length2); }
  2202. IntegerParse :: inline proc (text :^i8, bytes :uintptr) -> i64{ addr := 0x1000 + 81 * size_of(int); return ((proc (^i8, uintptr) -> i64)(rawptr(((^uintptr)(uintptr(addr)))^)))(text, bytes); }
  2203. CRTmemset :: inline proc (s :^rawptr, c :i32, n :uintptr){ addr := 0x1000 + 82 * size_of(int); ((proc (^rawptr, i32, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(s, c, n); }
  2204. CRTmemcpy :: inline proc (dest :^rawptr, src :^rawptr, n :uintptr){ addr := 0x1000 + 83 * size_of(int); ((proc (^rawptr, ^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(dest, src, n); }
  2205. CRTmemmove :: inline proc (dest :^rawptr, src :^rawptr, n :uintptr){ addr := 0x1000 + 84 * size_of(int); ((proc (^rawptr, ^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(dest, src, n); }
  2206. CRTstrlen :: inline proc (s :^i8) -> uintptr{ addr := 0x1000 + 85 * size_of(int); return ((proc (^i8) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(s); }
  2207. CRTstrnlen :: inline proc (s :^i8, maxlen :uintptr) -> uintptr{ addr := 0x1000 + 86 * size_of(int); return ((proc (^i8, uintptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(s, maxlen); }
  2208. CRTmalloc :: inline proc (size :uintptr){ addr := 0x1000 + 87 * size_of(int); ((proc (uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(size); }
  2209. CRTcalloc :: inline proc (num :uintptr, size :uintptr){ addr := 0x1000 + 88 * size_of(int); ((proc (uintptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(num, size); }
  2210. CRTfree :: inline proc (ptr :^rawptr){ addr := 0x1000 + 89 * size_of(int); ((proc (^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(ptr); }
  2211. CRTabs :: inline proc (n :i32) -> i32{ addr := 0x1000 + 90 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(n); }
  2212. CRTrealloc :: inline proc (ptr :^rawptr, size :uintptr){ addr := 0x1000 + 91 * size_of(int); ((proc (^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(ptr, size); }
  2213. CRTgetenv :: inline proc (name :^i8) -> ^i8{ addr := 0x1000 + 92 * size_of(int); return ((proc (^i8) -> ^i8)(rawptr(((^uintptr)(uintptr(addr)))^)))(name); }
  2214. CRTstrncmp :: inline proc (s1 :^i8, s2 :^i8, n :uintptr) -> i32{ addr := 0x1000 + 93 * size_of(int); return ((proc (^i8, ^i8, uintptr) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(s1, s2, n); }
  2215. CRTmemcmp :: inline proc (s1 :^rawptr, s2 :^rawptr, n :uintptr) -> i32{ addr := 0x1000 + 94 * size_of(int); return ((proc (^rawptr, ^rawptr, uintptr) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(s1, s2, n); }
  2216. CRTqsort :: inline proc (_base :^rawptr, nmemb :uintptr, size :uintptr, compar :CRTComparisonCallback){ addr := 0x1000 + 95 * size_of(int); ((proc (^rawptr, uintptr, uintptr, CRTComparisonCallback))(rawptr(((^uintptr)(uintptr(addr)))^)))(_base, nmemb, size, compar); }
  2217. CRTstrcmp :: inline proc (s1 :^i8, s2 :^i8) -> i32{ addr := 0x1000 + 96 * size_of(int); return ((proc (^i8, ^i8) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(s1, s2); }
  2218. CRTstrstr :: inline proc (haystack :^i8, needle :^i8) -> ^i8{ addr := 0x1000 + 97 * size_of(int); return ((proc (^i8, ^i8) -> ^i8)(rawptr(((^uintptr)(uintptr(addr)))^)))(haystack, needle); }
  2219. CRTstrcpy :: inline proc (dest :^i8, src :^i8) -> ^i8{ addr := 0x1000 + 98 * size_of(int); return ((proc (^i8, ^i8) -> ^i8)(rawptr(((^uintptr)(uintptr(addr)))^)))(dest, src); }
  2220. CRTisalpha :: inline proc (c :i32) -> i32{ addr := 0x1000 + 99 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(c); }
  2221. CRTmemchr :: inline proc (_s :^rawptr, _c :i32, n :uintptr){ addr := 0x1000 + 100 * size_of(int); ((proc (^rawptr, i32, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(_s, _c, n); }
  2222. CRTisdigit :: inline proc (c :i32) -> i32{ addr := 0x1000 + 101 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(c); }
  2223. CRTstrcat :: inline proc (dest :^i8, src :^i8) -> ^i8{ addr := 0x1000 + 102 * size_of(int); return ((proc (^i8, ^i8) -> ^i8)(rawptr(((^uintptr)(uintptr(addr)))^)))(dest, src); }
  2224. CRTtolower :: inline proc (c :i32) -> i32{ addr := 0x1000 + 103 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(c); }
  2225. CRTstrncpy :: inline proc (dest :^i8, src :^i8, n :uintptr) -> ^i8{ addr := 0x1000 + 104 * size_of(int); return ((proc (^i8, ^i8, uintptr) -> ^i8)(rawptr(((^uintptr)(uintptr(addr)))^)))(dest, src, n); }
  2226. CRTstrtoul :: inline proc (nptr :^i8, endptr :^^i8, base :i32) -> u64{ addr := 0x1000 + 105 * size_of(int); return ((proc (^i8, ^^i8, i32) -> u64)(rawptr(((^uintptr)(uintptr(addr)))^)))(nptr, endptr, base); }
  2227. Execute :: inline proc (what :^i8, whatBytes :uintptr, argument :^i8, argumentBytes :uintptr){ addr := 0x1000 + 106 * size_of(int); ((proc (^i8, uintptr, ^i8, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(what, whatBytes, argument, argumentBytes); }
  2228. Abort :: inline proc (){ addr := 0x1000 + 107 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2229. MailslotSendData :: inline proc (mailslot :Handle, data :^rawptr, bytes :uintptr) -> bool{ addr := 0x1000 + 108 * size_of(int); return ((proc (Handle, ^rawptr, uintptr) -> bool)(rawptr(((^uintptr)(uintptr(addr)))^)))(mailslot, data, bytes); }
  2230. CRTfloorf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 109 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2231. CRTceilf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 110 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2232. CRTsinf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 111 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2233. CRTcosf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 112 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2234. CRTatan2f :: inline proc (y :f32, x :f32) -> f32{ addr := 0x1000 + 113 * size_of(int); return ((proc (f32, f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(y, x); }
  2235. CRTfmodf :: inline proc (x :f32, y :f32) -> f32{ addr := 0x1000 + 114 * size_of(int); return ((proc (f32, f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x, y); }
  2236. CRTacosf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 115 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2237. CRTasinf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 116 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2238. CRTatanf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 117 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2239. RandomSeed :: inline proc (x :u64){ addr := 0x1000 + 118 * size_of(int); ((proc (u64))(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2240. CRTsqrtf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 119 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2241. CRTsqrtl :: inline proc (x :LongDouble) -> LongDouble{ addr := 0x1000 + 120 * size_of(int); return ((proc (LongDouble) -> LongDouble)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2242. CRTfabsl :: inline proc (x :LongDouble) -> LongDouble{ addr := 0x1000 + 121 * size_of(int); return ((proc (LongDouble) -> LongDouble)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); }
  2243. Syscall :: inline proc (a :uintptr, b :uintptr, c :uintptr, d :uintptr, e :uintptr, f :uintptr) -> uintptr{ addr := 0x1000 + 122 * size_of(int); return ((proc (uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(a, b, c, d, e, f); }
  2244. ProcessorReadTimeStamp :: inline proc () -> u64{ addr := 0x1000 + 123 * size_of(int); return ((proc () -> u64)(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2245. HeapAllocate :: inline proc (size :uintptr, zeroMemory :bool){ addr := 0x1000 + 124 * size_of(int); ((proc (uintptr, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(size, zeroMemory); }
  2246. HeapFree :: inline proc (address :^rawptr){ addr := 0x1000 + 125 * size_of(int); ((proc (^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(address); }
  2247. Print :: inline proc (format :^i8, args : ..any){ addr := 0x1000 + 126 * size_of(int); ((proc (^i8, ..any))(rawptr(((^uintptr)(uintptr(addr)))^)))(format, ); }
  2248. MemoryFill :: inline proc (from :^rawptr, to :^rawptr, byte :u8){ addr := 0x1000 + 127 * size_of(int); ((proc (^rawptr, ^rawptr, u8))(rawptr(((^uintptr)(uintptr(addr)))^)))(from, to, byte); }
  2249. InitialiseCStandardLibrary :: inline proc (argc :^i32, argv :^^^i8){ addr := 0x1000 + 128 * size_of(int); ((proc (^i32, ^^^i8))(rawptr(((^uintptr)(uintptr(addr)))^)))(argc, argv); }
  2250. MakeLinuxSystemCall2 :: inline proc (n :int, a1 :int, a2 :int, a3 :int, a4 :int, a5 :int, a6 :int) -> int{ addr := 0x1000 + 129 * size_of(int); return ((proc (int, int, int, int, int, int, int) -> int)(rawptr(((^uintptr)(uintptr(addr)))^)))(n, a1, a2, a3, a4, a5, a6); }
  2251. ProcessCreate2 :: inline proc (arguments :^ProcessCreationArguments, information :^ProcessInformation) -> Error{ addr := 0x1000 + 130 * size_of(int); return ((proc (^ProcessCreationArguments, ^ProcessInformation) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(arguments, information); }
  2252. CRTatoi :: inline proc (string :^i8) -> i32{ addr := 0x1000 + 131 * size_of(int); return ((proc (^i8) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(string); }
  2253. ProcessGetExitStatus :: inline proc (process :Handle) -> i32{ addr := 0x1000 + 132 * size_of(int); return ((proc (Handle) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(process); }
  2254. SurfaceReset :: inline proc (surface :Handle){ addr := 0x1000 + 133 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface); }
  2255. TimerCreate :: inline proc () -> Handle{ addr := 0x1000 + 134 * size_of(int); return ((proc () -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(); }
  2256. TimerSet :: inline proc (handle :Handle, afterMs :u64, object :Object, argument :Generic){ addr := 0x1000 + 135 * size_of(int); ((proc (Handle, u64, Object, Generic))(rawptr(((^uintptr)(uintptr(addr)))^)))(handle, afterMs, object, argument); }
  2257. FileWriteAll :: inline proc (filePath :^i8, filePathLength :uintptr, data :^rawptr, fileSize :uintptr) -> Error{ addr := 0x1000 + 136 * size_of(int); return ((proc (^i8, uintptr, ^rawptr, uintptr) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(filePath, filePathLength, data, fileSize); }
  2258. UserGetHomeFolder :: inline proc (buffer :^i8, bufferBytes :uintptr) -> uintptr{ addr := 0x1000 + 137 * size_of(int); return ((proc (^i8, uintptr) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(buffer, bufferBytes); }
  2259. Assert :: inline proc (expression :bool, failureMessage :^i8){ addr := 0x1000 + 138 * size_of(int); ((proc (bool, ^i8))(rawptr(((^uintptr)(uintptr(addr)))^)))(expression, failureMessage); }
  2260. ResizeArray :: inline proc (array :^^rawptr, allocated :^uintptr, needed :uintptr, itemSize :uintptr){ addr := 0x1000 + 139 * size_of(int); ((proc (^^rawptr, ^uintptr, uintptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(array, allocated, needed, itemSize); }
  2261. MessageLoopEnter :: inline proc (callback :MessageCallbackFunction = nil){ addr := 0x1000 + 140 * size_of(int); ((proc (MessageCallbackFunction))(rawptr(((^uintptr)(uintptr(addr)))^)))(callback); }
  2262. InstanceCreate :: inline proc (bytes :uintptr) -> ^Instance{ addr := 0x1000 + 141 * size_of(int); return ((proc (uintptr) -> ^Instance)(rawptr(((^uintptr)(uintptr(addr)))^)))(bytes); }
  2263. MouseGetPosition :: inline proc (relativeWindow :^Window = nil) -> Point{ addr := 0x1000 + 142 * size_of(int); return ((proc (^Window) -> Point)(rawptr(((^uintptr)(uintptr(addr)))^)))(relativeWindow); }
  2264. MouseSetPosition :: inline proc (relativeWindow :^Window, x :i32, y :i32){ addr := 0x1000 + 143 * size_of(int); ((proc (^Window, i32, i32))(rawptr(((^uintptr)(uintptr(addr)))^)))(relativeWindow, x, y); }
  2265. NewPanel :: inline proc (parent :^Element, cStyle :^i8, flags :u64 = FLAGS_DEFAULT) -> ^Panel{ addr := 0x1000 + 144 * size_of(int); return ((proc (^Element, ^i8, u64) -> ^Panel)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, cStyle, flags); }
  2266. NewCustomPanel :: inline proc (parent :^Element, style :Data, flags :u64 = FLAGS_DEFAULT) -> ^Panel{ addr := 0x1000 + 145 * size_of(int); return ((proc (^Element, Data, u64) -> ^Panel)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, style, flags); }
  2267. NewWindow :: inline proc (instance :^Instance, style :WindowStyle = WindowStyle.WINDOW_NORMAL) -> ^Window{ addr := 0x1000 + 146 * size_of(int); return ((proc (^Instance, WindowStyle) -> ^Window)(rawptr(((^uintptr)(uintptr(addr)))^)))(instance, style); }
  2268. NewScrollbar :: inline proc (parent :^Element, flags :u64 = FLAGS_DEFAULT, userCallback :UICallbackFunction = nil, _context :Generic = nil) -> ^Scrollbar{ addr := 0x1000 + 147 * size_of(int); return ((proc (^Element, u64, UICallbackFunction, Generic) -> ^Scrollbar)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, flags, userCallback, _context); }
  2269. NewButton :: inline proc (parent :^Element, label :^i8 = nil, labelBytes :int = -1, flags :u64 = FLAGS_DEFAULT, userCallback :UICallbackFunction = nil, _context :Generic = nil) -> ^Button{ addr := 0x1000 + 148 * size_of(int); return ((proc (^Element, ^i8, int, u64, UICallbackFunction, Generic) -> ^Button)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, label, labelBytes, flags, userCallback, _context); }
  2270. NewTextbox :: inline proc (parent :^Element, flags :u64 = FLAGS_DEFAULT, userCallback :UICallbackFunction = nil, _context :Generic = nil) -> ^Textbox{ addr := 0x1000 + 149 * size_of(int); return ((proc (^Element, u64, UICallbackFunction, Generic) -> ^Textbox)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, flags, userCallback, _context); }
  2271. NewNumericEntry :: inline proc (parent :^Element, flags :u64 = FLAGS_DEFAULT, userCallback :UICallbackFunction = nil, _context :Generic = nil) -> ^NumericEntry{ addr := 0x1000 + 150 * size_of(int); return ((proc (^Element, u64, UICallbackFunction, Generic) -> ^NumericEntry)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, flags, userCallback, _context); }
  2272. NewListView :: inline proc (parent :^Element, flags :u64 = FLAGS_DEFAULT, style :^ListViewStyle = nil, userCallback :UICallbackFunction = nil, _context :Generic = nil) -> ^ListView{ addr := 0x1000 + 151 * size_of(int); return ((proc (^Element, u64, ^ListViewStyle, UICallbackFunction, Generic) -> ^ListView)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, flags, style, userCallback, _context); }
  2273. NewMenu :: inline proc (parent :^Element, flags :u64 = FLAGS_DEFAULT, userCallback :MenuCallbackFunction = nil, _context :Generic = nil) -> ^Menu{ addr := 0x1000 + 152 * size_of(int); return ((proc (^Element, u64, MenuCallbackFunction, Generic) -> ^Menu)(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, flags, userCallback, _context); }
  2274. NewMenuItem :: inline proc (parent :^Element, flags :u64, label :^i8, labelBytes :int = -1, callback :MenuCallbackFunction = nil, _context :Generic = nil){ addr := 0x1000 + 153 * size_of(int); ((proc (^Element, u64, ^i8, int, MenuCallbackFunction, Generic))(rawptr(((^uintptr)(uintptr(addr)))^)))(parent, flags, label, labelBytes, callback, _context); }
  2275. ElementGetInstance :: inline proc (element :^Element) -> ^INSTANCE_TYPE{ addr := 0x1000 + 154 * size_of(int); return ((proc (^Element) -> ^INSTANCE_TYPE)(rawptr(((^uintptr)(uintptr(addr)))^)))(element); }
  2276. ElementFocus :: inline proc (element :^Element, ensureVisible :bool){ addr := 0x1000 + 155 * size_of(int); ((proc (^Element, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(element, ensureVisible); }
  2277. ElementSetDisabled :: inline proc (element :^Element, disabled :bool){ addr := 0x1000 + 156 * size_of(int); ((proc (^Element, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(element, disabled); }
  2278. ElementSetCallback :: inline proc (element :^Element, callback :UICallbackFunction, _context :Generic){ addr := 0x1000 + 157 * size_of(int); ((proc (^Element, UICallbackFunction, Generic))(rawptr(((^uintptr)(uintptr(addr)))^)))(element, callback, _context); }
  2279. ScrollbarSetMeasurements :: inline proc (scrollbar :^Scrollbar, viewportSize :i32, contentSize :i32){ addr := 0x1000 + 158 * size_of(int); ((proc (^Scrollbar, i32, i32))(rawptr(((^uintptr)(uintptr(addr)))^)))(scrollbar, viewportSize, contentSize); }
  2280. ScrollbarSetPosition :: inline proc (scrollbar :^Scrollbar, position :f32, sendMovedMessage :bool, smoothScroll :bool){ addr := 0x1000 + 159 * size_of(int); ((proc (^Scrollbar, f32, bool, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(scrollbar, position, sendMovedMessage, smoothScroll); }
  2281. WindowGetBounds :: inline proc (window :^Window) -> Rectangle{ addr := 0x1000 + 160 * size_of(int); return ((proc (^Window) -> Rectangle)(rawptr(((^uintptr)(uintptr(addr)))^)))(window); }
  2282. WindowGetToolbar :: inline proc (window :^Window) -> ^Element{ addr := 0x1000 + 161 * size_of(int); return ((proc (^Window) -> ^Element)(rawptr(((^uintptr)(uintptr(addr)))^)))(window); }
  2283. ListViewInsert :: inline proc (listView :^ListView, group :ListViewIndex, index :ListViewIndex, count :uintptr){ addr := 0x1000 + 162 * size_of(int); ((proc (^ListView, ListViewIndex, ListViewIndex, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group, index, count); }
  2284. ListViewInsertGroup :: inline proc (listView :^ListView, group :ListViewIndex){ addr := 0x1000 + 163 * size_of(int); ((proc (^ListView, ListViewIndex))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group); }
  2285. ListViewRemove :: inline proc (listView :^ListView, group :ListViewIndex, index :ListViewIndex, count :int, removedHeight :i32){ addr := 0x1000 + 164 * size_of(int); ((proc (^ListView, ListViewIndex, ListViewIndex, int, i32))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group, index, count, removedHeight); }
  2286. ListViewRemoveGroup :: inline proc (listView :^ListView, group :ListViewIndex){ addr := 0x1000 + 165 * size_of(int); ((proc (^ListView, ListViewIndex))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group); }
  2287. ListViewInvalidate :: inline proc (listView :^ListView, deltaHeight :i32, recalculateHeight :bool){ addr := 0x1000 + 166 * size_of(int); ((proc (^ListView, i32, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, deltaHeight, recalculateHeight); }
  2288. ListViewEnsureVisible :: inline proc (listView :^ListView, group :ListViewIndex, index :ListViewIndex){ addr := 0x1000 + 167 * size_of(int); ((proc (^ListView, ListViewIndex, ListViewIndex))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group, index); }
  2289. ListViewResetSearchBuffer :: inline proc (listView :^ListView){ addr := 0x1000 + 168 * size_of(int); ((proc (^ListView))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView); }
  2290. ButtonSetIcon :: inline proc (button :^Button, iconID :u32){ addr := 0x1000 + 169 * size_of(int); ((proc (^Button, u32))(rawptr(((^uintptr)(uintptr(addr)))^)))(button, iconID); }
  2291. DataParse :: inline proc (cFormat :^i8, args : ..any) -> Data{ addr := 0x1000 + 170 * size_of(int); return ((proc (^i8, ..any) -> Data)(rawptr(((^uintptr)(uintptr(addr)))^)))(cFormat, ); }
  2292. //////////////////////////////////////////////////////
  2293. Errno :: distinct i32;
  2294. stdin: Handle = 0;
  2295. stdout: Handle = 1;
  2296. stderr: Handle = 2;
  2297. O_RDONLY :: 0x00000;
  2298. O_WRONLY :: 0x00001;
  2299. O_RDWR :: 0x00002;
  2300. O_CREATE :: 0x00040;
  2301. O_EXCL :: 0x00080;
  2302. O_NOCTTY :: 0x00100;
  2303. O_TRUNC :: 0x00200;
  2304. O_NONBLOCK :: 0x00800;
  2305. O_APPEND :: 0x00400;
  2306. O_SYNC :: 0x01000;
  2307. O_ASYNC :: 0x02000;
  2308. O_CLOEXEC :: 0x80000;
  2309. ERROR_SUCCESS :: 0;
  2310. ERROR_UNSUPPORTED :: 1;
  2311. read :: proc(fd: Handle, data: []byte) -> (int, Errno) {
  2312. return -1, ERROR_UNSUPPORTED;
  2313. }
  2314. write :: proc(fd: Handle, data: []byte) -> (int, Errno) {
  2315. if (fd == stdout) {
  2316. PrintDirect((^i8)(&data[0]), (uintptr)(len(data)));
  2317. return len(data), ERROR_SUCCESS;
  2318. }
  2319. return -1, ERROR_UNSUPPORTED;
  2320. }
  2321. open :: proc(path: string, flags: int = O_RDONLY, mode: int = 0) -> (Handle, Errno) {
  2322. return INVALID_HANDLE, ERROR_UNSUPPORTED;
  2323. }
  2324. close :: proc(fd: Handle) -> Errno {
  2325. return ERROR_UNSUPPORTED;
  2326. }
  2327. file_size :: proc(fd: Handle) -> (i64, Errno) {
  2328. return 0, ERROR_UNSUPPORTED;
  2329. }
  2330. heap_alloc :: proc(size: int) -> rawptr {
  2331. return nil;
  2332. }
  2333. heap_resize :: proc(ptr: rawptr, new_size: int) -> rawptr {
  2334. return nil;
  2335. }
  2336. heap_free :: proc(ptr: rawptr) {
  2337. }
  2338. current_thread_id :: proc "contextless" () -> int {
  2339. // return int(EsThreadGetID(ES_CURRENT_THREAD));
  2340. return -1;
  2341. }
  2342. OS :: "essence";