2
0

raygui.odin 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. package raylib
  2. import "core:c"
  3. RAYGUI_SHARED :: #config(RAYGUI_SHARED, false)
  4. when ODIN_OS == .Windows {
  5. when RAYGUI_SHARED {
  6. foreign import lib {
  7. "windows/rayguidll.lib",
  8. }
  9. } else {
  10. foreign import lib {
  11. "windows/raygui.lib",
  12. }
  13. }
  14. } else when ODIN_OS == .Linux {
  15. when RAYGUI_SHARED {
  16. foreign import lib "linux/libraygui.so"
  17. } else {
  18. foreign import lib "linux/libraygui.a"
  19. }
  20. } else when ODIN_OS == .Darwin {
  21. when ODIN_ARCH == .arm64 {
  22. when RAYGUI_SHARED {
  23. foreign import lib {
  24. "macos-arm64/libraygui.dylib",
  25. }
  26. } else {
  27. foreign import lib {
  28. "macos-arm64/libraygui.a",
  29. // "system:Cocoa.framework",
  30. // "system:OpenGL.framework",
  31. // "system:IOKit.framework",
  32. }
  33. }
  34. } else {
  35. when RAYGUI_SHARED {
  36. foreign import lib {
  37. "macos/libraygui.dylib",
  38. }
  39. } else {
  40. foreign import lib {
  41. "macos/libraygui.a",
  42. // "system:Cocoa.framework",
  43. // "system:OpenGL.framework",
  44. // "system:IOKit.framework",
  45. }
  46. }
  47. }
  48. } else {
  49. foreign import lib "system:raygui"
  50. }
  51. RAYGUI_VERSION :: "4.0"
  52. // Style property
  53. GuiStyleProp :: struct {
  54. controlId: u16,
  55. propertyId: u16,
  56. propertyValue: c.int,
  57. }
  58. // Gui control state
  59. GuiState :: enum c.int {
  60. STATE_NORMAL = 0,
  61. STATE_FOCUSED,
  62. STATE_PRESSED,
  63. STATE_DISABLED,
  64. }
  65. // Gui control text alignment
  66. GuiTextAlignment :: enum c.int {
  67. TEXT_ALIGN_LEFT = 0,
  68. TEXT_ALIGN_CENTER,
  69. TEXT_ALIGN_RIGHT,
  70. }
  71. GuiTextAlignmentVertical :: enum c.int {
  72. TEXT_ALIGN_TOP = 0,
  73. TEXT_ALIGN_MIDDLE,
  74. TEXT_ALIGN_BOTTOM,
  75. }
  76. GuiTextWrapMode :: enum c.int {
  77. TEXT_WRAP_NONE = 0,
  78. TEXT_WRAP_CHAR,
  79. TEXT_WRAP_WORD,
  80. }
  81. // Gui controls
  82. GuiControl :: enum c.int {
  83. // Default -> populates to all controls when set
  84. DEFAULT = 0,
  85. // Basic controls
  86. LABEL, // Used also for: LABELBUTTON
  87. BUTTON,
  88. TOGGLE, // Used also for: TOGGLEGROUP
  89. SLIDER, // Used also for: SLIDERBAR
  90. PROGRESSBAR,
  91. CHECKBOX,
  92. COMBOBOX,
  93. DROPDOWNBOX,
  94. TEXTBOX, // Used also for: TEXTBOXMULTI
  95. VALUEBOX,
  96. SPINNER, // Uses: BUTTON, VALUEBOX
  97. LISTVIEW,
  98. COLORPICKER,
  99. SCROLLBAR,
  100. STATUSBAR,
  101. }
  102. // Gui base properties for every control
  103. // NOTE: RAYGUI_MAX_PROPS_BASE properties (by default 16 properties)
  104. GuiControlProperty :: enum c.int {
  105. BORDER_COLOR_NORMAL = 0,
  106. BASE_COLOR_NORMAL,
  107. TEXT_COLOR_NORMAL,
  108. BORDER_COLOR_FOCUSED,
  109. BASE_COLOR_FOCUSED,
  110. TEXT_COLOR_FOCUSED,
  111. BORDER_COLOR_PRESSED,
  112. BASE_COLOR_PRESSED,
  113. TEXT_COLOR_PRESSED,
  114. BORDER_COLOR_DISABLED,
  115. BASE_COLOR_DISABLED,
  116. TEXT_COLOR_DISABLED,
  117. BORDER_WIDTH,
  118. TEXT_PADDING,
  119. TEXT_ALIGNMENT,
  120. RESERVED,
  121. }
  122. // Gui extended properties depend on control
  123. // NOTE: RAYGUI_MAX_PROPS_EXTENDED properties (by default, max 8 properties)
  124. //----------------------------------------------------------------------------------
  125. // DEFAULT extended properties
  126. // NOTE: Those properties are common to all controls or global
  127. GuiDefaultProperty :: enum c.int {
  128. TEXT_SIZE = 16, // Text size (glyphs max height)
  129. TEXT_SPACING, // Text spacing between glyphs
  130. LINE_COLOR, // Line control color
  131. BACKGROUND_COLOR, // Background color
  132. TEXT_LINE_SPACING, // Text spacing between lines
  133. }
  134. // Label
  135. //GuiLabelProperty :: enum c.int { }
  136. // Button/Spinner
  137. //GuiButtonProperty :: enum c.int { }
  138. // Toggle/ToggleGroup
  139. GuiToggleProperty :: enum c.int {
  140. GROUP_PADDING = 16, // ToggleGroup separation between toggles
  141. }
  142. // Slider/SliderBar
  143. GuiSliderProperty :: enum c.int {
  144. SLIDER_WIDTH = 16, // Slider size of internal bar
  145. SLIDER_PADDING, // Slider/SliderBar internal bar padding
  146. }
  147. // ProgressBar
  148. GuiProgressBarProperty :: enum c.int {
  149. PROGRESS_PADDING = 16, // ProgressBar internal padding
  150. }
  151. // ScrollBar
  152. GuiScrollBarProperty :: enum c.int {
  153. ARROWS_SIZE = 16,
  154. ARROWS_VISIBLE,
  155. SCROLL_SLIDER_PADDING, // (SLIDERBAR, SLIDER_PADDING)
  156. SCROLL_SLIDER_SIZE,
  157. SCROLL_PADDING,
  158. SCROLL_SPEED,
  159. }
  160. // CheckBox
  161. GuiCheckBoxProperty :: enum c.int {
  162. CHECK_PADDING = 16, // CheckBox internal check padding
  163. }
  164. // ComboBox
  165. GuiComboBoxProperty :: enum c.int {
  166. COMBO_BUTTON_WIDTH = 16, // ComboBox right button width
  167. COMBO_BUTTON_SPACING, // ComboBox button separation
  168. }
  169. // DropdownBox
  170. GuiDropdownBoxProperty :: enum c.int {
  171. ARROW_PADDING = 16, // DropdownBox arrow separation from border and items
  172. DROPDOWN_ITEMS_SPACING, // DropdownBox items separation
  173. }
  174. // TextBox/TextBoxMulti/ValueBox/Spinner
  175. GuiTextBoxProperty :: enum c.int {
  176. TEXT_INNER_PADDING = 16, // TextBox/TextBoxMulti/ValueBox/Spinner inner text padding
  177. TEXT_LINES_SPACING, // TextBoxMulti lines separation
  178. TEXT_ALIGNMENT_VERTICAL, // TextBoxMulti vertical alignment: 0-CENTERED, 1-UP, 2-DOWN
  179. TEXT_MULTILINE, // TextBox supports multiple lines
  180. TEXT_WRAP_MODE, // TextBox wrap mode for multiline: 0-NO_WRAP, 1-CHAR_WRAP, 2-WORD_WRAP
  181. }
  182. // Spinner
  183. GuiSpinnerProperty :: enum c.int {
  184. SPIN_BUTTON_WIDTH = 16, // Spinner left/right buttons width
  185. SPIN_BUTTON_SPACING, // Spinner buttons separation
  186. }
  187. // ListView
  188. GuiListViewProperty :: enum c.int {
  189. LIST_ITEMS_HEIGHT = 16, // ListView items height
  190. LIST_ITEMS_SPACING, // ListView items separation
  191. SCROLLBAR_WIDTH, // ListView scrollbar size (usually width)
  192. SCROLLBAR_SIDE, // ListView scrollbar side (0-left, 1-right)
  193. }
  194. // ColorPicker
  195. GuiColorPickerProperty :: enum c.int {
  196. COLOR_SELECTOR_SIZE = 16,
  197. HUEBAR_WIDTH, // ColorPicker right hue bar width
  198. HUEBAR_PADDING, // ColorPicker right hue bar separation from panel
  199. HUEBAR_SELECTOR_HEIGHT, // ColorPicker right hue bar selector height
  200. HUEBAR_SELECTOR_OVERFLOW, // ColorPicker right hue bar selector overflow
  201. }
  202. SCROLLBAR_LEFT_SIDE :: 0
  203. SCROLLBAR_RIGHT_SIDE :: 1
  204. //----------------------------------------------------------------------------------
  205. // Global Variables Definition
  206. //----------------------------------------------------------------------------------
  207. // ...
  208. //----------------------------------------------------------------------------------
  209. // Module Functions Declaration
  210. //----------------------------------------------------------------------------------
  211. @(default_calling_convention="c")
  212. foreign lib {
  213. // WASM does not have foreign variable declarations.
  214. when ODIN_ARCH != .wasm32 && ODIN_ARCH != .wasm64p32 {
  215. @(link_name="raylib_version") version: cstring
  216. }
  217. // Global gui state control functions
  218. GuiEnable :: proc() --- // Enable gui controls (global state)
  219. GuiLock :: proc() --- // Lock gui controls (global state)
  220. GuiDisable :: proc() --- // Disable gui controls (global state)
  221. GuiUnlock :: proc() --- // Unlock gui controls (global state)
  222. GuiIsLocked :: proc() -> bool --- // Check if gui is locked (global state)
  223. GuiSetAlpha :: proc(alpha: f32) --- // Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
  224. GuiSetState :: proc(state: c.int) --- // Set gui state (global state)
  225. GuiGetState :: proc() -> c.int --- // Get gui state (global state)
  226. // Font set/get functions
  227. GuiSetFont :: proc(font: Font) --- // Set gui custom font (global state)
  228. GuiGetFont :: proc() -> Font --- // Get gui custom font (global state)
  229. // Style set/get functions
  230. GuiSetStyle :: proc(control: c.int, property: c.int, value: c.int) --- // Set one style property
  231. GuiGetStyle :: proc(control: c.int, property: c.int) -> c.int --- // Get one style property
  232. // Styles loading functions
  233. GuiLoadStyle :: proc(fileName: cstring) --- // Load style file over global style variable (.rgs)
  234. GuiLoadStyleDefault :: proc() --- // Load style default over global style
  235. // Tooltips management functions
  236. GuiEnableTooltip :: proc() --- // Enable gui tooltips (global state)
  237. GuiDisableTooltip :: proc() --- // Disable gui tooltips (global state)
  238. GuiSetTooltip :: proc(tooltip: cstring) --- // Set tooltip string
  239. // Icons functionality
  240. GuiIconText :: proc(iconId: c.int, text: cstring) -> cstring --- // Get text with icon id prepended (if supported)
  241. GuiSetIconScale :: proc(scale: c.int) --- // Set default icon drawing size
  242. GuiGetIcons :: proc() -> [^]u32 --- // Get raygui icons data pointer
  243. GuiLoadIcons :: proc(fileName: cstring, loadIconsName: bool) -> [^]cstring --- // Load raygui icons file (.rgi) into internal icons data
  244. GuiDrawIcon :: proc(iconId: c.int, posX: c.int, posY: c.int, pixelSize: c.int, color: Color) --- // Draw icon using pixel size at specified position
  245. // Controls
  246. //----------------------------------------------------------------------------------------------------------
  247. // Container/separator controls, useful for controls organization
  248. GuiWindowBox :: proc(bounds: Rectangle, title: cstring) -> c.int --- // Window Box control, shows a window that can be closed
  249. GuiGroupBox :: proc(bounds: Rectangle, text: cstring) -> c.int --- // Group Box control with text name
  250. GuiLine :: proc(bounds: Rectangle, text: cstring) -> c.int --- // Line separator control, could contain text
  251. GuiPanel :: proc(bounds: Rectangle, text: cstring) -> c.int --- // Panel control, useful to group controls
  252. GuiTabBar :: proc(bounds: Rectangle, text: [^]cstring, count: c.int, active: ^c.int) -> c.int --- // Tab Bar control, returns TAB to be closed or -1
  253. GuiScrollPanel :: proc(bounds: Rectangle, text: cstring, content: Rectangle, scroll: ^Vector2, view: ^Rectangle) -> c.int --- // Scroll Panel control
  254. // Basic controls set
  255. GuiLabel :: proc(bounds: Rectangle, text: cstring) -> c.int --- // Label control, shows text
  256. GuiButton :: proc(bounds: Rectangle, text: cstring) -> bool --- // Button control, returns true when clicked
  257. GuiLabelButton :: proc(bounds: Rectangle, text: cstring) -> bool --- // Label button control, show true when clicked
  258. GuiToggle :: proc(bounds: Rectangle, text: cstring, active: ^bool) -> c.int --- // Toggle Button control, returns true when active
  259. GuiToggleGroup :: proc(bounds: Rectangle, text: cstring, active: ^c.int) -> c.int --- // Toggle Group control, returns active toggle index
  260. GuiToggleSlider :: proc(bounds: Rectangle, text: cstring, active: ^c.int) -> c.int ---
  261. GuiCheckBox :: proc(bounds: Rectangle, text: cstring, checked: ^bool) -> bool --- // Check Box control, returns true when active
  262. GuiComboBox :: proc(bounds: Rectangle, text: cstring, active: ^c.int) -> c.int --- // Combo Box control, returns selected item index
  263. GuiDropdownBox :: proc(bounds: Rectangle, text: cstring, active: ^c.int, editMode: bool) -> bool --- // Dropdown Box control, returns selected item
  264. GuiSpinner :: proc(bounds: Rectangle, text: cstring, value: ^c.int, minValue, maxValue: c.int, editMode: bool) -> c.int --- // Spinner control, returns selected value
  265. GuiValueBox :: proc(bounds: Rectangle, text: cstring, value: ^c.int, minValue, maxValue: c.int, editMode: bool) -> c.int --- // Value Box control, updates input text with numbers
  266. GuiTextBox :: proc(bounds: Rectangle, text: cstring, textSize: c.int, editMode: bool) -> bool --- // Text Box control, updates input text
  267. GuiSlider :: proc(bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32) -> c.int --- // Slider control, returns selected value
  268. GuiSliderBar :: proc(bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32) -> c.int --- // Slider Bar control, returns selected value
  269. GuiProgressBar :: proc(bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32) -> c.int --- // Progress Bar control, shows current progress value
  270. GuiStatusBar :: proc(bounds: Rectangle, text: cstring) -> c.int --- // Status Bar control, shows info text
  271. GuiDummyRec :: proc(bounds: Rectangle, text: cstring) -> c.int --- // Dummy control for placeholders
  272. GuiGrid :: proc(bounds: Rectangle, text: cstring, spacing: f32, subdivs: c.int, mouseCell: ^Vector2) -> c.int --- // Grid control, returns mouse cell position
  273. // Advance controls set
  274. GuiListView :: proc(bounds: Rectangle, text: cstring, scrollIndex: ^c.int, active: ^c.int) -> c.int --- // List View control, returns selected list item index
  275. GuiListViewEx :: proc(bounds: Rectangle, text:[^]cstring, count: c.int, scrollIndex: ^c.int, active: ^c.int, focus: ^c.int) -> c.int --- // List View with extended parameters
  276. GuiMessageBox :: proc(bounds: Rectangle, title: cstring, message: cstring, buttons: cstring) -> c.int --- // Message Box control, displays a message
  277. GuiTextInputBox :: proc(bounds: Rectangle, title: cstring, message: cstring, buttons: cstring, text: cstring, textMaxSize: c.int, secretViewActive: ^bool) -> c.int --- // Text Input Box control, ask for text, supports secret
  278. GuiColorPicker :: proc(bounds: Rectangle, text: cstring, color: ^Color) -> c.int --- // Color Picker control (multiple color controls)
  279. GuiColorPanel :: proc(bounds: Rectangle, text: cstring, color: ^Color) -> c.int --- // Color Panel control
  280. GuiColorBarAlpha :: proc(bounds: Rectangle, text: cstring, alpha: ^f32) -> c.int --- // Color Bar Alpha control
  281. GuiColorBarHue :: proc(bounds: Rectangle, text: cstring, value: ^f32) -> c.int --- // Color Bar Hue control
  282. GuiColorPickerHSV :: proc(bounds: Rectangle, text: cstring, colorHsv: ^Vector3) -> c.int --- // Color Picker control that avoids conversion to RGB on each call (multiple color controls)
  283. GuiColorPanelHSV :: proc(bounds: Rectangle, text: cstring, colorHsv: ^Vector3) -> c.int --- // Color Panel control that returns HSV color value, used by GuiColorPickerHSV()
  284. //----------------------------------------------------------------------------------------------------------
  285. }
  286. //----------------------------------------------------------------------------------
  287. // Icons enumeration
  288. //----------------------------------------------------------------------------------
  289. GuiIconName :: enum c.int {
  290. ICON_NONE = 0,
  291. ICON_FOLDER_FILE_OPEN = 1,
  292. ICON_FILE_SAVE_CLASSIC = 2,
  293. ICON_FOLDER_OPEN = 3,
  294. ICON_FOLDER_SAVE = 4,
  295. ICON_FILE_OPEN = 5,
  296. ICON_FILE_SAVE = 6,
  297. ICON_FILE_EXPORT = 7,
  298. ICON_FILE_ADD = 8,
  299. ICON_FILE_DELETE = 9,
  300. ICON_FILETYPE_TEXT = 10,
  301. ICON_FILETYPE_AUDIO = 11,
  302. ICON_FILETYPE_IMAGE = 12,
  303. ICON_FILETYPE_PLAY = 13,
  304. ICON_FILETYPE_VIDEO = 14,
  305. ICON_FILETYPE_INFO = 15,
  306. ICON_FILE_COPY = 16,
  307. ICON_FILE_CUT = 17,
  308. ICON_FILE_PASTE = 18,
  309. ICON_CURSOR_HAND = 19,
  310. ICON_CURSOR_POINTER = 20,
  311. ICON_CURSOR_CLASSIC = 21,
  312. ICON_PENCIL = 22,
  313. ICON_PENCIL_BIG = 23,
  314. ICON_BRUSH_CLASSIC = 24,
  315. ICON_BRUSH_PAINTER = 25,
  316. ICON_WATER_DROP = 26,
  317. ICON_COLOR_PICKER = 27,
  318. ICON_RUBBER = 28,
  319. ICON_COLOR_BUCKET = 29,
  320. ICON_TEXT_T = 30,
  321. ICON_TEXT_A = 31,
  322. ICON_SCALE = 32,
  323. ICON_RESIZE = 33,
  324. ICON_FILTER_POINT = 34,
  325. ICON_FILTER_BILINEAR = 35,
  326. ICON_CROP = 36,
  327. ICON_CROP_ALPHA = 37,
  328. ICON_SQUARE_TOGGLE = 38,
  329. ICON_SYMMETRY = 39,
  330. ICON_SYMMETRY_HORIZONTAL = 40,
  331. ICON_SYMMETRY_VERTICAL = 41,
  332. ICON_LENS = 42,
  333. ICON_LENS_BIG = 43,
  334. ICON_EYE_ON = 44,
  335. ICON_EYE_OFF = 45,
  336. ICON_FILTER_TOP = 46,
  337. ICON_FILTER = 47,
  338. ICON_TARGET_POINT = 48,
  339. ICON_TARGET_SMALL = 49,
  340. ICON_TARGET_BIG = 50,
  341. ICON_TARGET_MOVE = 51,
  342. ICON_CURSOR_MOVE = 52,
  343. ICON_CURSOR_SCALE = 53,
  344. ICON_CURSOR_SCALE_RIGHT = 54,
  345. ICON_CURSOR_SCALE_LEFT = 55,
  346. ICON_UNDO = 56,
  347. ICON_REDO = 57,
  348. ICON_REREDO = 58,
  349. ICON_MUTATE = 59,
  350. ICON_ROTATE = 60,
  351. ICON_REPEAT = 61,
  352. ICON_SHUFFLE = 62,
  353. ICON_EMPTYBOX = 63,
  354. ICON_TARGET = 64,
  355. ICON_TARGET_SMALL_FILL = 65,
  356. ICON_TARGET_BIG_FILL = 66,
  357. ICON_TARGET_MOVE_FILL = 67,
  358. ICON_CURSOR_MOVE_FILL = 68,
  359. ICON_CURSOR_SCALE_FILL = 69,
  360. ICON_CURSOR_SCALE_RIGHT_FILL = 70,
  361. ICON_CURSOR_SCALE_LEFT_FILL = 71,
  362. ICON_UNDO_FILL = 72,
  363. ICON_REDO_FILL = 73,
  364. ICON_REREDO_FILL = 74,
  365. ICON_MUTATE_FILL = 75,
  366. ICON_ROTATE_FILL = 76,
  367. ICON_REPEAT_FILL = 77,
  368. ICON_SHUFFLE_FILL = 78,
  369. ICON_EMPTYBOX_SMALL = 79,
  370. ICON_BOX = 80,
  371. ICON_BOX_TOP = 81,
  372. ICON_BOX_TOP_RIGHT = 82,
  373. ICON_BOX_RIGHT = 83,
  374. ICON_BOX_BOTTOM_RIGHT = 84,
  375. ICON_BOX_BOTTOM = 85,
  376. ICON_BOX_BOTTOM_LEFT = 86,
  377. ICON_BOX_LEFT = 87,
  378. ICON_BOX_TOP_LEFT = 88,
  379. ICON_BOX_CENTER = 89,
  380. ICON_BOX_CIRCLE_MASK = 90,
  381. ICON_POT = 91,
  382. ICON_ALPHA_MULTIPLY = 92,
  383. ICON_ALPHA_CLEAR = 93,
  384. ICON_DITHERING = 94,
  385. ICON_MIPMAPS = 95,
  386. ICON_BOX_GRID = 96,
  387. ICON_GRID = 97,
  388. ICON_BOX_CORNERS_SMALL = 98,
  389. ICON_BOX_CORNERS_BIG = 99,
  390. ICON_FOUR_BOXES = 100,
  391. ICON_GRID_FILL = 101,
  392. ICON_BOX_MULTISIZE = 102,
  393. ICON_ZOOM_SMALL = 103,
  394. ICON_ZOOM_MEDIUM = 104,
  395. ICON_ZOOM_BIG = 105,
  396. ICON_ZOOM_ALL = 106,
  397. ICON_ZOOM_CENTER = 107,
  398. ICON_BOX_DOTS_SMALL = 108,
  399. ICON_BOX_DOTS_BIG = 109,
  400. ICON_BOX_CONCENTRIC = 110,
  401. ICON_BOX_GRID_BIG = 111,
  402. ICON_OK_TICK = 112,
  403. ICON_CROSS = 113,
  404. ICON_ARROW_LEFT = 114,
  405. ICON_ARROW_RIGHT = 115,
  406. ICON_ARROW_DOWN = 116,
  407. ICON_ARROW_UP = 117,
  408. ICON_ARROW_LEFT_FILL = 118,
  409. ICON_ARROW_RIGHT_FILL = 119,
  410. ICON_ARROW_DOWN_FILL = 120,
  411. ICON_ARROW_UP_FILL = 121,
  412. ICON_AUDIO = 122,
  413. ICON_FX = 123,
  414. ICON_WAVE = 124,
  415. ICON_WAVE_SINUS = 125,
  416. ICON_WAVE_SQUARE = 126,
  417. ICON_WAVE_TRIANGULAR = 127,
  418. ICON_CROSS_SMALL = 128,
  419. ICON_PLAYER_PREVIOUS = 129,
  420. ICON_PLAYER_PLAY_BACK = 130,
  421. ICON_PLAYER_PLAY = 131,
  422. ICON_PLAYER_PAUSE = 132,
  423. ICON_PLAYER_STOP = 133,
  424. ICON_PLAYER_NEXT = 134,
  425. ICON_PLAYER_RECORD = 135,
  426. ICON_MAGNET = 136,
  427. ICON_LOCK_CLOSE = 137,
  428. ICON_LOCK_OPEN = 138,
  429. ICON_CLOCK = 139,
  430. ICON_TOOLS = 140,
  431. ICON_GEAR = 141,
  432. ICON_GEAR_BIG = 142,
  433. ICON_BIN = 143,
  434. ICON_HAND_POINTER = 144,
  435. ICON_LASER = 145,
  436. ICON_COIN = 146,
  437. ICON_EXPLOSION = 147,
  438. ICON_1UP = 148,
  439. ICON_PLAYER = 149,
  440. ICON_PLAYER_JUMP = 150,
  441. ICON_KEY = 151,
  442. ICON_DEMON = 152,
  443. ICON_TEXT_POPUP = 153,
  444. ICON_GEAR_EX = 154,
  445. ICON_CRACK = 155,
  446. ICON_CRACK_POINTS = 156,
  447. ICON_STAR = 157,
  448. ICON_DOOR = 158,
  449. ICON_EXIT = 159,
  450. ICON_MODE_2D = 160,
  451. ICON_MODE_3D = 161,
  452. ICON_CUBE = 162,
  453. ICON_CUBE_FACE_TOP = 163,
  454. ICON_CUBE_FACE_LEFT = 164,
  455. ICON_CUBE_FACE_FRONT = 165,
  456. ICON_CUBE_FACE_BOTTOM = 166,
  457. ICON_CUBE_FACE_RIGHT = 167,
  458. ICON_CUBE_FACE_BACK = 168,
  459. ICON_CAMERA = 169,
  460. ICON_SPECIAL = 170,
  461. ICON_LINK_NET = 171,
  462. ICON_LINK_BOXES = 172,
  463. ICON_LINK_MULTI = 173,
  464. ICON_LINK = 174,
  465. ICON_LINK_BROKE = 175,
  466. ICON_TEXT_NOTES = 176,
  467. ICON_NOTEBOOK = 177,
  468. ICON_SUITCASE = 178,
  469. ICON_SUITCASE_ZIP = 179,
  470. ICON_MAILBOX = 180,
  471. ICON_MONITOR = 181,
  472. ICON_PRINTER = 182,
  473. ICON_PHOTO_CAMERA = 183,
  474. ICON_PHOTO_CAMERA_FLASH = 184,
  475. ICON_HOUSE = 185,
  476. ICON_HEART = 186,
  477. ICON_CORNER = 187,
  478. ICON_VERTICAL_BARS = 188,
  479. ICON_VERTICAL_BARS_FILL = 189,
  480. ICON_LIFE_BARS = 190,
  481. ICON_INFO = 191,
  482. ICON_CROSSLINE = 192,
  483. ICON_HELP = 193,
  484. ICON_FILETYPE_ALPHA = 194,
  485. ICON_FILETYPE_HOME = 195,
  486. ICON_LAYERS_VISIBLE = 196,
  487. ICON_LAYERS = 197,
  488. ICON_WINDOW = 198,
  489. ICON_HIDPI = 199,
  490. ICON_FILETYPE_BINARY = 200,
  491. ICON_HEX = 201,
  492. ICON_SHIELD = 202,
  493. ICON_FILE_NEW = 203,
  494. ICON_FOLDER_ADD = 204,
  495. ICON_ALARM = 205,
  496. ICON_CPU = 206,
  497. ICON_ROM = 207,
  498. ICON_STEP_OVER = 208,
  499. ICON_STEP_INTO = 209,
  500. ICON_STEP_OUT = 210,
  501. ICON_RESTART = 211,
  502. ICON_BREAKPOINT_ON = 212,
  503. ICON_BREAKPOINT_OFF = 213,
  504. ICON_BURGER_MENU = 214,
  505. ICON_CASE_SENSITIVE = 215,
  506. ICON_REG_EXP = 216,
  507. ICON_FOLDER = 217,
  508. ICON_FILE = 218,
  509. ICON_SAND_TIMER = 219,
  510. ICON_220 = 220,
  511. ICON_221 = 221,
  512. ICON_222 = 222,
  513. ICON_223 = 223,
  514. ICON_224 = 224,
  515. ICON_225 = 225,
  516. ICON_226 = 226,
  517. ICON_227 = 227,
  518. ICON_228 = 228,
  519. ICON_229 = 229,
  520. ICON_230 = 230,
  521. ICON_231 = 231,
  522. ICON_232 = 232,
  523. ICON_233 = 233,
  524. ICON_234 = 234,
  525. ICON_235 = 235,
  526. ICON_236 = 236,
  527. ICON_237 = 237,
  528. ICON_238 = 238,
  529. ICON_239 = 239,
  530. ICON_240 = 240,
  531. ICON_241 = 241,
  532. ICON_242 = 242,
  533. ICON_243 = 243,
  534. ICON_244 = 244,
  535. ICON_245 = 245,
  536. ICON_246 = 246,
  537. ICON_247 = 247,
  538. ICON_248 = 248,
  539. ICON_249 = 249,
  540. ICON_250 = 250,
  541. ICON_251 = 251,
  542. ICON_252 = 252,
  543. ICON_253 = 253,
  544. ICON_254 = 254,
  545. ICON_255 = 255,
  546. }