[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6585":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},6585,"raygui","raysan5\u002Fraygui","raysan5","A simple and easy-to-use immediate-mode gui library","",null,"C",4904,376,56,6,0,1,13,70,7,75.23,"zlib License",false,"master",[26,27,28,29,30,31,32,33,34],"buttons","c","gui","imgui","immediate-mode-gui","open-source","raylib","ui-design","ui-library","2026-06-12 04:00:29","\u003Cimg align=\"left\" src=\"logo\u002Fraygui_256x256.png\" width=256>\n\n**raygui is a simple and easy-to-use immediate-mode-gui library.**\n\n`raygui` was originally inspired by [Unity IMGUI](https:\u002F\u002Fdocs.unity3d.com\u002FManual\u002FGUIScriptingGuide.html) (immediate mode GUI API).\n\n`raygui` was designed as an auxiliary module for [raylib](https:\u002F\u002Fgithub.com\u002Fraysan5\u002Fraylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...) but it can be adapted to other engines\u002Fframeworks.\n\n`raygui` is intended for **tools development**; it has already been used to develop [multiple published tools](https:\u002F\u002Fraylibtech.itch.io).\n\n\u003Cbr>\n\n**WARNING: Latest `raygui` from master branch is always aligned with latest `raylib` from master branch. Make sure to use the appropriate versions.**\n\n**WARNING: Latest `raygui 4.0` is an API-BREAKING redesign from previous versions (3.x), now all functions are more consistent and coherent, you can read the details about this breaking change in issue [283](https:\u002F\u002Fgithub.com\u002Fraysan5\u002Fraygui\u002Fissues\u002F283)**\n\n*NOTE: raygui is a single-file header-only library (despite its internal dependency on raylib), so, functions definition AND implementation reside in the same file `raygui.h`, when including `raygui.h` in a module, `RAYGUI_IMPLEMENTATION` must be previously defined to include the implementation part of `raygui.h` BUT only in one compilation unit, other modules could also include `raygui.h` but `RAYGUI_IMPLEMENTATION` must not be defined again.*\n\n## features\n\n - **Immediate-mode gui, no retained data**\n - **+25** controls provided (basic and advanced)\n - Powerful **styling system** for colors, font and metrics\n - Standalone usage mode supported (for other graphic libs)\n - **Icons support**, embedding a complete 1-bit icons pack\n - Multiple **tools** provided for raygui development\n\n## code sample\n```c\n#include \"raylib.h\"\n\n#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n\nint main()\n{\n    InitWindow(400, 200, \"raygui - controls test suite\");\n    SetTargetFPS(60);\n\n    bool showMessageBox = false;\n\n    while (!WindowShouldClose())\n    {\n        \u002F\u002F Draw\n        \u002F\u002F----------------------------------------------------------------------------------\n        BeginDrawing();\n            ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));\n\n            if (GuiButton((Rectangle){ 24, 24, 120, 30 }, \"#191#Show Message\")) showMessageBox = true;\n\n            if (showMessageBox)\n            {\n                int result = GuiMessageBox((Rectangle){ 85, 70, 250, 100 },\n                    \"#191#Message Box\", \"Hi! This is a message!\", \"Nice;Cool\");\n\n                if (result >= 0) showMessageBox = false;\n            }\n\n        EndDrawing();\n    }\n\n    CloseWindow();\n    return 0;\n}\n```\n![screenshot000](https:\u002F\u002Fgithub.com\u002Fraysan5\u002Fraygui\u002Fassets\u002F5766837\u002F170e2bce-b7ca-49dc-a263-32b673376546)\n\n## raygui controls\n\n### basic controls\n```\nLabel       |  Button      |  LabelButton |  Toggle      |  ToggleGroup  |  ToggleSlider\nCheckBox    |  ComboBox    |  DropdownBox |  TextBox     |  ValueBox     |  Spinner\nSlider      |  SliderBar   |  ProgressBar |  StatusBar   |  DummyRec     |  Grid\n```\n### container\u002Fseparator controls\n```\nWindowBox   |  GroupBox    |  Line        |  Panel       |  ScrollPanel  | TabBar\n```\n### advanced controls\n```\nListView    |  ColorPicker |  MessageBox  |  TextInputBox\n```\n\n\n## raygui styles\n\n`raygui` comes with a [default](styles\u002Fdefault) style automatically loaded at runtime:\n\n![raygui default style](styles\u002Fdefault\u002Fstyle_default.png)\n\nSome additional styles are also provided for convenience, just check [styles directory](styles) for details:\n\n![raygui additional styles](images\u002Fraygui_style_table_multi.png)\n\nCustom styles can also be created very easily using [rGuiStyler](https:\u002F\u002Fraylibtech.itch.io\u002Frguistyler) tool.\n\nStyles can be loaded at runtime using raygui `GuiLoadStyle()` function. Simple and easy-to-use.\n\n## raygui icons\n\n`raygui` supports custom icons, by default, a predefined set of icons is provided inside `raygui` as an array of binary data; it contains **256 possible icons** defined as **16x16 pixels** each; each pixel is codified using **1-bit**. The total size of the array is `2048 bytes`.\n\n\u003Cimg align=\"right\" src=\"images\u002Fraygui_ricons.png\">\n\nTo use any of those icons just prefix the *#iconId#* number to **any text** written within `raygui` controls:\n```c\nif (GuiButton(rec, \"#05#Open Image\")) { \u002F* ACTION *\u002F }\n```\nIt's also possible to use the provided `GuiIconText()` function to prefix it automatically, using a clearer identifier (defined in `raygui.h`).\n```c\nif (GuiButton(rec, GuiIconText(RICON_FILE_OPEN, \"Open Image\"))) { \u002F* ACTION *\u002F }\n```\nProvided set of icons can be reviewed and customized using [rGuiIcons](https:\u002F\u002Fraylibtech.itch.io\u002Frguiicons) tool.\n\n## raygui support tools\n\n - [**rGuiStyler**](https:\u002F\u002Fraylibtech.itch.io\u002Frguistyler) - A simple and easy-to-use raygui styles editor.\n\n   ![rGuiStyler v3.1](images\u002Frguistyler_v300.png)\n\n - [**rGuiIcons**](https:\u002F\u002Fraylibtech.itch.io\u002Frguiicons) - A simple and easy-to-use raygui icons editor.\n\n   ![rGuiIcons v1.0](images\u002Frguiicons_v100.png)\n\n - [**rGuiLayout**](https:\u002F\u002Fraylibtech.itch.io\u002Frguilayout) - A simple and easy-to-use raygui layouts editor.\n\n   ![rGuiLayout v2.2](images\u002Frguilayout_v220.png)\n\n## building\n\n`raygui` is intended to be used as a portable single-file header-only library, to be directly integrated into any C\u002FC++ codebase but some users could require a shared\u002Fdynamic version of the library, for example, to create bindings:\n\n - **Windows (MinGW, GCC)**\n```\ncopy src\u002Fraygui.h src\u002Fraygui.c\ngcc -o src\u002Fraygui.dll src\u002Fraygui.c -shared -DRAYGUI_IMPLEMENTATION -DBUILD_LIBTYPE_SHARED -static-libgcc -lopengl32 -lgdi32 -lwinmm -Wl,--out-implib,src\u002Flibrayguidll.a\n```\n\n - **Windows (MSVC)**\n```\ncopy src\\raygui.h src\\raygui.c\ncl \u002FO2 \u002FI..\u002Fraylib\u002Fsrc\u002F \u002FD_USRDLL \u002FD_WINDLL \u002FDRAYGUI_IMPLEMENTATION \u002FDBUILD_LIBTYPE_SHARED src\u002Fraygui.c \u002FLD \u002FFeraygui.dll \u002Flink \u002FLIBPATH ..\u002Fraylib\u002Fbuild\u002Fraylib\u002FRelease\u002Fraylib.lib \u002Fsubsystem:windows \u002Fmachine:x64\n```\n\n - **Linux (GCC)**\n```\nmv src\u002Fraygui.h src\u002Fraygui.c\ngcc -o raygui.so src\u002Fraygui.c -shared -fpic -DRAYGUI_IMPLEMENTATION -lraylib -lGL -lm -lpthread -ldl -lrt -lX11\nmv src\u002Fraygui.c src\u002Fraygui.h\n```\n\n- **Mac (clang, homebrew installed raylib)**\n```\ncp src\u002Fraygui.h src\u002Fraygui.c\nbrew install raylib\ngcc -o raygui.dynlib src\u002Fraygui.c -shared -fpic -DRAYGUI_IMPLEMENTATION -framework OpenGL -lm -lpthread -ldl $(pkg-config --libs --cflags raylib)\n```\n\n\n## license\n\nraygui is licensed under an unmodified zlib\u002Flibpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE](LICENSE) for further details.\n","raygui 是一个简单易用的即时模式图形用户界面库。它提供了超过25种控件，支持强大的样式系统和图标嵌入功能，所有这些都基于C语言实现。其设计初衷是作为raylib的一个辅助模块，但也可以独立使用或与其他图形库集成。raygui特别适合于工具开发场景，如游戏开发工具或其他需要快速构建简洁UI的应用程序。此外，作为一个单文件头库，raygui便于集成到项目中，只需在其中一个编译单元定义`RAYGUI_IMPLEMENTATION`即可引入其实现部分。",2,"2026-06-11 03:07:45","top_language"]