package os; Data :: struct { _private : [4]rawptr, } Generic :: rawptr; Element :: struct { _private : u8, }; Object :: rawptr; LongDouble :: struct { value : [10]u8, }; NodeType :: u64; Error :: int; Handle :: uint; Response :: i32; FileOffset :: u64; ListViewIndex :: i32; ThreadEntryFunction :: distinct #type proc (Generic); ComparisonCallbackFunction :: distinct #type proc (rawptr, rawptr, Generic) -> i32; SwapCallbackFunction :: distinct #type proc (rawptr, rawptr, Generic); CRTComparisonCallback :: distinct #type proc (rawptr, rawptr) -> i32; MessageCallbackFunction :: distinct #type proc (Object, ^Message, ^Response); UICallbackFunction :: distinct #type proc (^Element, ^Message, ^Response); Window :: struct { using element : Element, }; Panel :: struct { using element : Element, }; Scrollbar :: struct { using element : Element, }; Button :: struct { using element : Element, }; Textbox :: struct { using element : Element, }; ListView :: struct { using element : Element, }; NumericEntry :: struct { using element : Element, }; Menu :: struct { using element : Element, }; MenuCallbackFunction :: distinct #type proc (^Element, Generic); INSTANCE_TYPE :: Instance; SCANCODE_A :: (0x1C); SCANCODE_B :: (0x32); SCANCODE_C :: (0x21); SCANCODE_D :: (0x23); SCANCODE_E :: (0x24); SCANCODE_F :: (0x2B); SCANCODE_G :: (0x34); SCANCODE_H :: (0x33); SCANCODE_I :: (0x43); SCANCODE_J :: (0x3B); SCANCODE_K :: (0x42); SCANCODE_L :: (0x4B); SCANCODE_M :: (0x3A); SCANCODE_N :: (0x31); SCANCODE_O :: (0x44); SCANCODE_P :: (0x4D); SCANCODE_Q :: (0x15); SCANCODE_R :: (0x2D); SCANCODE_S :: (0x1B); SCANCODE_T :: (0x2C); SCANCODE_U :: (0x3C); SCANCODE_V :: (0x2A); SCANCODE_W :: (0x1D); SCANCODE_X :: (0x22); SCANCODE_Y :: (0x35); SCANCODE_Z :: (0x1A); SCANCODE_0 :: (0x45); SCANCODE_1 :: (0x16); SCANCODE_2 :: (0x1E); SCANCODE_3 :: (0x26); SCANCODE_4 :: (0x25); SCANCODE_5 :: (0x2E); SCANCODE_6 :: (0x36); SCANCODE_7 :: (0x3D); SCANCODE_8 :: (0x3E); SCANCODE_9 :: (0x46); SCANCODE_CAPS_LOCK :: (0x58); SCANCODE_SCROLL_LOCK :: (0x7E); SCANCODE_NUM_LOCK :: (0x77) ; SCANCODE_LEFT_SHIFT :: (0x12); SCANCODE_LEFT_CTRL :: (0x14); SCANCODE_LEFT_ALT :: (0x11); SCANCODE_LEFT_FLAG :: (0x11F); SCANCODE_RIGHT_SHIFT :: (0x59); SCANCODE_RIGHT_CTRL :: (0x114); SCANCODE_RIGHT_ALT :: (0x111); SCANCODE_PAUSE :: (0xE1); SCANCODE_CONTEXT_MENU :: (0x127); SCANCODE_BACKSPACE :: (0x66); SCANCODE_ESCAPE :: (0x76); SCANCODE_INSERT :: (0x170); SCANCODE_HOME :: (0x16C); SCANCODE_PAGE_UP :: (0x17D); SCANCODE_DELETE :: (0x171); SCANCODE_END :: (0x169); SCANCODE_PAGE_DOWN :: (0x17A); SCANCODE_UP_ARROW :: (0x175); SCANCODE_LEFT_ARROW :: (0x16B); SCANCODE_DOWN_ARROW :: (0x172); SCANCODE_RIGHT_ARROW :: (0x174); SCANCODE_SPACE :: (0x29); SCANCODE_TAB :: (0x0D); SCANCODE_ENTER :: (0x5A); SCANCODE_SLASH :: (0x4A); SCANCODE_BACKSLASH :: (0x5D); SCANCODE_LEFT_BRACE :: (0x54); SCANCODE_RIGHT_BRACE :: (0x5B); SCANCODE_EQUALS :: (0x55); SCANCODE_BACKTICK :: (0x0E); SCANCODE_HYPHEN :: (0x4E); SCANCODE_SEMICOLON :: (0x4C); SCANCODE_QUOTE :: (0x52); SCANCODE_COMMA :: (0x41); SCANCODE_PERIOD :: (0x49); SCANCODE_NUM_DIVIDE :: (0x14A); SCANCODE_NUM_MULTIPLY :: (0x7C); SCANCODE_NUM_SUBTRACT :: (0x7B); SCANCODE_NUM_ADD :: (0x79); SCANCODE_NUM_ENTER :: (0x15A); SCANCODE_NUM_POINT :: (0x71); SCANCODE_NUM_0 :: (0x70); SCANCODE_NUM_1 :: (0x69); SCANCODE_NUM_2 :: (0x72); SCANCODE_NUM_3 :: (0x7A); SCANCODE_NUM_4 :: (0x6B); SCANCODE_NUM_5 :: (0x73); SCANCODE_NUM_6 :: (0x74); SCANCODE_NUM_7 :: (0x6C); SCANCODE_NUM_8 :: (0x75); SCANCODE_NUM_9 :: (0x7D); SCANCODE_PRINT_SCREEN_1 :: (0x112) ; SCANCODE_PRINT_SCREEN_2 :: (0x17C); SCANCODE_F1 :: (0x05); SCANCODE_F2 :: (0x06); SCANCODE_F3 :: (0x04); SCANCODE_F4 :: (0x0C); SCANCODE_F5 :: (0x03); SCANCODE_F6 :: (0x0B); SCANCODE_F7 :: (0x83); SCANCODE_F8 :: (0x0A); SCANCODE_F9 :: (0x01); SCANCODE_F10 :: (0x09); SCANCODE_F11 :: (0x78); SCANCODE_F12 :: (0x07); SCANCODE_ACPI_POWER :: (0x137); SCANCODE_ACPI_SLEEP :: (0x13F); SCANCODE_ACPI_WAKE :: (0x15E); SCANCODE_MM_NEXT :: (0x14D); SCANCODE_MM_PREVIOUS :: (0x115); SCANCODE_MM_STOP :: (0x13B); SCANCODE_MM_PAUSE :: (0x134); SCANCODE_MM_MUTE :: (0x123); SCANCODE_MM_QUIETER :: (0x121); SCANCODE_MM_LOUDER :: (0x132); SCANCODE_MM_SELECT :: (0x150); SCANCODE_MM_EMAIL :: (0x148); SCANCODE_MM_CALC :: (0x12B); SCANCODE_MM_FILES :: (0x140); SCANCODE_WWW_SEARCH :: (0x110); SCANCODE_WWW_HOME :: (0x13A); SCANCODE_WWW_BACK :: (0x138); SCANCODE_WWW_FORWARD :: (0x130); SCANCODE_WWW_STOP :: (0x128); SCANCODE_WWW_REFRESH :: (0x120); SCANCODE_WWW_STARRED :: (0x118); PROCESS_STATE_ALL_THREADS_TERMINATED :: (1); PROCESS_STATE_TERMINATING :: (2); PROCESS_STATE_CRASHED :: (4); FLAGS_DEFAULT :: (0); SUCCESS :: (-1); ERROR_BUFFER_TOO_SMALL :: (-2); ERROR_UNKNOWN_OPERATION_FAILURE :: (-7); ERROR_NO_MESSAGES_AVAILABLE :: (-9); ERROR_MESSAGE_QUEUE_FULL :: (-10); ERROR_MESSAGE_NOT_HANDLED_BY_GUI :: (-13); ERROR_PATH_NOT_WITHIN_MOUNTED_VOLUME :: (-14); ERROR_PATH_NOT_TRAVERSABLE :: (-15); ERROR_FILE_ALREADY_EXISTS :: (-19); ERROR_FILE_DOES_NOT_EXIST :: (-20); ERROR_DRIVE_ERROR_FILE_DAMAGED :: (-21) ; ERROR_ACCESS_NOT_WITHIN_FILE_BOUNDS :: (-22) ; ERROR_FILE_PERMISSION_NOT_GRANTED :: (-23); ERROR_FILE_IN_EXCLUSIVE_USE :: (-24); ERROR_FILE_CANNOT_GET_EXCLUSIVE_USE :: (-25); ERROR_INCORRECT_NODE_TYPE :: (-26); ERROR_EVENT_NOT_SET :: (-27); ERROR_TIMEOUT_REACHED :: (-29); ERROR_REQUEST_CLOSED_BEFORE_COMPLETE :: (-30); ERROR_NO_CHARACTER_AT_COORDINATE :: (-31); ERROR_FILE_ON_READ_ONLY_VOLUME :: (-32); ERROR_USER_CANCELED_IO :: (-33); ERROR_INVALID_DIMENSIONS :: (-34); ERROR_DRIVE_CONTROLLER_REPORTED :: (-35); ERROR_COULD_NOT_ISSUE_PACKET :: (-36); ERROR_HANDLE_TABLE_FULL :: (-37); ERROR_COULD_NOT_RESIZE_FILE :: (-38); ERROR_DIRECTORY_NOT_EMPTY :: (-39); ERROR_UNSUPPORTED_FILESYSTEM :: (-40); ERROR_NODE_ALREADY_DELETED :: (-41); ERROR_NODE_IS_ROOT :: (-42); ERROR_VOLUME_MISMATCH :: (-43); ERROR_TARGET_WITHIN_SOURCE :: (-44); ERROR_TARGET_INVALID_TYPE :: (-45); ERROR_NOTHING_TO_DRAW :: (-46); ERROR_MALFORMED_NODE_PATH :: (-47); ERROR_OUT_OF_CACHE_RESOURCES :: (-48); ERROR_TARGET_IS_SOURCE :: (-49); ERROR_INVALID_NAME :: (-50); ERROR_CORRUPT_DATA :: (-51); ERROR_INSUFFICIENT_RESOURCES :: (-52); ERROR_UNSUPPORTED_FEATURE :: (-53); ERROR_FILE_TOO_FRAGMENTED :: (-54); ERROR_DRIVE_FULL :: (-55); ERROR_COULD_NOT_RESOLVE_SYMBOL :: (-56); ERROR_ALREADY_EMBEDDED :: (-57); SYSTEM_CONSTANT_TIME_STAMP_UNITS_PER_MICROSECOND :: (0); SYSTEM_CONSTANT_NO_FANCY_GRAPHICS :: (2); SYSTEM_CONSTANT_REPORTED_PROBLEMS :: (3); SYSTEM_CONSTANT_RIGHT_TO_LEFT :: (4); INVALID_HANDLE :: ((Handle) (0)); CURRENT_THREAD :: ((Handle) (0x10)); CURRENT_PROCESS :: ((Handle) (0x11)); SURFACE_UI_SHEET :: ((Handle) (0x20)); SURFACE_WALLPAPER :: ((Handle) (0x21)); DRAW_ALPHA_OVERWRITE :: (0x100); DRAW_ALPHA_FULL :: (0x200) ; WAIT_NO_TIMEOUT :: (-1); MAX_WAIT_COUNT :: (16); MAX_DIRECTORY_CHILD_NAME_LENGTH :: (256); PROCESS_EXECUTABLE_NOT_LOADED :: 0; PROCESS_EXECUTABLE_FAILED_TO_LOAD :: 1; PROCESS_EXECUTABLE_LOADED :: 2; SNAPSHOT_MAX_PROCESS_NAME_LENGTH :: (80); SYSTEM_SNAPSHOT_PROCESSES :: (1); SYSTEM_SNAPSHOT_DRIVES :: (2); NOT_HANDLED :: (-1); HANDLED :: (0); REJECTED :: (-2); SHARED_MEMORY_MAXIMUM_SIZE :: ( (1024) * 1024 * 1024 * 1024); SHARED_MEMORY_NAME_MAX_LENGTH :: (32); MAP_OBJECT_ALL :: (0); DRAW_STRING_HALIGN_LEFT :: (1); DRAW_STRING_HALIGN_RIGHT :: (2); DRAW_STRING_HALIGN_CENTER :: (3); DRAW_STRING_VALIGN_TOP :: (4); DRAW_STRING_VALIGN_BOTTOM :: (8); DRAW_STRING_VALIGN_CENTER :: (12); DRAW_STRING_CLIP :: (0); DRAW_STRING_WORD_WRAP :: (16); DRAW_STRING_ELLIPSIS :: (32); NODE_READ_NONE :: (0x0); NODE_READ_BLOCK :: (0x1); NODE_READ_ACCESS :: (0x2); NODE_READ_EXCLUSIVE :: (0x3); NODE_WRITE_NONE :: (0x00); NODE_WRITE_BLOCK :: (0x10); NODE_WRITE_ACCESS :: (0x20); NODE_WRITE_EXCLUSIVE :: (0x30); NODE_RESIZE_NONE :: (0x000); NODE_RESIZE_BLOCK :: (0x100); NODE_RESIZE_ACCESS :: (0x200); NODE_RESIZE_EXCLUSIVE :: (0x300); NODE_FAIL_IF_FOUND :: (0x1000); NODE_FAIL_IF_NOT_FOUND :: (0x2000); NODE_CREATE_DIRECTORIES :: (0x8000) ; NODE_POSIX_NAMESPACE :: (0x10000) ; DIRECTORY_CHILDREN_UNKNOWN :: ( (-1)); MEMORY_OPEN_FAIL_IF_FOUND :: (0x1000); MEMORY_OPEN_FAIL_IF_NOT_FOUND :: (0x2000); MAP_OBJECT_READ_WRITE :: (0); MAP_OBJECT_READ_ONLY :: (1); MAP_OBJECT_COPY_ON_WRITE :: (2); BOX_STYLE_OUTWARDS :: (0x01) ; BOX_STYLE_INWARDS :: (0x02) ; BOX_STYLE_NEUTRAL :: (0x03) ; BOX_STYLE_FLAT :: (0x04) ; BOX_STYLE_NONE :: (0x05) ; BOX_STYLE_SELECTED :: (0x06) ; BOX_STYLE_PUSHED :: (0x07) ; BOX_STYLE_DOTTED :: (0x80); BOX_COLOR_GRAY :: (0xC0C0C0); BOX_COLOR_DARK_GRAY :: (0x808080); BOX_COLOR_WHITE :: (0xFFFFFF); BOX_COLOR_BLUE :: (0x000080); BOX_COLOR_TRANSPARENT :: (0xFF00FF); BOX_COLOR_BLACK :: (0x000000); STRING_FORMAT_ENOUGH_SPACE :: ( (-1)); POSIX_SYSCALL_GET_POSIX_FD_PATH :: (0x10000); PERMISSION_ACCESS_SYSTEM_FILES :: (1 << 0); PERMISSION_ACCESS_USER_FILES :: (1 << 1); PERMISSION_PROCESS_CREATE :: (1 << 2); PERMISSION_PROCESS_OPEN :: (1 << 3); PERMISSION_SCREEN_MODIFY :: (1 << 4) ; PERMISSION_SHUTDOWN :: (1 << 5); PERMISSION_TAKE_SYSTEM_SNAPSHOT :: (1 << 6); PERMISSION_WINDOW_OPEN :: (1 << 7); PERMISSION_ALL :: ( (-1)); PERMISSION_INHERIT :: ( (1 << 63)); PANEL_STYLE_DEFAULT :: "Panel.Default"; PANEL_STYLE_MENU_COLUMN :: "Panel.Menu.Column"; PANEL_WRAP :: ( (0x0001) << 32); PANEL_H_LEFT :: ( (0x0010) << 32); PANEL_H_RIGHT :: ( (0x0020) << 32); PANEL_H_CENTER :: ( (0x0040) << 32); PANEL_H_JUSTIFY :: ( (0x0080) << 32); PANEL_V_TOP :: ( (0x0100) << 32); PANEL_V_BOTTOM :: ( (0x0200) << 32); PANEL_V_CENTER :: ( (0x0400) << 32); PANEL_V_JUSTIFY :: ( (0x0800) << 32); PANEL_H_SCROLL :: ( (0x1000) << 32); PANEL_V_SCROLL :: ( (0x2000) << 32); CELL_H_PUSH :: ( (0x0001) << 16); CELL_H_EXPAND :: ( (0x0002) << 16); CELL_H_LEFT :: ( (0x0004) << 16); CELL_H_RIGHT :: ( (0x0008) << 16); CELL_H_SHRINK :: ( (0x0010) << 16); CELL_V_PUSH :: ( (0x0100) << 16); CELL_V_EXPAND :: ( (0x0200) << 16); CELL_V_TOP :: ( (0x0400) << 16); CELL_V_BOTTOM :: ( (0x0800) << 16); CELL_V_SHRINK :: ( (0x1000) << 16); CELL_NEW_BAND :: ( (0x8000) << 16); CELL_HIDDEN :: ( (0xFFFF) << 16); ELEMENT_DO_NOT_FREE_STYLE_OVERRIDE :: (1 << 0); ELEMENT_RICH_TEXT :: (1 << 1); ELEMENT_FOCUSABLE :: (1 << 2); ELEMENT_Z_STACK :: (1 << 3) ; ELEMENT_HIDDEN :: (1 << 4); ELEMENT_USE_CHILD_AS_PARENT :: (1 << 5) ; ELEMENT_DISABLED :: (1 << 6); ELEMENT_WINDOW_COORDS_FOR_MOUSE :: (1 << 7) ; TEXTBOX_MULTILINE :: (1 << 0); TEXTBOX_BORDERED :: (1 << 1); BUTTON_DEFAULT :: ( (1) << 32); BUTTON_DANGEROUS :: ( (1) << 33); BUTTON_MENU_ITEM :: ( (1) << 34); BUTTON_NOT_FOCUSABLE :: ( (1) << 35); BUTTON_TOOLBAR :: ( (1) << 36); SCROLLBAR_VERTICAL :: ( (0) << 32); SCROLLBAR_HORIZONTAL :: ( (1) << 32); LIST_VIEW_INDEX_GROUP_HEADER :: (-1); LIST_VIEW_ITEM_CONTENT_TEXT :: (1 << 0); LIST_VIEW_ITEM_CONTENT_ICON :: (1 << 1); LIST_VIEW_ITEM_CONTENT_INDENTATION :: (1 << 2); LIST_VIEW_ITEM_STATE_SELECTED :: (1 << 0); LIST_VIEW_ITEM_STATE_CHECKED :: (1 << 1); LIST_VIEW_ITEM_STATE_HIDDEN :: (1 << 2); LIST_VIEW_ITEM_STATE_EXPANDABLE :: (1 << 3); LIST_VIEW_ITEM_STATE_CHECKABLE :: (1 << 4); LIST_VIEW_ITEM_STATE_DROP_TARGET :: (1 << 5); LIST_VIEW_ITEM_STATE_COLLAPSABLE :: (1 << 6); LIST_VIEW_ITEM_STATE_PARTIAL_CHECK :: (1 << 7); LIST_VIEW_ITEM_STATE_DRAG_SOURCE :: (1 << 8); LIST_VIEW_ITEM_STATE_CUT :: (1 << 9); LIST_VIEW_FIND_ITEM_FROM_Y_POSITION :: (0); LIST_VIEW_FIND_ITEM_FROM_TEXT_PREFIX :: (1); LIST_VIEW_FIND_ITEM_NON_HIDDEN :: (2); LIST_VIEW_FIND_ITEM_PARENT :: (3); LIST_VIEW_COLUMN_DEFAULT_WIDTH_PRIMARY :: (270); LIST_VIEW_COLUMN_DEFAULT_WIDTH_SECONDARY :: (130); LIST_VIEW_COLUMN_PRIMARY :: (1); LIST_VIEW_COLUMN_RIGHT_ALIGNED :: (2); LIST_VIEW_COLUMN_SORT_ASCENDING :: (8); LIST_VIEW_COLUMN_SORT_DESCENDING :: (16); LIST_VIEW_COLUMN_SORTABLE :: (32); LIST_VIEW_SINGLE_SELECT :: ( (1) << 32) ; LIST_VIEW_MULTI_SELECT :: ( (1) << 33) ; LIST_VIEW_HAS_COLUMNS :: ( (1) << 34) ; LIST_VIEW_HAS_GROUPS :: ( (1) << 35) ; LIST_VIEW_FIXED_HEIGHT :: ( (1) << 36) ; LIST_VIEW_VARIABLE_HEIGHT :: ( (1) << 37) ; LIST_VIEW_TREE :: ( (1) << 38) ; LIST_VIEW_TILED :: ( (1) << 39) ; LIST_VIEW_BORDERED :: ( (1) << 41) ; LIST_VIEW_DROP_TARGET_ORDERED :: ( (1) << 43) ; LIST_VIEW_DROP_TARGET_UNORDERED :: ( (1) << 44) ; LIST_VIEW_ROW_DIVIDERS :: ( (1) << 45) ; LIST_VIEW_STATIC_GROUP_HEADERS :: ( (1) << 46) ; LIST_VIEW_COLLAPSABLE_GROUPS :: ( (1) << 47) ; LIST_VIEW_INTERNAL_SELECTION_STORAGE :: ( (1) << 48) ; LIST_VIEW_HAND_CURSOR :: ( (1) << 49) ; LIST_VIEW_NO_ITEM_BACKGROUNDS :: ( (1) << 50) ; LIST_VIEW_RICH_TEXT :: ( (1) << 52) ; LIST_VIEW_LABELS_BELOW :: ( (1) << 53) ; LIST_VIEW_MAXIMUM_ITEMS :: (10 * 1000 * 1000); LIST_VIEW_MAXIMUM_GROUPS :: (10 * 1000); LIST_VIEW_TRANSITION_BACKWARDS :: (1); LIST_VIEW_TRANSITION_DRAW_NEW_CONTENTS_ONCE :: (2) ; MENU_AT_CURSOR :: (1 << 0); StandardIcon :: enum { ICON_ACTION_UNAVAILABLE_SYMBOLIC, ICON_ADDRESS_BOOK_NEW, ICON_ADDRESS_BOOK_NEW_SYMBOLIC, ICON_ALIGN_HORIZONTAL_CENTER, ICON_ALIGN_HORIZONTAL_CENTER_SYMBOLIC, ICON_ALIGN_HORIZONTAL_LEFT, ICON_ALIGN_HORIZONTAL_LEFT_SYMBOLIC, ICON_ALIGN_HORIZONTAL_LEFT_TO_ANCHOR, ICON_ALIGN_HORIZONTAL_LEFT_TO_ANCHOR_SYMBOLIC, ICON_ALIGN_HORIZONTAL_RIGHT, ICON_ALIGN_HORIZONTAL_RIGHT_SYMBOLIC, ICON_ALIGN_HORIZONTAL_RIGHT_TO_ANCHOR, ICON_ALIGN_HORIZONTAL_RIGHT_TO_ANCHOR_SYMBOLIC, ICON_ALIGN_VERTICAL_BOTTOM, ICON_ALIGN_VERTICAL_BOTTOM_SYMBOLIC, ICON_ALIGN_VERTICAL_BOTTOM_TO_ANCHOR, ICON_ALIGN_VERTICAL_BOTTOM_TO_ANCHOR_SYMBOLIC, ICON_ALIGN_VERTICAL_CENTER, ICON_ALIGN_VERTICAL_CENTER_SYMBOLIC, ICON_ALIGN_VERTICAL_TOP, ICON_ALIGN_VERTICAL_TOP_SYMBOLIC, ICON_ALIGN_VERTICAL_TOP_TO_ANCHOR, ICON_ALIGN_VERTICAL_TOP_TO_ANCHOR_SYMBOLIC, ICON_APPLICATION_ADD_SYMBOLIC, ICON_APPOINTMENT_NEW, ICON_APPOINTMENT_NEW_SYMBOLIC, ICON_APPOINTMENT_SYMBOLIC, ICON_BOOKMARK_NEW, ICON_BOOKMARK_NEW_SYMBOLIC, ICON_CALL_START, ICON_CALL_START_SYMBOLIC, ICON_CALL_STOP, ICON_CALL_STOP_SYMBOLIC, ICON_COLOR_FILL, ICON_COLOR_GRADIENT, ICON_COLOR_GRADIENT_MESH, ICON_COLOR_SELECT_SYMBOLIC, ICON_CONTACT_NEW, ICON_CONTACT_NEW_SYMBOLIC, ICON_DISTRIBUTE_HORIZONTAL_CENTER, ICON_DISTRIBUTE_HORIZONTAL_GAPS, ICON_DISTRIBUTE_HORIZONTAL_LEFT, ICON_DISTRIBUTE_HORIZONTAL_RIGHT, ICON_DISTRIBUTE_VERTICAL_BOTTOM, ICON_DISTRIBUTE_VERTICAL_CENTER, ICON_DISTRIBUTE_VERTICAL_GAPS, ICON_DISTRIBUTE_VERTICAL_TOP, ICON_DOCUMENT_EDIT, ICON_DOCUMENT_EDIT_SYMBOLIC, ICON_DOCUMENT_EXPORT, ICON_DOCUMENT_EXPORT_SYMBOLIC, ICON_DOCUMENT_IMPORT, ICON_DOCUMENT_IMPORT_SYMBOLIC, ICON_DOCUMENT_NEW, ICON_DOCUMENT_NEW_SYMBOLIC, ICON_DOCUMENT_OPEN_RECENT, ICON_DOCUMENT_OPEN_RECENT_SYMBOLIC, ICON_DOCUMENT_OPEN_SYMBOLIC, ICON_DOCUMENT_PAGE_SETUP, ICON_DOCUMENT_PAGE_SETUP_SYMBOLIC, ICON_DOCUMENT_PRINT_PREVIEW, ICON_DOCUMENT_PRINT_PREVIEW_SYMBOLIC, ICON_DOCUMENT_PRINT_SYMBOLIC, ICON_DOCUMENT_PROPERTIES, ICON_DOCUMENT_PROPERTIES_SYMBOLIC, ICON_DOCUMENT_REVERT, ICON_DOCUMENT_REVERT_SYMBOLIC, ICON_DOCUMENT_SAVE_AS, ICON_DOCUMENT_SAVE_AS_SYMBOLIC, ICON_DOCUMENT_SAVE_SYMBOLIC, ICON_DOCUMENT_SEND, ICON_DOCUMENT_SEND_SYMBOLIC, ICON_DRAW_CUBOID, ICON_DRAW_ELLIPSE, ICON_DRAW_ERASER, ICON_DRAW_FREEHAND, ICON_DRAW_PATH, ICON_DRAW_POLYGON_STAR, ICON_DRAW_RECTANGLE, ICON_DRAW_SPIRAL, ICON_DRAW_TEXT, ICON_EDIT_CLEAR, ICON_EDIT_CLEAR_ALL_SYMBOLIC, ICON_EDIT_CLEAR_SYMBOLIC, ICON_EDIT_COPY, ICON_EDIT_COPY_SYMBOLIC, ICON_EDIT_CUT, ICON_EDIT_CUT_SYMBOLIC, ICON_EDIT_DELETE_SYMBOLIC, ICON_EDIT_FIND, ICON_EDIT_FIND_REPLACE, ICON_EDIT_FIND_REPLACE_SYMBOLIC, ICON_EDIT_FIND_SYMBOLIC, ICON_EDIT_FLAG, ICON_EDIT_FLAG_SYMBOLIC, ICON_EDIT_MARK, ICON_EDIT_PASTE, ICON_EDIT_PASTE_SYMBOLIC, ICON_EDIT_REDO, ICON_EDIT_REDO_SYMBOLIC, ICON_EDIT_SELECT_ALL, ICON_EDIT_SELECT_ALL_SYMBOLIC, ICON_EDIT_SELECT_SYMBOLIC, ICON_EDIT_UNDO, ICON_EDIT_UNDO_ARCHIVE, ICON_EDIT_UNDO_SYMBOLIC, ICON_ERROR_CORRECT_SYMBOLIC, ICON_EVENT_NEW, ICON_FIND_LOCATION, ICON_FIND_LOCATION_SYMBOLIC, ICON_FOLDER_COPY, ICON_FOLDER_MOVE, ICON_FOLDER_NEW, ICON_FOLDER_NEW_SYMBOLIC, ICON_FONT_SELECT_SYMBOLIC, ICON_FORMAT_INDENT_LESS, ICON_FORMAT_INDENT_LESS_SYMBOLIC, ICON_FORMAT_INDENT_MORE, ICON_FORMAT_INDENT_MORE_SYMBOLIC, ICON_FORMAT_JUSTIFY_CENTER, ICON_FORMAT_JUSTIFY_CENTER_SYMBOLIC, ICON_FORMAT_JUSTIFY_FILL, ICON_FORMAT_JUSTIFY_FILL_SYMBOLIC, ICON_FORMAT_JUSTIFY_LEFT, ICON_FORMAT_JUSTIFY_LEFT_SYMBOLIC, ICON_FORMAT_JUSTIFY_RIGHT, ICON_FORMAT_JUSTIFY_RIGHT_SYMBOLIC, ICON_FORMAT_TEXT_BOLD, ICON_FORMAT_TEXT_BOLD_ES_SYMBOLIC, ICON_FORMAT_TEXT_BOLD_FR_SYMBOLIC, ICON_FORMAT_TEXT_BOLD_SYMBOLIC, ICON_FORMAT_TEXT_CLEAR_FORMATTING_SYMBOLIC, ICON_FORMAT_TEXT_DIRECTION_LTR_SYMBOLIC, ICON_FORMAT_TEXT_HIGHLIGHT, ICON_FORMAT_TEXT_ITALIC, ICON_FORMAT_TEXT_ITALIC_ES_SYMBOLIC, ICON_FORMAT_TEXT_ITALIC_SYMBOLIC, ICON_FORMAT_TEXT_LARGER_SYMBOLIC, ICON_FORMAT_TEXT_NONE, ICON_FORMAT_TEXT_SMALLER_SYMBOLIC, ICON_FORMAT_TEXT_STRIKETHROUGH, ICON_FORMAT_TEXT_STRIKETHROUGH_FR_SYMBOLIC, ICON_FORMAT_TEXT_STRIKETHROUGH_SYMBOLIC, ICON_FORMAT_TEXT_UNDERLINE, ICON_FORMAT_TEXT_UNDERLINE_FR_SYMBOLIC, ICON_FORMAT_TEXT_UNDERLINE_SYMBOLIC, ICON_GO_BOTTOM, ICON_GO_BOTTOM_SYMBOLIC, ICON_GO_DOWN, ICON_GO_DOWN_SYMBOLIC, ICON_GO_FIRST, ICON_GO_FIRST_SYMBOLIC, ICON_GO_HOME_SYMBOLIC, ICON_GO_JUMP, ICON_GO_JUMP_SYMBOLIC, ICON_GO_LAST, ICON_GO_LAST_SYMBOLIC, ICON_GO_NEXT, ICON_GO_NEXT_SYMBOLIC, ICON_GO_PREVIOUS, ICON_GO_PREVIOUS_SYMBOLIC, ICON_GO_TOP, ICON_GO_TOP_SYMBOLIC, ICON_GO_UP, ICON_GO_UP_SYMBOLIC, ICON_HELP_ABOUT, ICON_HELP_ABOUT_SYMBOLIC, ICON_HELP_CONTENTS, ICON_HELP_CONTENTS_SYMBOLIC, ICON_HELP_INFO_SYMBOLIC, ICON_IMAGE_ADJUST, ICON_IMAGE_AUTO_ADJUST, ICON_IMAGE_CROP, ICON_IMAGE_CROP_SYMBOLIC, ICON_IMAGE_RED_EYE, ICON_IMAGE_RED_EYE_SYMBOLIC, ICON_INSERT_IMAGE, ICON_INSERT_IMAGE_SYMBOLIC, ICON_INSERT_LINK, ICON_INSERT_LINK_SYMBOLIC, ICON_INSERT_OBJECT, ICON_INSERT_OBJECT_SYMBOLIC, ICON_INSERT_TEXT_SYMBOLIC, ICON_LIST_ADD, ICON_LIST_ADD_SYMBOLIC, ICON_LIST_REMOVE, ICON_LIST_REMOVE_SYMBOLIC, ICON_MAIL_ARCHIVE, ICON_MAIL_FORWARD, ICON_MAIL_FORWARD_SYMBOLIC, ICON_MAIL_MARK_IMPORTANT, ICON_MAIL_MARK_IMPORTANT_SYMBOLIC, ICON_MAIL_MARK_JUNK, ICON_MAIL_MARK_JUNK_SYMBOLIC, ICON_MAIL_MARK_NOTJUNK, ICON_MAIL_MARK_NOTJUNK_SYMBOLIC, ICON_MAIL_MESSAGE_NEW, ICON_MAIL_MESSAGE_NEW_SYMBOLIC, ICON_MAIL_MOVE, ICON_MAIL_MOVE_SYMBOLIC, ICON_MAIL_REPLY_ALL, ICON_MAIL_REPLY_ALL_SYMBOLIC, ICON_MAIL_REPLY_SENDER, ICON_MAIL_REPLY_SENDER_SYMBOLIC, ICON_MAIL_SEND, ICON_MAIL_SEND_RECEIVE_SYMBOLIC, ICON_MAIL_SEND_SYMBOLIC, ICON_MARK_LOCATION_SYMBOLIC, ICON_MEDIA_EJECT, ICON_MEDIA_EJECT_SYMBOLIC, ICON_MEDIA_EQ_SYMBOLIC, ICON_MEDIA_PLAYBACK_PAUSE, ICON_MEDIA_PLAYBACK_PAUSE_SYMBOLIC, ICON_MEDIA_PLAYBACK_START, ICON_MEDIA_PLAYBACK_START_SYMBOLIC, ICON_MEDIA_PLAYBACK_STOP, ICON_MEDIA_PLAYBACK_STOP_SYMBOLIC, ICON_MEDIA_RECORD, ICON_MEDIA_RECORD_SYMBOLIC, ICON_MEDIA_SEEK_BACKWARD, ICON_MEDIA_SEEK_BACKWARD_SYMBOLIC, ICON_MEDIA_SEEK_FORWARD, ICON_MEDIA_SEEK_FORWARD_SYMBOLIC, ICON_MEDIA_SKIP_BACKWARD, ICON_MEDIA_SKIP_FORWARD, ICON_MEDIA_VIEW_SUBTITLES_SYMBOLIC, ICON_NODE_ADD, ICON_NODE_ALIGN_HORIZONTAL, ICON_NODE_ALIGN_VERTICAL, ICON_NODE_BREAK, ICON_NODE_CUSP, ICON_NODE_DELETE, ICON_NODE_DELETE_SEGMENT, ICON_NODE_DISTRIBUTE_HORIZONTAL, ICON_NODE_DISTRIBUTE_VERTICAL, ICON_NODE_INSERT, ICON_NODE_JOIN, ICON_NODE_JOIN_SEGMENT, ICON_NODE_SMOOTH, ICON_NODE_SYMMETRIC, ICON_OBJECT_FLIP_HORIZONTAL, ICON_OBJECT_FLIP_HORIZONTAL_SYMBOLIC, ICON_OBJECT_FLIP_VERTICAL, ICON_OBJECT_FLIP_VERTICAL_SYMBOLIC, ICON_OBJECT_GROUP, ICON_OBJECT_GROUP_SYMBOLIC, ICON_OBJECT_INVERSE, ICON_OBJECT_INVERSE_SYMBOLIC, ICON_OBJECT_MERGE, ICON_OBJECT_ROTATE_LEFT, ICON_OBJECT_ROTATE_LEFT_SYMBOLIC, ICON_OBJECT_ROTATE_RIGHT, ICON_OBJECT_ROTATE_RIGHT_SYMBOLIC, ICON_OBJECT_SELECT_SYMBOLIC, ICON_OBJECT_STRAIGHTEN, ICON_OBJECT_TO_PATH, ICON_OBJECT_UNGROUP, ICON_OBJECT_UNGROUP_SYMBOLIC, ICON_OPEN_MENU, ICON_OPEN_MENU_SYMBOLIC, ICON_PAN_DOWN_SYMBOLIC, ICON_PAN_END_SYMBOLIC, ICON_PAN_START_SYMBOLIC, ICON_PAN_UP_SYMBOLIC, ICON_PANE_HIDE_SYMBOLIC, ICON_PANE_SHOW_SYMBOLIC, ICON_PATH_BREAK_APART, ICON_PATH_BREAK_APART_SYMBOLIC, ICON_PATH_COMBINE, ICON_PATH_COMBINE_SYMBOLIC, ICON_PATH_DIFFERENCE, ICON_PATH_DIFFERENCE_SYMBOLIC, ICON_PATH_DIVISION, ICON_PATH_DIVISION_SYMBOLIC, ICON_PATH_EXCLUSION, ICON_PATH_EXCLUSION_SYMBOLIC, ICON_PATH_INTERSECTION, ICON_PATH_INTERSECTION_SYMBOLIC, ICON_PATH_UNION, ICON_PATH_UNION_SYMBOLIC, ICON_PROCESS_STOP, ICON_PROCESS_STOP_SYMBOLIC, ICON_SEGMENT_CURVE, ICON_SEGMENT_LINE, ICON_SELECTION_ADD, ICON_SELECTION_BOTTOM, ICON_SELECTION_BOTTOM_SYMBOLIC, ICON_SELECTION_CHECKED, ICON_SELECTION_END_SYMBOLIC, ICON_SELECTION_LOWER, ICON_SELECTION_LOWER_SYMBOLIC, ICON_SELECTION_RAISE, ICON_SELECTION_RAISE_SYMBOLIC, ICON_SELECTION_REMOVE, ICON_SELECTION_START_SYMBOLIC, ICON_SELECTION_TOP, ICON_SELECTION_TOP_SYMBOLIC, ICON_SEND_TO, ICON_SEND_TO_SYMBOLIC, ICON_STAR_NEW_SYMBOLIC, ICON_STROKE_TO_PATH, ICON_SYSTEM_LOCK_SCREEN, ICON_SYSTEM_LOCK_SCREEN_SYMBOLIC, ICON_SYSTEM_LOG_OUT, ICON_SYSTEM_REBOOT, ICON_SYSTEM_RUN, ICON_SYSTEM_RUN_SYMBOLIC, ICON_SYSTEM_SHUTDOWN, ICON_SYSTEM_SHUTDOWN_SYMBOLIC, ICON_SYSTEM_SUSPEND, ICON_TAB_NEW_SYMBOLIC, ICON_TAG_NEW, ICON_TAG_NEW_SYMBOLIC, ICON_TOOL_MEASURE, ICON_TOOL_NODE_EDITOR, ICON_TOOLS_CHECK_SPELLING_SYMBOLIC, ICON_TOOLS_TIMER_SYMBOLIC, ICON_VIEW_COLUMN_SYMBOLIC, ICON_VIEW_CONTINUOUS_SYMBOLIC, ICON_VIEW_DUAL_SYMBOLIC, ICON_VIEW_FILTER_SYMBOLIC, ICON_VIEW_FULLSCREEN_SYMBOLIC, ICON_VIEW_GRID_SYMBOLIC, ICON_VIEW_LIST_COMPACT_SYMBOLIC, ICON_VIEW_LIST_IMAGES_SYMBOLIC, ICON_VIEW_LIST_SYMBOLIC, ICON_VIEW_LIST_VIDEO_SYMBOLIC, ICON_VIEW_MORE_HORIZONTAL_SYMBOLIC, ICON_VIEW_MORE_SYMBOLIC, ICON_VIEW_PAGED_SYMBOLIC, ICON_VIEW_PIN_SYMBOLIC, ICON_VIEW_REFRESH, ICON_VIEW_REFRESH_SYMBOLIC, ICON_VIEW_RESTORE_SYMBOLIC, ICON_VIEW_SORT_ASCENDING_SYMBOLIC, ICON_VIEW_SORT_DESCENDING_SYMBOLIC, ICON_WINDOW_CLOSE, ICON_WINDOW_CLOSE_SYMBOLIC, ICON_WINDOW_MAXIMIZE_SYMBOLIC, ICON_WINDOW_MINIMIZE_SYMBOLIC, ICON_WINDOW_NEW, ICON_WINDOW_NEW_SYMBOLIC, ICON_WINDOW_POP_OUT_SYMBOLIC, ICON_WINDOW_RESTORE_SYMBOLIC, ICON_ZOOM_FIT_BEST, ICON_ZOOM_FIT_BEST_SYMBOLIC, ICON_ZOOM_IN, ICON_ZOOM_IN_SYMBOLIC, ICON_ZOOM_ORIGINAL, ICON_ZOOM_ORIGINAL_SYMBOLIC, ICON_ZOOM_OUT, ICON_ZOOM_OUT_SYMBOLIC, ICON_ACCESSORIES_CALCULATOR, ICON_ACCESSORIES_CALCULATOR_SYMBOLIC, ICON_ACCESSORIES_SCREENSHOT, ICON_ACCESSORIES_TEXT_EDITOR, ICON_ACCESSORIES_TEXT_EDITOR_SYMBOLIC, ICON_APPLICATION_DEFAULT_ICON, ICON_ARCHIVE_MANAGER, ICON_INTERNET_CHAT, ICON_INTERNET_CHAT_SYMBOLIC, ICON_INTERNET_MAIL, ICON_INTERNET_MAIL_SYMBOLIC, ICON_INTERNET_NEWS_READER, ICON_INTERNET_NEWS_READER_SYMBOLIC, ICON_INTERNET_WEB_BROWSER, ICON_INTERNET_WEB_BROWSER_SYMBOLIC, ICON_MULTIMEDIA_AUDIO_PLAYER, ICON_MULTIMEDIA_PHOTO_MANAGER, ICON_MULTIMEDIA_VIDEO_PLAYER, ICON_OFFICE_ADDRESS_BOOK, ICON_OFFICE_CALENDAR, ICON_OFFICE_CALENDAR_SYMBOLIC, ICON_ONBOARD, ICON_POSTSCRIPT_VIEWER, ICON_PREFERENCES_DESKTOP, ICON_PREFERENCES_DESKTOP_FONT, ICON_SYSTEM_FILE_MANAGER, ICON_SYSTEM_OS_INSTALLER, ICON_SYSTEM_SOFTWARE_INSTALL, ICON_SYSTEM_SOFTWARE_INSTALL_SYMBOLIC, ICON_SYSTEM_SOFTWARE_UPDATE, ICON_SYSTEM_USERS, ICON_SYSTEM_USERS_SYMBOLIC, ICON_UTILITIES_SYSTEM_MONITOR, ICON_UTILITIES_TERMINAL, ICON_UTILITIES_TERMINAL_SYMBOLIC, ICON_APPLICATIONS_ACCESSORIES, ICON_APPLICATIONS_AUDIO_SYMBOLIC, ICON_APPLICATIONS_DEVELOPMENT, ICON_APPLICATIONS_DEVELOPMENT_SYMBOLIC, ICON_APPLICATIONS_EDUCATION, ICON_APPLICATIONS_EDUCATION_SYMBOLIC, ICON_APPLICATIONS_ENGINEERING_SYMBOLIC, ICON_APPLICATIONS_FONTS, ICON_APPLICATIONS_GAMES, ICON_APPLICATIONS_GAMES_SYMBOLIC, ICON_APPLICATIONS_GRAPHICS, ICON_APPLICATIONS_GRAPHICS_SYMBOLIC, ICON_APPLICATIONS_INTERFACEDESIGN, ICON_APPLICATIONS_INTERNET_SYMBOLIC, ICON_APPLICATIONS_MULTIMEDIA, ICON_APPLICATIONS_MULTIMEDIA_SYMBOLIC, ICON_APPLICATIONS_OFFICE, ICON_APPLICATIONS_OFFICE_SYMBOLIC, ICON_APPLICATIONS_OTHER, ICON_APPLICATIONS_OTHER_SYMBOLIC, ICON_APPLICATIONS_PHOTOGRAPHY, ICON_APPLICATIONS_SCIENCE, ICON_APPLICATIONS_SCIENCE_SYMBOLIC, ICON_APPLICATIONS_UTILITIES, ICON_APPLICATIONS_UTILITIES_SYMBOLIC, ICON_APPLICATIONS_VIDEO_SYMBOLIC, ICON_BUG, ICON_BUG_SYMBOLIC, ICON_EMOJI_ACTIVITY_SYMBOLIC, ICON_EMOJI_BODY_SYMBOLIC, ICON_EMOJI_FOOD_SYMBOLIC, ICON_EMOJI_NATURE_SYMBOLIC, ICON_EMOJI_OBJECTS_SYMBOLIC, ICON_EMOJI_TRAVEL_SYMBOLIC, ICON_EVENT_BIRTHDAY_SYMBOLIC, ICON_PREFERENCES_BLUETOOTH_SYMBOLIC, ICON_PREFERENCES_COLOR, ICON_PREFERENCES_COLOR_SYMBOLIC, ICON_PREFERENCES_DESKTOP_ACCESSIBILITY, ICON_PREFERENCES_DESKTOP_ACCESSIBILITY_POINTING, ICON_PREFERENCES_DESKTOP_ACCESSIBILITY_SYMBOLIC, ICON_PREFERENCES_DESKTOP_ACCESSIBILITY_ZOOM, ICON_PREFERENCES_DESKTOP_APPLICATIONS, ICON_PREFERENCES_DESKTOP_DISPLAY, ICON_PREFERENCES_DESKTOP_DISPLAY_SYMBOLIC, ICON_PREFERENCES_DESKTOP_KEYBOARD, ICON_PREFERENCES_DESKTOP_KEYBOARD_SYMBOLIC, ICON_PREFERENCES_DESKTOP_LOCALE, ICON_PREFERENCES_DESKTOP_LOCALE_SYMBOLIC, ICON_PREFERENCES_DESKTOP_ONLINE_ACCOUNTS, ICON_PREFERENCES_DESKTOP_ONLINE_ACCOUNTS_SYMBOLIC, ICON_PREFERENCES_DESKTOP_PERIPHERALS, ICON_PREFERENCES_DESKTOP_SOUND, ICON_PREFERENCES_DESKTOP_WALLPAPER, ICON_PREFERENCES_OTHER_SYMBOLIC, ICON_PREFERENCES_SYSTEM, ICON_PREFERENCES_SYSTEM_NETWORK, ICON_PREFERENCES_SYSTEM_NETWORK_SYMBOLIC, ICON_PREFERENCES_SYSTEM_NOTIFICATIONS, ICON_PREFERENCES_SYSTEM_PARENTAL_CONTROL_SYMBOLIC, ICON_PREFERENCES_SYSTEM_PARENTAL_CONTROLS, ICON_PREFERENCES_SYSTEM_POWER, ICON_PREFERENCES_SYSTEM_POWER_SYMBOLIC, ICON_PREFERENCES_SYSTEM_PRIVACY_HOUSEKEEPING, ICON_PREFERENCES_SYSTEM_SHARING, ICON_PREFERENCES_SYSTEM_SHARING_SYMBOLIC, ICON_PREFERENCES_SYSTEM_TIME, ICON_PREFERENCES_SYSTEM_TIME_SYMBOLIC, ICON_PREFERENCES_SYSTEM_WINDOWS, ICON_AC_ADAPTER_SYMBOLIC, ICON_AUDIO_CARD_SYMBOLIC, ICON_AUDIO_HEADPHONES, ICON_AUDIO_HEADPHONES_SYMBOLIC, ICON_AUDIO_HEADSET_SYMBOLIC, ICON_AUDIO_HEADSETS, ICON_AUDIO_INPUT_MICROPHONE, ICON_AUDIO_INPUT_MICROPHONE_SYMBOLIC, ICON_AUDIO_SPEAKER_CENTER, ICON_AUDIO_SPEAKER_CENTER_BACK, ICON_AUDIO_SPEAKER_CENTER_BACK_TESTING, ICON_AUDIO_SPEAKER_CENTER_TESTING, ICON_AUDIO_SPEAKER_LEFT, ICON_AUDIO_SPEAKER_LEFT_BACK, ICON_AUDIO_SPEAKER_LEFT_BACK_TESTING, ICON_AUDIO_SPEAKER_LEFT_SIDE, ICON_AUDIO_SPEAKER_LEFT_SIDE_TESTING, ICON_AUDIO_SPEAKER_LEFT_TESTING, ICON_AUDIO_SPEAKER_RIGHT, ICON_AUDIO_SPEAKER_RIGHT_BACK, ICON_AUDIO_SPEAKER_RIGHT_BACK_TESTING, ICON_AUDIO_SPEAKER_RIGHT_SIDE, ICON_AUDIO_SPEAKER_RIGHT_SIDE_TESTING, ICON_AUDIO_SPEAKER_RIGHT_TESTING, ICON_AUDIO_SPEAKERS, ICON_AUDIO_SPEAKERS_SYMBOLIC, ICON_AUDIO_SUBWOOFER, ICON_AUDIO_SUBWOOFER_TESTING, ICON_BATTERY, ICON_BATTERY_SYMBOLIC, ICON_BLUETOOTH, ICON_BLUETOOTH_SYMBOLIC, ICON_CAMERA_PHOTO, ICON_CAMERA_PHOTO_SYMBOLIC, ICON_CAMERA_VIDEO, ICON_CAMERA_VIDEO_SYMBOLIC, ICON_CAMERA_WEB, ICON_CAMERA_WEB_SYMBOLIC, ICON_COLORIMETER_COLORHUG_SYMBOLIC, ICON_COMPUTER_LAPTOP, ICON_COMPUTER_LAPTOP_SYMBOLIC, ICON_DISPLAY_PROJECTOR_SYMBOLIC, ICON_DRIVE_HARDDISK, ICON_DRIVE_HARDDISK_IEEE1394_SYMBOLIC, ICON_DRIVE_HARDDISK_SOLIDSTATE, ICON_DRIVE_HARDDISK_SOLIDSTATE_SYMBOLIC, ICON_DRIVE_HARDDISK_SYMBOLIC, ICON_DRIVE_MULTIDISK_SYMBOLIC, ICON_DRIVE_OPTICAL_SYMBOLIC, ICON_DRIVE_REMOVABLE_MEDIA, ICON_DRIVE_REMOVABLE_MEDIA_SYMBOLIC, ICON_DRIVE_REMOVABLE_MEDIA_USB, ICON_FINGERPRINT, ICON_FINGERPRINT_SYMBOLIC, ICON_GNOME_DEV_PRINTER_NEW, ICON_INPUT_DIALPAD_SYMBOLIC, ICON_INPUT_GAMING, ICON_INPUT_GAMING_SYMBOLIC, ICON_INPUT_KEYBOARD, ICON_INPUT_KEYBOARD_SYMBOLIC, ICON_INPUT_MOUSE, ICON_INPUT_MOUSE_SYMBOLIC, ICON_INPUT_TABLET, ICON_INPUT_TABLET_SYMBOLIC, ICON_INPUT_TOUCHPAD, ICON_INPUT_TOUCHPAD_SYMBOLIC, ICON_MEDIA_FLASH_CF, ICON_MEDIA_FLASH_MS, ICON_MEDIA_FLASH_SYMBOLIC, ICON_MEDIA_FLOPPY_SYMBOLIC, ICON_MEDIA_MEMORY, ICON_MEDIA_MEMORY_SD, ICON_MEDIA_MEMORY_SEMBOLIC, ICON_MEDIA_MEMORY_SM, ICON_MEDIA_OPTICAL, ICON_MEDIA_OPTICAL_SYMBOLIC, ICON_MEDIA_REMOVABLE_SYMBOLIC, ICON_MEDIA_TAPE_SYMBOLIC, ICON_MEDIA_ZIP_SYMBOLIC, ICON_MODEM, ICON_MODEM_SYMBOLIC, ICON_MULTIMEDIA_PLAYER, ICON_MULTIMEDIA_PLAYER_SYMBOLIC, ICON_NETWORK_CELLULAR, ICON_NETWORK_FIREWALL, ICON_NETWORK_VPN, ICON_NETWORK_WIRED, ICON_NETWORK_WIRELESS, ICON_NETWORK_WIRELESS_HOTSPOT, ICON_NM_DEVICE_WWAN, ICON_PDA_SYMBOLIC, ICON_PHONE, ICON_PHONE_SYMBOLIC, ICON_PRINTER, ICON_PRINTER_NETWORK, ICON_PRINTER_SYMBOLIC, ICON_SCANNER, ICON_SCANNER_SYMBOLIC, ICON_TABLET, ICON_TABLET_SYMBOLIC, ICON_TV_SYMBOLIC, ICON_UNINTERRUPTIBLE_POWER_SUPPLY, ICON_UNINTERRUPTIBLE_POWER_SUPPLY_SYMBOLIC, ICON_VIDEO_DISPLAY, ICON_VIDEO_DISPLAY_SYMBOLIC, ICON_EMBLEM_DEFAULT_SYMBOLIC, ICON_EMBLEM_DOCUMENTS_SYMBOLIC, ICON_EMBLEM_FAVORITE_SYMBOLIC, ICON_EMBLEM_IMPORTANT_SYMBOLIC, ICON_EMBLEM_MUSIC_SYMBOLIC, ICON_EMBLEM_OK_SYMBOLIC, ICON_EMBLEM_PHOTOS_SYMBOLIC, ICON_EMBLEM_READONLY, ICON_EMBLEM_SHARED_SYMBOLIC, ICON_EMBLEM_SYMBOLIC_LINK, ICON_EMBLEM_SYNCHRONIZED, ICON_EMBLEM_SYNCHRONIZING_SYMBOLIC, ICON_EMBLEM_UNREADABLE, ICON_EMBLEM_VIDEOS_SYMBOLIC, ICON_FACE_ANGEL, ICON_FACE_ANGEL_SYMBOLIC, ICON_FACE_ANGRY, ICON_FACE_ANGRY_SYMBOLIC, ICON_FACE_COOL, ICON_FACE_COOL_SYMBOLIC, ICON_FACE_CRYING, ICON_FACE_CRYING_SYMBOLIC, ICON_FACE_DEVILISH, ICON_FACE_DEVILISH_SYMBOLIC, ICON_FACE_EMBARRASSED, ICON_FACE_EMBARRASSED_SYMBOLIC, ICON_FACE_HEART, ICON_FACE_HEART_BROKEN, ICON_FACE_HEART_BROKEN_SYMBOLIC, ICON_FACE_HEART_SYMBOLIC, ICON_FACE_KISS, ICON_FACE_KISS_SYMBOLIC, ICON_FACE_LAUGH, ICON_FACE_LAUGH_SYMBOLIC, ICON_FACE_MONKEY_SYMBOLIC, ICON_FACE_PLAIN, ICON_FACE_PLAIN_SYMBOLIC, ICON_FACE_RASPBERRY, ICON_FACE_RASPBERRY_SYMBOLIC, ICON_FACE_SAD, ICON_FACE_SAD_SYMBOLIC, ICON_FACE_SICK, ICON_FACE_SICK_SYMBOLIC, ICON_FACE_SMILE, ICON_FACE_SMILE_BIG, ICON_FACE_SMILE_BIG_SYMBOLIC, ICON_FACE_SMILE_SYMBOLIC, ICON_FACE_SMIRK, ICON_FACE_SMIRK_SYMBOLIC, ICON_FACE_SURPRISE, ICON_FACE_SURPRISE_SYMBOLIC, ICON_FACE_TIRED, ICON_FACE_TIRED_SYMBOLIC, ICON_FACE_UNCERTAIN, ICON_FACE_UNCERTAIN_SYMBOLIC, ICON_FACE_WINK, ICON_FACE_WINK_SYMBOLIC, ICON_FACE_WORRIED, ICON_FACE_WORRIED_SYMBOLIC, ICON_APPLICATION_CERTIFICATE_SYMBOLIC, ICON_APPLICATION_EPUB_ZIP, ICON_APPLICATION_ILLUSTRATOR, ICON_APPLICATION_JAVASCRIPT, ICON_APPLICATION_MSWORD, ICON_APPLICATION_OCTET_STREAM, ICON_APPLICATION_PDF, ICON_APPLICATION_PGP, ICON_APPLICATION_RSS_XML_SYMBOLIC, ICON_APPLICATION_VND, ICON_APPLICATION_X_APPLIANCE_SYMBOLIC, ICON_APPLICATION_X_BITTORRENT, ICON_APPLICATION_X_CD_IMAGE, ICON_APPLICATION_X_DESKTOP, ICON_APPLICATION_X_EXECUTABLE_SYMBOLIC, ICON_APPLICATION_X_FICTIONBOOK_XML, ICON_APPLICATION_X_FIRMWARE, ICON_APPLICATION_X_FIRMWARE_SYMBOLIC, ICON_APPLICATION_X_FLASH_VIDEO, ICON_APPLICATION_X_MS_DOS_EXECUTABLE, ICON_APPLICATION_X_PARTIAL_DOWNLOAD, ICON_APPLICATION_X_PHP, ICON_APPLICATION_X_RUBY, ICON_AUDIO_X_GENERIC, ICON_AUDIO_X_GENERIC_SYMBOLIC, ICON_AUDIO_X_PLAYLIST, ICON_EXTENSION, ICON_FONT_X_GENERIC, ICON_FONT_X_GENERIC_SYMBOLIC, ICON_IMAGE_VND, ICON_IMAGE_X_GENERIC, ICON_IMAGE_X_GENERIC_SYMBOLIC, ICON_IMAGE_X_XCF, ICON_INTERNET_FEED, ICON_MODEL, ICON_OFFICE_CONTACT, ICON_OFFICE_DATABASE, ICON_PACKAGE_X_GENERIC, ICON_PACKAGE_X_GENERIC_SYMBOLIC, ICON_PAYMENT_CARD, ICON_PAYMENT_CARD_AMEX, ICON_PAYMENT_CARD_DINERS_CLUB, ICON_PAYMENT_CARD_DISCOVER, ICON_PAYMENT_CARD_JCB, ICON_PAYMENT_CARD_MASTERCARD, ICON_PAYMENT_CARD_SYMBOLIC, ICON_PAYMENT_CARD_UNIONPAY, ICON_PAYMENT_CARD_VISA, ICON_TEXT, ICON_TEXT_CSS, ICON_TEXT_HTML, ICON_TEXT_HTML_SYMBOLIC, ICON_TEXT_MARKDOWN, ICON_TEXT_X_BIBTEX, ICON_TEXT_X_CHANGELOG, ICON_TEXT_X_CHDR, ICON_TEXT_X_COPYING, ICON_TEXT_X_COPYING_SYMBOLIC, ICON_TEXT_X_CSRC, ICON_TEXT_X_GENERIC_SYMBOLIC, ICON_TEXT_X_GENERIC_TEMPLATE, ICON_TEXT_X_GETTEXT_TRANSLATION, ICON_TEXT_X_GETTEXT_TRANSLATION_TEMPLATE, ICON_TEXT_X_GO, ICON_TEXT_X_INSTALL, ICON_TEXT_X_MAKEFILE, ICON_TEXT_X_PREVIEW, ICON_TEXT_X_PYTHON, ICON_TEXT_X_README, ICON_TEXT_X_SASS, ICON_TEXT_X_SCRIPT, ICON_TEXT_X_SSA, ICON_TEXT_X_TEX, ICON_TEXT_X_VALA, ICON_UNKNOWN, ICON_VIDEO_X_GENERIC, ICON_VIDEO_X_GENERIC_SYMBOLIC, ICON_X_OFFICE_ADDRESS_BOOK_SYMBOLIC, ICON_X_OFFICE_DOCUMENT, ICON_X_OFFICE_DOCUMENT_SYMBOLIC, ICON_X_OFFICE_DOCUMENT_TEMPLATE, ICON_X_OFFICE_DRAWING, ICON_X_OFFICE_DRAWING_SYMBOLIC, ICON_X_OFFICE_DRAWING_TEMPLATE, ICON_X_OFFICE_PRESENTATION, ICON_X_OFFICE_PRESENTATION_SYMBOLIC, ICON_X_OFFICE_PRESENTATION_TEMPLATE, ICON_X_OFFICE_SPREADSHEET, ICON_X_OFFICE_SPREADSHEET_SYMBOLIC, ICON_X_OFFICE_SPREADSHEET_TEMPLATE, ICON_BOOKMARK_MISSING, ICON_DISTRIBUTOR_LOGO, ICON_DISTRIBUTOR_LOGO_SYMBOLIC, ICON_FOLDER, ICON_FOLDER_DOCUMENTS, ICON_FOLDER_DOCUMENTS_OPEN, ICON_FOLDER_DOCUMENTS_SYMBOLIC, ICON_FOLDER_DOWNLOAD, ICON_FOLDER_DOWNLOAD_OPEN, ICON_FOLDER_DOWNLOAD_SYMBOLIC, ICON_FOLDER_MUSIC, ICON_FOLDER_MUSIC_OPEN, ICON_FOLDER_MUSIC_SYMBOLIC, ICON_FOLDER_OPEN, ICON_FOLDER_PICTURES, ICON_FOLDER_PICTURES_OPEN, ICON_FOLDER_PICTURES_SYMBOLIC, ICON_FOLDER_PUBLICSHARE, ICON_FOLDER_PUBLICSHARE_OPEN, ICON_FOLDER_PUBLICSHARE_SYMBOLIC, ICON_FOLDER_RECENT, ICON_FOLDER_RECENT_SYMBOLIC, ICON_FOLDER_REMOTE, ICON_FOLDER_REMOTE_OPEN, ICON_FOLDER_SAVED_SEARCH, ICON_FOLDER_SYMBOLIC, ICON_FOLDER_TAG, ICON_FOLDER_TEMPLATES, ICON_FOLDER_TEMPLATES_OPEN, ICON_FOLDER_TEMPLATES_SYMBOLIC, ICON_FOLDER_VIDEOS, ICON_FOLDER_VIDEOS_OPEN, ICON_FOLDER_VIDEOS_SYMBOLIC, ICON_INTERNET_RADIO, ICON_INTERNET_RADIO_SYMBOLIC, ICON_LIBRARY_AUDIOBOOK, ICON_LIBRARY_PLACES, ICON_LIBRARY_PODCAST, ICON_MAIL_INBOX, ICON_MAIL_INBOX_SYMBOLIC, ICON_MAIL_MAILBOX, ICON_MAIL_MAILBOX_SYMBOLIC, ICON_MAIL_OUTBOX, ICON_MAIL_OUTBOX_SYMBOLIC, ICON_NETWORK_SERVER_SYMBOLIC, ICON_PLAYLIST, ICON_PLAYLIST_AUTOMATIC, ICON_PLAYLIST_QUEUE, ICON_PLAYLIST_QUEUE_SYMBOLIC, ICON_PLAYLIST_SIMILAR, ICON_PLAYLIST_SYMBOLIC, ICON_TAG_SYMBOLIC, ICON_USER_BOOKMARKS_SYMBOLIC, ICON_USER_HOME, ICON_USER_HOME_OPEN, ICON_USER_HOME_SYMBOLIC, ICON_USER_TRASH, ICON_USER_TRASH_FULL, ICON_USER_TRASH_SYMBOLIC, ICON_AIRPLANE_MODE, ICON_AIRPLANE_MODE_SYMBOLIC, ICON_ALARM_SYMBOLIC, ICON_APPOINTMENT_MISSED, ICON_APPOINTMENT_MISSED_SYMBOLIC, ICON_APPOINTMENT_SOON, ICON_APPOINTMENT_SOON_SYMBOLIC, ICON_AUDIO_VOLUME_HIGH_SYMBOLIC, ICON_AUDIO_VOLUME_LOW_SYMBOLIC, ICON_AUDIO_VOLUME_MEDIUM_SYMBOLIC, ICON_AUDIO_VOLUME_MUTED_BLOCKING_SYMBOLIC, ICON_AUDIO_VOLUME_MUTED_SYMBOLIC, ICON_AVATAR_DEFAULT, ICON_AVATAR_DEFAULT_SYMBOLIC, ICON_BATTERY_AC_ADAPTER, ICON_BATTERY_AC_ADAPTER_SYMBOLIC, ICON_BATTERY_CAUTION, ICON_BATTERY_CAUTION_CHARGING, ICON_BATTERY_CAUTION_CHARGING_SYMBOLIC, ICON_BATTERY_CAUTION_SYMBOLIC, ICON_BATTERY_EMPTY, ICON_BATTERY_EMPTY_CHARGING, ICON_BATTERY_EMPTY_CHARGING_SYMBOLIC, ICON_BATTERY_EMPTY_SYMBOLIC, ICON_BATTERY_FULL, ICON_BATTERY_FULL_CHARGED, ICON_BATTERY_FULL_CHARGED_SYMBOLIC, ICON_BATTERY_FULL_CHARGING, ICON_BATTERY_FULL_CHARGING_SYMBOLIC, ICON_BATTERY_FULL_SYMBOLIC, ICON_BATTERY_GOOD, ICON_BATTERY_GOOD_CHARGING, ICON_BATTERY_GOOD_CHARGING_SYMBOLIC, ICON_BATTERY_GOOD_SYMBOLIC, ICON_BATTERY_LOW, ICON_BATTERY_LOW_CHARGING, ICON_BATTERY_LOW_CHARGING_SYMBOLIC, ICON_BATTERY_LOW_SYMBOLIC, ICON_BATTERY_MISSING, ICON_BATTERY_MISSING_SYMBOLIC, ICON_BLUETOOTH_ACTIVE_SYMBOLIC, ICON_BLUETOOTH_DISABLED, ICON_BLUETOOTH_DISABLED_10_SYMBOLIC, ICON_BLUETOOTH_DISABLED_20_SYMBOLIC, ICON_BLUETOOTH_DISABLED_30_SYMBOLIC, ICON_BLUETOOTH_DISABLED_40_SYMBOLIC, ICON_BLUETOOTH_DISABLED_50_SYMBOLIC, ICON_BLUETOOTH_DISABLED_60_SYMBOLIC, ICON_BLUETOOTH_DISABLED_70_SYMBOLIC, ICON_BLUETOOTH_DISABLED_80_SYMBOLIC, ICON_BLUETOOTH_DISABLED_90_SYMBOLIC, ICON_BLUETOOTH_DISABLED_SYMBOLIC, ICON_BLUETOOTH_PAIRED_SYMBOLIC, ICON_CALL_MISSED_SYMBOLIC, ICON_CHANGES_ALLOW, ICON_CHANGES_ALLOW_SYMBOLIC, ICON_CHANGES_PREVENT_SYMBOLIC, ICON_CHANNEL_INSECURE_SYMBOLIC, ICON_CHANNEL_SECURE_SYMBOLIC, ICON_CHECK_ACTIVE_SYMBOLIC, ICON_CHECK_MIXED_SYMBOLIC, ICON_CHECKBOX_CHECKED_SYMBOLIC, ICON_CHECKBOX_MIXED_SYMBOLIC, ICON_CHECKBOX_SYMBOLIC, ICON_COMPUTER_FAIL_SYMBOLIC, ICON_CONTENT_LOADING_SYMBOLIC, ICON_DAYTIME_SUNRISE_SYMBOLIC, ICON_DAYTIME_SUNSET_SYMBOLIC, ICON_DIALOG_ERROR, ICON_DIALOG_ERROR_SYMBOLIC, ICON_DIALOG_INFORMATION, ICON_DIALOG_INFORMATION_SYMBOLIC, ICON_DIALOG_PASSWORD, ICON_DIALOG_PASSWORD_SYMBOLIC, ICON_DIALOG_WARNING, ICON_DIALOG_WARNING_SYMBOLIC, ICON_DISPLAY_BRIGHTNESS_SYMBOLIC, ICON_FOLDER_OPEN_SYMBOLIC, ICON_FOLDER_VISITING_SYMBOLIC, ICON_IMAGE_LOADING, ICON_IMAGE_MISSING, ICON_INPUT_KEYBOARD_CAPSLOCK_SYMBOLIC, ICON_INPUT_KEYBOARD_NUMLOCK_SYMBOLIC, ICON_KEYBOARD_BRIGHTNESS_SYMBOLIC, ICON_LOCATION_ACTIVE_SYMBOLIC, ICON_LOCATION_DISABLED_SYMBOLIC, ICON_LOCATION_INACTIVE_SYMBOLIC, ICON_LOCKED, ICON_MAIL_ATTACHMENT_SYMBOLIC, ICON_MAIL_FORWARDED_SYMBOLIC, ICON_MAIL_IMPORTANT_SYMBOLIC, ICON_MAIL_READ_SYMBOLIC, ICON_MAIL_REPLIED_SYMBOLIC, ICON_MAIL_UNREAD, ICON_MAIL_UNREAD_SYMBOLIC, ICON_MEDIA_PLAYLIST_CONSECUTIVE_SYMBOLIC, ICON_MEDIA_PLAYLIST_NO_REPEAT_SYMBOLIC, ICON_MEDIA_PLAYLIST_REPEAT, ICON_MEDIA_PLAYLIST_REPEAT_SONG_SYMBOLIC, ICON_MEDIA_PLAYLIST_REPEAT_SYMBOLIC, ICON_MEDIA_PLAYLIST_SHUFFLE_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_HIGH_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_LOW_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MEDIUM_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_10_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_20_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_30_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_40_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_50_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_60_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_70_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_80_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_90_SYMBOLIC, ICON_MICROPHONE_SENSITIVITY_MUTED_SYMBOLIC, ICON_NETWORK_CELLULAR_ACQUIRING_SYMBOLIC, ICON_NETWORK_CELLULAR_CONNECTED_SYMBOLIC, ICON_NETWORK_CELLULAR_NO_ROUTE_SYMBOLIC, ICON_NETWORK_CELLULAR_OFFLINE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_EXCELLENT_SECURE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_EXCELLENT_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_GOOD_SECURE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_GOOD_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_NONE_SECURE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_NONE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_OK_SECURE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_OK_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_WEAK_SECURE_SYMBOLIC, ICON_NETWORK_CELLULAR_SIGNAL_WEAK_SYMBOLIC, ICON_NETWORK_ERROR, ICON_NETWORK_ERROR_SYMBOLIC, ICON_NETWORK_IDLE, ICON_NETWORK_OFFLINE_SYMBOLIC, ICON_NETWORK_VPN_ACQUIRING_SYMBOLIC, ICON_NETWORK_VPN_LOCK_SYMBOLIC, ICON_NETWORK_VPN_SYMBOLIC, ICON_NETWORK_WIRED_ACQUIRING_SYMBOLIC, ICON_NETWORK_WIRED_DISCONNECTED, ICON_NETWORK_WIRED_NO_ROUTE_SYMBOLIC, ICON_NETWORK_WIRED_OFFLINE_SYMBOLIC, ICON_NETWORK_WIRED_SYMBOLIC, ICON_NETWORK_WIRELESS_ACQUIRING_SYMBOLIC, ICON_NETWORK_WIRELESS_CONNECTED_SYMBOLIC, ICON_NETWORK_WIRELESS_ENCRYPTED_SYMBOLIC, ICON_NETWORK_WIRELESS_HOTSPOT_SYMBOLIC, ICON_NETWORK_WIRELESS_NO_ROUTE_SYMBOLIC, ICON_NETWORK_WIRELESS_OFFLINE_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_EXCELLENT_SECURE_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_EXCELLENT_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_GOOD_SECURE_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_GOOD_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_NONE_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_OK_SECURE_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_OK_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_WEAK_SECURE_SYMBOLIC, ICON_NETWORK_WIRELESS_SIGNAL_WEAK_SYMBOLIC, ICON_NETWORK_WIRELESS_SYMBOLIC, ICON_NIGHT_LIGHT, ICON_NIGHT_LIGHT_DISABLED_10_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_20_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_30_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_40_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_50_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_60_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_70_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_80_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_90_SYMBOLIC, ICON_NIGHT_LIGHT_DISABLED_SYMBOLIC, ICON_NIGHT_LIGHT_SYMBOLIC, ICON_NM_NO_CONNECTION, ICON_NM_SIGNAL_0, ICON_NM_SIGNAL_0_SECURE, ICON_NM_SIGNAL_100, ICON_NM_SIGNAL_100_SECURE, ICON_NM_SIGNAL_25, ICON_NM_SIGNAL_25_SECURE, ICON_NM_SIGNAL_50, ICON_NM_SIGNAL_50_SECURE, ICON_NM_SIGNAL_75, ICON_NM_SIGNAL_75_SECURE, ICON_NM_VPN_ACTIVE_LOCK, ICON_NM_VPN_LOCK, ICON_NON_STARRED, ICON_NON_STARRED_SYMBOLIC, ICON_NOTIFICATION_AUDIO_VOLUME_HIGH, ICON_NOTIFICATION_AUDIO_VOLUME_LOW, ICON_NOTIFICATION_AUDIO_VOLUME_MEDIUM, ICON_NOTIFICATION_AUDIO_VOLUME_MUTED, ICON_NOTIFICATION_DEVICE_EJECT, ICON_NOTIFICATION_DISABLED, ICON_NOTIFICATION_DISABLED_10_SYMBOLIC, ICON_NOTIFICATION_DISABLED_20_SYMBOLIC, ICON_NOTIFICATION_DISABLED_30_SYMBOLIC, ICON_NOTIFICATION_DISABLED_40_SYMBOLIC, ICON_NOTIFICATION_DISABLED_50_SYMBOLIC, ICON_NOTIFICATION_DISABLED_60_SYMBOLIC, ICON_NOTIFICATION_DISABLED_70_SYMBOLIC, ICON_NOTIFICATION_DISABLED_80_SYMBOLIC, ICON_NOTIFICATION_DISABLED_90_SYMBOLIC, ICON_NOTIFICATION_DISABLED_SYMBOLIC, ICON_NOTIFICATION_DISPLAY_BRIGHTNESS, ICON_NOTIFICATION_KEYBOARD_BRIGHTNESS, ICON_NOTIFICATION_NETWORK_ETHERNET_DISCONNECTED, ICON_NOTIFICATION_NETWORK_WIRED, ICON_NOTIFICATION_NETWORK_WIRELESS, ICON_NOTIFICATION_NETWORK_WIRELESS_DISCONNECTED, ICON_NOTIFICATION_NETWORK_WIRELESS_DISCONNECTED_SYMBOLIC, ICON_NOTIFICATION_NETWORK_WIRELESS_SYMBOLIC, ICON_NOTIFICATION_NEW_10_SYMBOLIC, ICON_NOTIFICATION_NEW_20_SYMBOLIC, ICON_NOTIFICATION_NEW_30_SYMBOLIC, ICON_NOTIFICATION_NEW_40_SYMBOLIC, ICON_NOTIFICATION_NEW_50_SYMBOLIC, ICON_NOTIFICATION_NEW_60_SYMBOLIC, ICON_NOTIFICATION_NEW_70_SYMBOLIC, ICON_NOTIFICATION_NEW_80_SYMBOLIC, ICON_NOTIFICATION_NEW_90_SYMBOLIC, ICON_NOTIFICATION_NEW_SYMBOLIC, ICON_NOTIFICATION_SYMBOLIC, ICON_PAGER_CHECKED_SYMBOLIC, ICON_PRINTER_ERROR, ICON_PRINTER_ERROR_SYMBOLIC, ICON_PRINTER_PRINTING_SYMBOLIC, ICON_PRINTER_WARNING_SYMBOLIC, ICON_PROCESS_COMPLETED, ICON_PROCESS_COMPLETED_SYMBOLIC, ICON_PROCESS_ERROR_SYMBOLIC, ICON_PROCESS_WORKING_SYMBOLIC, ICON_RADIO_CHECKED_SYMBOLIC, ICON_RADIO_MIXED_SYMBOLIC, ICON_RADIO_SYMBOLIC, ICON_ROTATION_ALLOWED_SYMBOLIC, ICON_ROTATION_LOCKED_SYMBOLIC, ICON_SECURITY_HIGH, ICON_SECURITY_HIGH_SYMBOLIC, ICON_SECURITY_LOW, ICON_SECURITY_LOW_SYMBOLIC, ICON_SECURITY_MEDIUM, ICON_SECURITY_MEDIUM_SYMBOLIC, ICON_SEMI_STARRED, ICON_SEMI_STARRED_SYMBOLIC, ICON_SOFTWARE_UPDATE_AVAILABLE_SYMBOLIC, ICON_SOFTWARE_UPDATE_URGENT_SYMBOLIC, ICON_STARRED, ICON_STARRED_SYMBOLIC, ICON_TASK_DUE_SYMBOLIC, ICON_TASK_PAST_DUE_SYMBOLIC, ICON_TOUCHPAD_DISABLED_SYMBOLIC, ICON_USER_AVAILABLE, ICON_USER_AVAILABLE_SYMBOLIC, ICON_USER_AWAY, ICON_USER_AWAY_SYMBOLIC, ICON_USER_BUSY, ICON_USER_BUSY_SYMBOLIC, ICON_USER_IDLE_SYMBOLIC, ICON_USER_INVISIBLE, ICON_USER_INVISIBLE_SYMBOLIC, ICON_USER_OFFLINE, ICON_USER_OFFLINE_SYMBOLIC, ICON_USER_STATUS_PENDING_SYMBOLIC, ICON_USER_TRASH_FULL_SYMBOLIC, ICON_USER_TYPING, ICON_VIEW_PRIVATE, ICON_VIEW_PRIVATE_SYMBOLIC, ICON_VIEW_WRAPPED_SYMBOLIC, ICON_WEATHER_CLEAR_NIGHT_SYMBOLIC, ICON_WEATHER_CLEAR_SYMBOLIC, ICON_WEATHER_FEW_CLOUDS_NIGHT_SYMBOLIC, ICON_WEATHER_FEW_CLOUDS_SYMBOLIC, ICON_WEATHER_FOG_NIGHT_SYMBOLIC, ICON_WEATHER_FOG_SYMBOLIC, ICON_WEATHER_OVERCAST_NIGHT_SYMBOLIC, ICON_WEATHER_OVERCAST_SYMBOLIC, ICON_WEATHER_SEVERE_ALERT_SYMBOLIC, ICON_WEATHER_SHOWERS_NIGHT_SYMBOLIC, ICON_WEATHER_SHOWERS_SCATTERED_NIGHT_SYMBOLIC, ICON_WEATHER_SHOWERS_SCATTERED_SYMBOLIC, ICON_WEATHER_SHOWERS_SYMBOLIC, ICON_WEATHER_SNOW_NIGHT_SYMBOLIC, ICON_WEATHER_SNOW_SYMBOLIC, ICON_WEATHER_STORM_NIGHT_SYMBOLIC, ICON_WEATHER_STORM_SYMBOLIC, ICON_WEATHER_STORM_TORNADO_NIGHT_SYMBOLIC, ICON_WEATHER_STORM_TORNADO_SYMBOLIC, ICON_WEATHER_WINDY_SYMBOLIC, } FatalError :: enum { FATAL_ERROR_INVALID_BUFFER, FATAL_ERROR_UNKNOWN_SYSCALL, FATAL_ERROR_INVALID_MEMORY_REGION, FATAL_ERROR_MEMORY_REGION_LOCKED_BY_KERNEL, FATAL_ERROR_PATH_LENGTH_EXCEEDS_LIMIT, FATAL_ERROR_INVALID_HANDLE, FATAL_ERROR_MUTEX_NOT_ACQUIRED_BY_THREAD, FATAL_ERROR_MUTEX_ALREADY_ACQUIRED, FATAL_ERROR_BUFFER_NOT_ACCESSIBLE, FATAL_ERROR_SHARED_MEMORY_REGION_TOO_LARGE, FATAL_ERROR_SHARED_MEMORY_STILL_MAPPED, FATAL_ERROR_COULD_NOT_LOAD_FONT, FATAL_ERROR_COULD_NOT_DRAW_FONT, FATAL_ERROR_COULD_NOT_ALLOCATE_MEMORY, FATAL_ERROR_INCORRECT_FILE_ACCESS, FATAL_ERROR_TOO_MANY_WAIT_OBJECTS, FATAL_ERROR_INCORRECT_NODE_TYPE, FATAL_ERROR_PROCESSOR_EXCEPTION, FATAL_ERROR_UNKNOWN, FATAL_ERROR_RECURSIVE_BATCH, FATAL_ERROR_CORRUPT_HEAP, FATAL_ERROR_CORRUPT_LINKED_LIST, FATAL_ERROR_INDEX_OUT_OF_BOUNDS, FATAL_ERROR_INVALID_STRING_LENGTH, FATAL_ERROR_SPINLOCK_NOT_ACQUIRED, FATAL_ERROR_UNKNOWN_SNAPSHOT_TYPE, FATAL_ERROR_PROCESS_ALREADY_ATTACHED, FATAL_ERROR_INTERNAL, FATAL_ERROR_INSUFFICIENT_PERMISSIONS, FATAL_ERROR_ABORT, FATAL_ERROR_COUNT, } SyscallType :: enum { SYSCALL_ALLOCATE, SYSCALL_FREE, SYSCALL_SHARE_MEMORY, SYSCALL_MAP_OBJECT, SYSCALL_OPEN_SHARED_MEMORY, SYSCALL_CREATE_PROCESS, SYSCALL_GET_CREATION_ARGUMENT, SYSCALL_TERMINATE_THREAD, SYSCALL_CREATE_THREAD, SYSCALL_WAIT, SYSCALL_TERMINATE_PROCESS, SYSCALL_CREATE_EVENT, SYSCALL_SET_EVENT, SYSCALL_RESET_EVENT, SYSCALL_POLL_EVENT, SYSCALL_PAUSE_PROCESS, SYSCALL_CRASH_PROCESS, SYSCALL_GET_THREAD_ID, SYSCALL_GET_PROCESS_STATE, SYSCALL_YIELD_SCHEDULER, SYSCALL_SLEEP, SYSCALL_OPEN_PROCESS, SYSCALL_SET_TLS, SYSCALL_TIMER_SET, SYSCALL_TIMER_CREATE, SYSCALL_GET_PROCESS_STATUS, SYSCALL_CREATE_SURFACE, SYSCALL_GET_LINEAR_BUFFER, SYSCALL_INVALIDATE_RECTANGLE, SYSCALL_COPY_TO_SCREEN, SYSCALL_FORCE_SCREEN_UPDATE, SYSCALL_FILL_RECTANGLE, SYSCALL_COPY_SURFACE, SYSCALL_CLEAR_MODIFIED_REGION, SYSCALL_DRAW_SURFACE, SYSCALL_REDRAW_ALL, SYSCALL_DRAW_BOX, SYSCALL_DRAW_BITMAP, SYSCALL_SURFACE_RESET, SYSCALL_SURFACE_SHARE, SYSCALL_DRAW_STYLED_BOX, SYSCALL_SURFACE_SCROLL, SYSCALL_RESIZE_SURFACE, SYSCALL_GET_MESSAGE, SYSCALL_POST_MESSAGE, SYSCALL_POST_MESSAGE_REMOTE, SYSCALL_WAIT_MESSAGE, SYSCALL_CREATE_WINDOW, SYSCALL_UPDATE_WINDOW, SYSCALL_SET_CURSOR_STYLE, SYSCALL_MOVE_WINDOW, SYSCALL_GET_WINDOW_BOUNDS, SYSCALL_RESET_CLICK_CHAIN, SYSCALL_GET_CURSOR_POSITION, SYSCALL_SET_CURSOR_POSITION, SYSCALL_COPY, SYSCALL_GET_CLIPBOARD_HEADER, SYSCALL_PASTE_TEXT, SYSCALL_SET_FOCUSED_WINDOW, SYSCALL_SET_WINDOW_TITLE, SYSCALL_GET_SCREEN_BOUNDS, SYSCALL_WINDOW_OPEN, SYSCALL_WINDOW_SET_BLEND_BOUNDS, SYSCALL_WINDOW_GET_BLEND_BOUNDS, SYSCALL_WINDOW_GET_ID, SYSCALL_SET_WINDOW_ALPHA, SYSCALL_DOCKED_WINDOW_CREATE, SYSCALL_WINDOW_SHARE, SYSCALL_SET_EMBED_WINDOW, SYSCALL_OPEN_NODE, SYSCALL_READ_FILE_SYNC, SYSCALL_WRITE_FILE_SYNC, SYSCALL_RESIZE_FILE, SYSCALL_REFRESH_NODE_INFORMATION, SYSCALL_ENUMERATE_DIRECTORY_CHILDREN, SYSCALL_DELETE_NODE, SYSCALL_MOVE_NODE, SYSCALL_READ_CONSTANT_BUFFER, SYSCALL_SHARE_CONSTANT_BUFFER, SYSCALL_CREATE_CONSTANT_BUFFER, SYSCALL_EXECUTE, SYSCALL_INSTANCE_CREATE_REMOTE, SYSCALL_MAILSLOT_SEND_DATA, SYSCALL_MAILSLOT_SEND_MESSAGE, SYSCALL_MAILSLOT_SHARE, SYSCALL_PIPE_CREATE, SYSCALL_PIPE_WRITE, SYSCALL_PIPE_READ, SYSCALL_USER_GET_HOME_FOLDER, SYSCALL_USER_LOGIN, SYSCALL_GET_SYSTEM_CONSTANTS, SYSCALL_TAKE_SYSTEM_SNAPSHOT, SYSCALL_SET_SYSTEM_CONSTANT, SYSCALL_GET_SYSTEM_INFORMATION, SYSCALL_PRINT, SYSCALL_CLOSE_HANDLE, SYSCALL_BATCH, SYSCALL_SHUTDOWN, SYSCALL_POSIX, SYSCALL_COUNT, } StandardFont :: enum { STANDARD_FONT_REGULAR, STANDARD_FONT_BOLD, STANDARD_FONT_MONOSPACED, } MessageType :: enum { MESSAGE_WM_START = 0x1000, MESSAGE_MOUSE_MOVED = 0x1001, MESSAGE_WINDOW_ACTIVATED = 0x1003, MESSAGE_WINDOW_DEACTIVATED = 0x1004, MESSAGE_WINDOW_DESTROYED = 0x1005, MESSAGE_MOUSE_EXIT = 0x1006 , MESSAGE_CLICK_REPEAT = 0x1009, MESSAGE_WINDOW_RESIZED = 0x100B, MESSAGE_MOUSE_LEFT_PRESSED = 0x100C , MESSAGE_MOUSE_LEFT_RELEASED = 0x100D, MESSAGE_MOUSE_RIGHT_PRESSED = 0x100E, MESSAGE_MOUSE_RIGHT_RELEASED = 0x100F, MESSAGE_MOUSE_MIDDLE_PRESSED = 0x1010, MESSAGE_MOUSE_MIDDLE_RELEASED = 0x1011 , MESSAGE_KEY_PRESSED = 0x1012, MESSAGE_KEY_RELEASED = 0x1013, MESSAGE_UPDATE_WINDOW = 0x1014, MESSAGE_WM_END = 0x13FF, MESSAGE_PAINT = 0x2000 , MESSAGE_DESTROY = 0x2001 , MESSAGE_MEASURE = 0x2002 , MESSAGE_SIZE = 0x2003 , MESSAGE_ADD_CHILD = 0x2004 , MESSAGE_REMOVE_CHILD = 0x2005 , MESSAGE_HIT_TEST = 0x2006 , MESSAGE_HOVERED_START = 0x2007 , MESSAGE_HOVERED_END = 0x2008 , MESSAGE_PRESSED_START = 0x2009 , MESSAGE_PRESSED_END = 0x200A , MESSAGE_FOCUSED_START = 0x200B , MESSAGE_FOCUSED_END = 0x200C , MESSAGE_FOCUS_WITHIN_START = 0x200D , MESSAGE_FOCUS_WITHIN_END = 0x200E , MESSAGE_Z_ORDER = 0x2010 , MESSAGE_ANIMATE = 0x2011 , MESSAGE_MOUSE_DRAGGED = 0x2012 , MESSAGE_KEY_TYPED = 0x2013 , MESSAGE_PAINT_BACKGROUND = 0x2014 , MESSAGE_PAINT_FOREGROUND = 0x2015 , MESSAGE_ENSURE_VISIBLE = 0x2016 , MESSAGE_GET_CURSOR = 0x2017 , MESSAGE_WINDOW_CREATED = 0x2018 , MESSAGE_CLICKED = 0x3000 , MESSAGE_SCROLLBAR_MOVED = 0x3001 , MESSAGE_RECALCULATE_CONTENT_SIZE = 0x3002 , MESSAGE_TEXTBOX_UPDATED = 0x3003 , MESSAGE_DESKTOP_EXECUTE = 0x4800, MESSAGE_POWER_BUTTON_PRESSED = 0x4801, MESSAGE_TASKBAR_WINDOW_ADD = 0x4804, MESSAGE_TASKBAR_WINDOW_REMOVE = 0x4805, MESSAGE_TASKBAR_WINDOW_ACTIVATE = 0x4806, MESSAGE_TASKBAR_WINDOW_SET_TITLE = 0x4807, MESSAGE_DOCKED_WINDOW_CREATE = 0x4808, MESSAGE_PROGRAM_CRASH = 0x4C00, MESSAGE_PROGRAM_FAILED_TO_START = 0x4C01, MESSAGE_RECEIVE_DATA = 0x5100, MESSAGE_MAILSLOT_CLOSED = 0x5101, MESSAGE_CLIPBOARD_UPDATED = 0x5001, MESSAGE_SYSTEM_CONSTANT_UPDATED = 0x5004, MESSAGE_TIMER = 0x5006, MESSAGE_OBJECT_DESTROY = 0x5007, MESSAGE_LIST_VIEW_GET_ITEM_CONTENT = 0x6000, MESSAGE_LIST_VIEW_SET_ITEM_STATE = 0x6001, MESSAGE_LIST_VIEW_GET_ITEM_STATE = 0x6002, MESSAGE_LIST_VIEW_PAINT_ITEM = 0x6003 , MESSAGE_LIST_VIEW_PAINT_CELL = 0x6004 , MESSAGE_LIST_VIEW_SORT_COLUMN = 0x6005, MESSAGE_LIST_VIEW_CHOOSE_ITEM = 0x6006, MESSAGE_LIST_VIEW_FIND_ITEM = 0x6007, MESSAGE_LIST_VIEW_TOGGLE_DISCLOSURE = 0x6008, MESSAGE_LIST_VIEW_MEASURE_ITEM_HEIGHT = 0x6009, MESSAGE_LIST_VIEW_LAYOUT_ITEM = 0x600A, MESSAGE_LIST_VIEW_SET_ITEM_VISIBILITY = 0x600B, MESSAGE_LIST_VIEW_RELAY_MESSAGE = 0x600C, MESSAGE_LIST_VIEW_SET_ITEM_POSITION = 0x600D, MESSAGE_PROGRAM_START = 0x7000, MESSAGE_PROGRAM_EXIT = 0x7001, MESSAGE_USER_START = 0x8000, MESSAGE_USER_END = 0xBFFF, } DrawMode :: enum { DRAW_MODE_REPEAT_FIRST = 1 , DRAW_MODE_STRECH, DRAW_MODE_REPEAT, DRAW_MODE_NONE, } ClipboardFormat :: enum { CLIPBOARD_FORMAT_EMPTY, CLIPBOARD_FORMAT_TEXT, CLIPBOARD_FORMAT_FILE_LIST, } ColorFormat :: enum { COLOR_FORMAT_32_XRGB, } CursorStyle :: enum { CURSOR_NORMAL, CURSOR_TEXT, CURSOR_RESIZE_VERTICAL, CURSOR_RESIZE_HORIZONTAL, CURSOR_RESIZE_DIAGONAL_1, CURSOR_RESIZE_DIAGONAL_2, CURSOR_SPLIT_VERTICAL, CURSOR_SPLIT_HORIZONTAL, CURSOR_HAND_HOVER, CURSOR_HAND_DRAG, CURSOR_HAND_POINT, CURSOR_SCROLL_UP_LEFT, CURSOR_SCROLL_UP, CURSOR_SCROLL_UP_RIGHT, CURSOR_SCROLL_LEFT, CURSOR_SCROLL_CENTER, CURSOR_SCROLL_RIGHT, CURSOR_SCROLL_DOWN_LEFT, CURSOR_SCROLL_DOWN, CURSOR_SCROLL_DOWN_RIGHT, CURSOR_SELECT_LINES, CURSOR_DROP_TEXT, CURSOR_CROSS_HAIR_PICK, CURSOR_CROSS_HAIR_RESIZE, CURSOR_MOVE_HOVER, CURSOR_MOVE_DRAG, CURSOR_ROTATE_HOVER, CURSOR_ROTATE_DRAG, CURSOR_BLANK, } WindowStyle :: enum { WINDOW_NORMAL, WINDOW_CONTAINER, WINDOW_MENU, } NODE_FILE :: (0); NODE_DIRECTORY :: (0x4000); NODE_INVALID :: (0x8000); BatchCall :: struct { index :SyscallType, stopBatchIfError :bool, using _ : struct #raw_union { argument0 :uintptr, returnValue :uintptr, }, argument1 :uintptr, argument2 :uintptr, argument3 :uintptr, } ThreadInformation :: struct { handle :Handle, tid :uintptr, } ProcessInformation :: struct { handle :Handle, pid :uintptr, mainThread :ThreadInformation, } UniqueIdentifier :: struct { using _ : struct #raw_union { d :[16]u8, }, } NodeInformation :: struct { handle :Handle, type :NodeType, fileSize :FileOffset, directoryChildren :FileOffset, } DirectoryChild :: struct { name :[MAX_DIRECTORY_CHILD_NAME_LENGTH]i8, nameBytes :uintptr, information :NodeInformation, } Point :: struct { x :i32, y :i32, } Rectangle :: struct { left :i32, right :i32, top :i32, bottom :i32, } Rectangle16 :: struct { left :i16, right :i16, top :i16, bottom :i16, } Color :: struct { using _ : struct #raw_union { using _ : struct { blue :u8, green :u8, red :u8, }, combined :u32, }, } LinearBuffer :: struct { width :uintptr, height :uintptr, stride :uintptr, colorFormat :ColorFormat, handle :Handle, } RectangleAndColor :: struct { rectangle :Rectangle, color :Color, } StyledBoxData :: struct { backgroundColor :u32, borderColor :u32, borders :Rectangle16, cornerRadius :u8, roundedCornersToExclude :u8, ox :i32, oy :i32, width :i32, height :i32, clip :Rectangle, } InstanceCreateRemoteArguments :: struct { what :^i8, argument :^i8, whatBytes :uintptr, argumentBytes :uintptr, modalWindowParent :Handle, apiInstance :^rawptr, } DrawSurfaceArguments :: struct { source :Rectangle, destination :Rectangle, border :Rectangle, alpha :u16, } Spinlock :: struct { state :u8, } Mutex :: struct { event :Handle, spinlock :Spinlock, state :u8, queued :u32, } CrashReason :: struct { errorCode :Error, } ProcessState :: struct { crashReason :CrashReason, creationArgument :Generic, id :uintptr, executableState :uintptr, flags :u8, } IORequestProgress :: struct { accessed :FileOffset, progress :FileOffset, completed :bool, cancelled :bool, error :Error, } ClipboardHeader :: struct { customBytes :uintptr, format :ClipboardFormat, textBytes :uintptr, unused :uintptr, } Painter :: struct { surface :Handle, clip :Rectangle, offsetX :i32, offsetY :i32, fullAlpha :bool, } Message :: struct { type :MessageType, _context :Generic, using _ : struct #raw_union { _argument :^rawptr, mouseMoved : struct { oldPositionX :i32, newPositionX :i32, oldPositionY :i32, newPositionY :i32, newPositionXScreen :i32, newPositionYScreen :i32, }, mouseDragged : struct { oldPositionX :i32, newPositionX :i32, oldPositionY :i32, newPositionY :i32, originalPositionX :i32, originalPositionY :i32, }, mousePressed : struct { positionX :i32, positionY :i32, positionXScreen :i32, positionYScreen :i32, clickChainCount :u8, activationClick :u8, alt :u8, ctrl :u8, shift :u8, }, keyboard : struct { scancode :u32, alt :u8, ctrl :u8, shift :u8, numpad :u8, notHandledBy :Object, }, crash : struct { reason :CrashReason, process :Handle, processNameBuffer :Handle, processNameBytes :uintptr, pid :uintptr, }, clipboard :ClipboardHeader, receive : struct { buffer :Handle, bytes :uintptr, }, animate : struct { deltaMcs :i64, waitMcs :i64, complete :bool, }, systemConstantUpdated : struct { index :uintptr, newValue :u64, }, desktopExecute : struct { whatBuffer :Handle, argumentBuffer :Handle, mailslot :Handle, whatBytes :uintptr, argumentBytes :uintptr, modalWindowParent :u64, }, dockedWindowCreate : struct { pipe :Handle, }, taskbar : struct { id :u64, buffer :Handle, bytes :uintptr, }, windowResized : struct { content :Rectangle, }, painter :^Painter, measure : struct { width :i32, height :i32, }, child :Object, size : struct { width :i32, height :i32, }, hitTest : struct { x :i32, y :i32, inside :bool, }, zOrder : struct { index :uintptr, child :^Element, }, scrollbarMoved : struct { scroll :i32, }, ensureVisible : struct { child :^Element, }, cursorStyle :CursorStyle, getItemContent : struct { mask :u32, index :ListViewIndex, column :ListViewIndex, group :ListViewIndex, text :^i8, textBytes :uintptr, iconID :u16, iconSize :u16, indentation :u16, spaceAfterIcon :u16, }, accessItemState : struct { mask :u32, state :u32, iIndexFrom :ListViewIndex, eIndexTo :ListViewIndex, group :ListViewIndex, }, measureItemHeight : struct { iIndexFrom :ListViewIndex, eIndexTo :ListViewIndex, group :ListViewIndex, height :i32, }, layoutItem : struct { index :ListViewIndex, group :ListViewIndex, knownIndex :ListViewIndex, knownGroup :ListViewIndex, bounds :Rectangle, }, toggleItemDisclosure : struct { index :ListViewIndex, group :ListViewIndex, }, findItem : struct { type :u8, backwards :u8, inclusive :bool, indexFrom :ListViewIndex, groupFrom :ListViewIndex, foundIndex :ListViewIndex, foundGroup :ListViewIndex, using _ : struct #raw_union { using _ : struct { prefix :^i8, prefixBytes :uintptr, }, using _ : struct { yPosition :i32, yPositionOfIndexFrom :i32, offsetIntoItem :i32, }, }, }, listViewColumn : struct { index :ListViewIndex, descending :bool, }, setItemVisibility : struct { index :ListViewIndex, group :ListViewIndex, visible :bool, }, setItemPosition : struct { index :ListViewIndex, group :ListViewIndex, bounds :Rectangle, }, listViewPaint : struct { painter :^Painter, width :i32, height :i32, index :ListViewIndex, group :ListViewIndex, column :ListViewIndex, }, }, } DebuggerMessage :: struct { process :Handle, reason :CrashReason, } DriveInformation :: struct { name :[64]i8, nameBytes :uintptr, mountpoint :[256]i8, mountpointBytes :uintptr, } SnapshotProcessesItem :: struct { pid :i64, memoryUsage :i64, cpuTimeSlices :i64, name :[SNAPSHOT_MAX_PROCESS_NAME_LENGTH]i8, nameLength :uintptr, internal :u64, } SystemInformation :: struct { processCount :uintptr, threadCount :uintptr, handleCount :uintptr, commitLimit :uintptr, commit :uintptr, countZeroedPages :uintptr, countFreePages :uintptr, countStandbyPages :uintptr, countModifiedPages :uintptr, countActivePages :uintptr, coreHeapSize :uintptr, coreHeapAllocations :uintptr, fixedHeapSize :uintptr, fixedHeapAllocations :uintptr, coreRegions :uintptr, kernelRegions :uintptr, } SnapshotProcesses :: struct { count :uintptr, processes :[]SnapshotProcessesItem, } POSIXSyscall :: struct { index :int, arguments :[7]int, } ProcessCreationArguments :: struct { executablePath :^i8, executablePathBytes :uintptr, environmentBlock :^rawptr, environmentBlockBytes :uintptr, creationArgument :Generic, permissions :u64, } UserLoginArguments :: struct { name :^i8, nameBytes :uintptr, home :^i8, homeBytes :uintptr, } Instance :: struct { _private :^rawptr, } ListViewColumn :: struct { title :^i8, titleBytes :uintptr, width :i32, minimumWidth :i32, flags :u32, } ListViewStyle :: struct { fixedWidth :i32, fixedHeight :i32, groupHeaderHeight :i32, gapX :i32, gapY :i32, margin :Rectangle16, columns :^ListViewColumn, columnCount :uintptr, emptyMessage :^i8, emptyMessageBytes :uintptr, } NumericEntryProperties :: struct { value :i32, dp :i32, delta :i32, speed :i32, minimum :i32, maximum :i32, cPrefix :^i8, cSuffix :^i8, } Batch :: inline proc (calls :^BatchCall, count :uintptr){ addr := 0x1000 + 0 * size_of(int); ((proc (^BatchCall, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(calls, count); } 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); } 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); } 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); } EventCreate :: inline proc (autoReset :bool) -> Handle{ addr := 0x1000 + 4 * size_of(int); return ((proc (bool) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(autoReset); } ThreadLocalStorageSetAddress :: inline proc (address :^rawptr){ addr := 0x1000 + 5 * size_of(int); ((proc (^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(address); } ConstantBufferRead :: inline proc (constantBuffer :Handle, output :^rawptr){ addr := 0x1000 + 6 * size_of(int); ((proc (Handle, ^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(constantBuffer, output); } 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); } 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); } ProcessOpen :: inline proc (pid :u64) -> Handle{ addr := 0x1000 + 9 * size_of(int); return ((proc (u64) -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(pid); } HandleClose :: inline proc (handle :Handle) -> Error{ addr := 0x1000 + 10 * size_of(int); return ((proc (Handle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(handle); } 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); } GetSystemInformation :: inline proc (systemInformation :^SystemInformation){ addr := 0x1000 + 12 * size_of(int); ((proc (^SystemInformation))(rawptr(((^uintptr)(uintptr(addr)))^)))(systemInformation); } 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); } 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); } 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); } 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); } 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); } 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); } NodeRefreshInformation :: inline proc (information :^NodeInformation){ addr := 0x1000 + 19 * size_of(int); ((proc (^NodeInformation))(rawptr(((^uintptr)(uintptr(addr)))^)))(information); } 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); } NodeDelete :: inline proc (node :Handle) -> Error{ addr := 0x1000 + 21 * size_of(int); return ((proc (Handle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(node); } 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); } ThreadTerminate :: inline proc (thread :Handle){ addr := 0x1000 + 23 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(thread); } ProcessTerminate :: inline proc (process :Handle, status :i32){ addr := 0x1000 + 24 * size_of(int); ((proc (Handle, i32))(rawptr(((^uintptr)(uintptr(addr)))^)))(process, status); } ProcessTerminateCurrent :: inline proc (){ addr := 0x1000 + 25 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); } ProcessPause :: inline proc (process :Handle, resume :bool){ addr := 0x1000 + 26 * size_of(int); ((proc (Handle, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(process, resume); } 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); } ThreadGetID :: inline proc (thread :Handle) -> uintptr{ addr := 0x1000 + 28 * size_of(int); return ((proc (Handle) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(thread); } ProcessGetID :: inline proc (process :Handle) -> uintptr{ addr := 0x1000 + 29 * size_of(int); return ((proc (Handle) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(process); } SpinlockRelease :: inline proc (spinlock :^Spinlock){ addr := 0x1000 + 30 * size_of(int); ((proc (^Spinlock))(rawptr(((^uintptr)(uintptr(addr)))^)))(spinlock); } SpinlockAcquire :: inline proc (spinlock :^Spinlock){ addr := 0x1000 + 31 * size_of(int); ((proc (^Spinlock))(rawptr(((^uintptr)(uintptr(addr)))^)))(spinlock); } MutexRelease :: inline proc (mutex :^Mutex){ addr := 0x1000 + 32 * size_of(int); ((proc (^Mutex))(rawptr(((^uintptr)(uintptr(addr)))^)))(mutex); } MutexAcquire :: inline proc (mutex :^Mutex){ addr := 0x1000 + 33 * size_of(int); ((proc (^Mutex))(rawptr(((^uintptr)(uintptr(addr)))^)))(mutex); } MutexDestroy :: inline proc (mutex :^Mutex){ addr := 0x1000 + 34 * size_of(int); ((proc (^Mutex))(rawptr(((^uintptr)(uintptr(addr)))^)))(mutex); } SchedulerYield :: inline proc (){ addr := 0x1000 + 35 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); } EventSet :: inline proc (event :Handle){ addr := 0x1000 + 36 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(event); } EventReset :: inline proc (event :Handle){ addr := 0x1000 + 37 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(event); } EventPoll :: inline proc (event :Handle) -> Error{ addr := 0x1000 + 38 * size_of(int); return ((proc (Handle) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(event); } 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); } Sleep :: inline proc (milliseconds :u64){ addr := 0x1000 + 40 * size_of(int); ((proc (u64))(rawptr(((^uintptr)(uintptr(addr)))^)))(milliseconds); } 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); } 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); } 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); } MemoryAllocate :: inline proc (size :uintptr){ addr := 0x1000 + 44 * size_of(int); ((proc (uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(size); } MemoryFree :: inline proc (address :^rawptr) -> Error{ addr := 0x1000 + 45 * size_of(int); return ((proc (^rawptr) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(address); } GetCreationArgument :: inline proc (object :Handle) -> Generic{ addr := 0x1000 + 46 * size_of(int); return ((proc (Handle) -> Generic)(rawptr(((^uintptr)(uintptr(addr)))^)))(object); } ProcessGetState :: inline proc (process :Handle, state :^ProcessState){ addr := 0x1000 + 47 * size_of(int); ((proc (Handle, ^ProcessState))(rawptr(((^uintptr)(uintptr(addr)))^)))(process, state); } SurfaceGetLinearBuffer :: inline proc (surface :Handle, linearBuffer :^LinearBuffer){ addr := 0x1000 + 48 * size_of(int); ((proc (Handle, ^LinearBuffer))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, linearBuffer); } RectangleInvalidate :: inline proc (surface :Handle, rectangle :Rectangle){ addr := 0x1000 + 49 * size_of(int); ((proc (Handle, Rectangle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface, rectangle); } 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); } ForceScreenUpdate :: inline proc (){ addr := 0x1000 + 51 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); } 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); } 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); } 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); } 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); } 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); } 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); } SurfaceClearInvalidatedRegion :: inline proc (surface :Handle){ addr := 0x1000 + 58 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface); } 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); } 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); } RedrawAll :: inline proc (){ addr := 0x1000 + 61 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); } MessagePost :: inline proc (message :^Message) -> Error{ addr := 0x1000 + 62 * size_of(int); return ((proc (^Message) -> Error)(rawptr(((^uintptr)(uintptr(addr)))^)))(message); } 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); } 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); } CStringLength :: inline proc (string :^i8) -> uintptr{ addr := 0x1000 + 65 * size_of(int); return ((proc (^i8) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(string); } 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); } 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); } 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); } 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); } MemoryZero :: inline proc (destination :^rawptr, bytes :uintptr){ addr := 0x1000 + 70 * size_of(int); ((proc (^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(destination, bytes); } 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); } 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); } PrintDirect :: inline proc (string :^i8, stringLength :uintptr){ addr := 0x1000 + 73 * size_of(int); ((proc (^i8, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(string, stringLength); } 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, ); } 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, ); } PrintHelloWorld :: inline proc (){ addr := 0x1000 + 76 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); } GetRandomByte :: inline proc () -> u8{ addr := 0x1000 + 77 * size_of(int); return ((proc () -> u8)(rawptr(((^uintptr)(uintptr(addr)))^)))(); } 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); } 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); } 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); } 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); } 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); } 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); } 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); } CRTstrlen :: inline proc (s :^i8) -> uintptr{ addr := 0x1000 + 85 * size_of(int); return ((proc (^i8) -> uintptr)(rawptr(((^uintptr)(uintptr(addr)))^)))(s); } 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); } CRTmalloc :: inline proc (size :uintptr){ addr := 0x1000 + 87 * size_of(int); ((proc (uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(size); } CRTcalloc :: inline proc (num :uintptr, size :uintptr){ addr := 0x1000 + 88 * size_of(int); ((proc (uintptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(num, size); } CRTfree :: inline proc (ptr :^rawptr){ addr := 0x1000 + 89 * size_of(int); ((proc (^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(ptr); } CRTabs :: inline proc (n :i32) -> i32{ addr := 0x1000 + 90 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(n); } CRTrealloc :: inline proc (ptr :^rawptr, size :uintptr){ addr := 0x1000 + 91 * size_of(int); ((proc (^rawptr, uintptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(ptr, size); } CRTgetenv :: inline proc (name :^i8) -> ^i8{ addr := 0x1000 + 92 * size_of(int); return ((proc (^i8) -> ^i8)(rawptr(((^uintptr)(uintptr(addr)))^)))(name); } 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); } 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); } 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); } 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); } 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); } 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); } CRTisalpha :: inline proc (c :i32) -> i32{ addr := 0x1000 + 99 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(c); } 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); } CRTisdigit :: inline proc (c :i32) -> i32{ addr := 0x1000 + 101 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(c); } 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); } CRTtolower :: inline proc (c :i32) -> i32{ addr := 0x1000 + 103 * size_of(int); return ((proc (i32) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(c); } 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); } 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); } 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); } Abort :: inline proc (){ addr := 0x1000 + 107 * size_of(int); ((proc ())(rawptr(((^uintptr)(uintptr(addr)))^)))(); } 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); } CRTfloorf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 109 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTceilf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 110 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTsinf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 111 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTcosf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 112 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } 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); } 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); } CRTacosf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 115 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTasinf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 116 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTatanf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 117 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } RandomSeed :: inline proc (x :u64){ addr := 0x1000 + 118 * size_of(int); ((proc (u64))(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTsqrtf :: inline proc (x :f32) -> f32{ addr := 0x1000 + 119 * size_of(int); return ((proc (f32) -> f32)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTsqrtl :: inline proc (x :LongDouble) -> LongDouble{ addr := 0x1000 + 120 * size_of(int); return ((proc (LongDouble) -> LongDouble)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } CRTfabsl :: inline proc (x :LongDouble) -> LongDouble{ addr := 0x1000 + 121 * size_of(int); return ((proc (LongDouble) -> LongDouble)(rawptr(((^uintptr)(uintptr(addr)))^)))(x); } 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); } ProcessorReadTimeStamp :: inline proc () -> u64{ addr := 0x1000 + 123 * size_of(int); return ((proc () -> u64)(rawptr(((^uintptr)(uintptr(addr)))^)))(); } HeapAllocate :: inline proc (size :uintptr, zeroMemory :bool){ addr := 0x1000 + 124 * size_of(int); ((proc (uintptr, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(size, zeroMemory); } HeapFree :: inline proc (address :^rawptr){ addr := 0x1000 + 125 * size_of(int); ((proc (^rawptr))(rawptr(((^uintptr)(uintptr(addr)))^)))(address); } Print :: inline proc (format :^i8, args : ..any){ addr := 0x1000 + 126 * size_of(int); ((proc (^i8, ..any))(rawptr(((^uintptr)(uintptr(addr)))^)))(format, ); } 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); } InitialiseCStandardLibrary :: inline proc (argc :^i32, argv :^^^i8){ addr := 0x1000 + 128 * size_of(int); ((proc (^i32, ^^^i8))(rawptr(((^uintptr)(uintptr(addr)))^)))(argc, argv); } 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); } 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); } CRTatoi :: inline proc (string :^i8) -> i32{ addr := 0x1000 + 131 * size_of(int); return ((proc (^i8) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(string); } ProcessGetExitStatus :: inline proc (process :Handle) -> i32{ addr := 0x1000 + 132 * size_of(int); return ((proc (Handle) -> i32)(rawptr(((^uintptr)(uintptr(addr)))^)))(process); } SurfaceReset :: inline proc (surface :Handle){ addr := 0x1000 + 133 * size_of(int); ((proc (Handle))(rawptr(((^uintptr)(uintptr(addr)))^)))(surface); } TimerCreate :: inline proc () -> Handle{ addr := 0x1000 + 134 * size_of(int); return ((proc () -> Handle)(rawptr(((^uintptr)(uintptr(addr)))^)))(); } 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); } 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); } 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); } Assert :: inline proc (expression :bool, failureMessage :^i8){ addr := 0x1000 + 138 * size_of(int); ((proc (bool, ^i8))(rawptr(((^uintptr)(uintptr(addr)))^)))(expression, failureMessage); } 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); } MessageLoopEnter :: inline proc (callback :MessageCallbackFunction = nil){ addr := 0x1000 + 140 * size_of(int); ((proc (MessageCallbackFunction))(rawptr(((^uintptr)(uintptr(addr)))^)))(callback); } InstanceCreate :: inline proc (bytes :uintptr) -> ^Instance{ addr := 0x1000 + 141 * size_of(int); return ((proc (uintptr) -> ^Instance)(rawptr(((^uintptr)(uintptr(addr)))^)))(bytes); } MouseGetPosition :: inline proc (relativeWindow :^Window = nil) -> Point{ addr := 0x1000 + 142 * size_of(int); return ((proc (^Window) -> Point)(rawptr(((^uintptr)(uintptr(addr)))^)))(relativeWindow); } 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); } 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); } 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); } 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); } 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); } 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); } 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); } 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); } 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); } 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); } 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); } ElementGetInstance :: inline proc (element :^Element) -> ^INSTANCE_TYPE{ addr := 0x1000 + 154 * size_of(int); return ((proc (^Element) -> ^INSTANCE_TYPE)(rawptr(((^uintptr)(uintptr(addr)))^)))(element); } ElementFocus :: inline proc (element :^Element, ensureVisible :bool){ addr := 0x1000 + 155 * size_of(int); ((proc (^Element, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(element, ensureVisible); } ElementSetDisabled :: inline proc (element :^Element, disabled :bool){ addr := 0x1000 + 156 * size_of(int); ((proc (^Element, bool))(rawptr(((^uintptr)(uintptr(addr)))^)))(element, disabled); } 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); } 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); } 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); } WindowGetBounds :: inline proc (window :^Window) -> Rectangle{ addr := 0x1000 + 160 * size_of(int); return ((proc (^Window) -> Rectangle)(rawptr(((^uintptr)(uintptr(addr)))^)))(window); } WindowGetToolbar :: inline proc (window :^Window) -> ^Element{ addr := 0x1000 + 161 * size_of(int); return ((proc (^Window) -> ^Element)(rawptr(((^uintptr)(uintptr(addr)))^)))(window); } 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); } ListViewInsertGroup :: inline proc (listView :^ListView, group :ListViewIndex){ addr := 0x1000 + 163 * size_of(int); ((proc (^ListView, ListViewIndex))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group); } 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); } ListViewRemoveGroup :: inline proc (listView :^ListView, group :ListViewIndex){ addr := 0x1000 + 165 * size_of(int); ((proc (^ListView, ListViewIndex))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView, group); } 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); } 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); } ListViewResetSearchBuffer :: inline proc (listView :^ListView){ addr := 0x1000 + 168 * size_of(int); ((proc (^ListView))(rawptr(((^uintptr)(uintptr(addr)))^)))(listView); } ButtonSetIcon :: inline proc (button :^Button, iconID :u32){ addr := 0x1000 + 169 * size_of(int); ((proc (^Button, u32))(rawptr(((^uintptr)(uintptr(addr)))^)))(button, iconID); } DataParse :: inline proc (cFormat :^i8, args : ..any) -> Data{ addr := 0x1000 + 170 * size_of(int); return ((proc (^i8, ..any) -> Data)(rawptr(((^uintptr)(uintptr(addr)))^)))(cFormat, ); } ////////////////////////////////////////////////////// Errno :: distinct i32; stdin: Handle = 0; stdout: Handle = 1; stderr: Handle = 2; O_RDONLY :: 0x00000; O_WRONLY :: 0x00001; O_RDWR :: 0x00002; O_CREATE :: 0x00040; O_EXCL :: 0x00080; O_NOCTTY :: 0x00100; O_TRUNC :: 0x00200; O_NONBLOCK :: 0x00800; O_APPEND :: 0x00400; O_SYNC :: 0x01000; O_ASYNC :: 0x02000; O_CLOEXEC :: 0x80000; ERROR_SUCCESS :: 0; ERROR_UNSUPPORTED :: 1; read :: proc(fd: Handle, data: []byte) -> (int, Errno) { return -1, ERROR_UNSUPPORTED; } write :: proc(fd: Handle, data: []byte) -> (int, Errno) { if (fd == stdout) { PrintDirect((^i8)(&data[0]), (uintptr)(len(data))); return len(data), ERROR_SUCCESS; } return -1, ERROR_UNSUPPORTED; } open :: proc(path: string, flags: int = O_RDONLY, mode: int = 0) -> (Handle, Errno) { return INVALID_HANDLE, ERROR_UNSUPPORTED; } close :: proc(fd: Handle) -> Errno { return ERROR_UNSUPPORTED; } file_size :: proc(fd: Handle) -> (i64, Errno) { return 0, ERROR_UNSUPPORTED; } heap_alloc :: proc(size: int) -> rawptr { return nil; } heap_resize :: proc(ptr: rawptr, new_size: int) -> rawptr { return nil; } heap_free :: proc(ptr: rawptr) { } current_thread_id :: proc "contextless" () -> int { // return int(EsThreadGetID(ES_CURRENT_THREAD)); return -1; } OS :: "essence";