{"id":25207971,"url":"https://github.com/vortexshrimp/ender","last_synced_at":"2025-04-05T04:18:58.990Z","repository":{"id":275486872,"uuid":"926153324","full_name":"VortexShrimp/ender","owner":"VortexShrimp","description":"C++ application framework for Windows.","archived":false,"fork":false,"pushed_at":"2025-02-28T12:35:16.000Z","size":3301,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T18:59:27.296Z","etag":null,"topics":["engine","framework","game","renderer","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VortexShrimp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-02T17:19:45.000Z","updated_at":"2025-02-28T12:35:19.000Z","dependencies_parsed_at":"2025-02-17T17:34:08.776Z","dependency_job_id":null,"html_url":"https://github.com/VortexShrimp/ender","commit_stats":null,"previous_names":["vortexshrimp/ender"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VortexShrimp%2Fender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VortexShrimp%2Fender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VortexShrimp%2Fender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VortexShrimp%2Fender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VortexShrimp","download_url":"https://codeload.github.com/VortexShrimp/ender/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247285499,"owners_count":20913829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["engine","framework","game","renderer","windows"],"created_at":"2025-02-10T12:17:41.880Z","updated_at":"2025-04-05T04:18:58.982Z","avatar_url":"https://github.com/VortexShrimp.png","language":"C++","readme":"# ender\nA Windows GUI framework for modern C++ with a focus on simplicity,\nelegance and efficiency. Various usage examples can be found in\n[`ender/examples`](https://github.com/VortexShrimp/ender/tree/master/examples).\n\n\u003cimg src=\"data/logo.png\" align=\"left\" width=\"350px\"/\u003e\n\n### Requirements\n- 64-Bit Windows \u0026 DirectX 11\n- C++ Build Tools (Visual Studio 2022)\n- Source Dependencies [[`ender/lib`](https://github.com/VortexShrimp/ender/tree/master/ender/lib)]\n### Building Examples\n1. `git clone https://github.com/VortexShrimp/ender.git`\n2. Open `ender.sln` in Visual Studio\n3. Build as `x64` -\u003e `Release` or `Debug`\n4. Find `ender.exe` in `ender/build/x64` by default\n\u003cbr clear=\"left\"/\u003e\n\n### Roadmap\n- [ ] **[Almost Complete]** Debug console logging system.\n- [ ] **[Almost Complete]** Consistent error or exception handling system.\n- [ ] **[In Progress]** File handling system for configurations, scripting and more.\n- [ ] **[In Progress]** Independant 2D batch sprite, primitive \u0026 text renderer.\n- [ ] Script compressing on disk for distribution and Lua encryption.\n\n\u003c!--\n## Example\n### Simple Window\nThe example below spawns a 64-bit Win32, Directx11 window running ImGui.\nThis is the [mess](https://github.com/ocornut/imgui/blob/master/examples/example_win32_directx11/main.cpp)\nthat *ender* is cleaning up.\n```cpp\n// include \u003cender/platform/window.hpp\u003e\n// include \u003cimgui/imgui.h\u003e\n\nvoid on_render_frame(ender::window*) {\n    // Run any ImGui code here.\n    ImGui::ShowDemoWindow();\n}\n\nINT WINAPI wWinMain(HINSTANCE, HINSTANCE, PWSTR, INT) {\n    auto app = std::make_unique\u003cender::window\u003e();\n    if (app-\u003ecreate(nullptr, {.title = L\"simple window\",\n                              .class_name = L\"simple_class\",\n                              .width = 1280,\n                              .height = 720,\n                              .on_message_create = nullptr,\n                              .on_message_destroy = nullptr,\n                              .on_message_close = nullptr}) == true) {\n        while (app-\u003ehandle_events(nullptr) == true) {\n            app-\u003erender_frame(on_render_frame);\n        }\n\n        app-\u003edestroy(nullptr);\n\n        return 0;\n    }\n\n    return 1;\n}\n```\n\u003cimg src=\"data/menu_app_example.PNG\" align=\"right\" width=\"450px\"\u003e\u003c/img\u003e\n\nFind more examples at [`ender/examples`](https://github.com/VortexShrimp/ender/tree/master/examples).\n\nAny class inheritting from \u003ccode\u003eender\\::window\u003c/code\u003e can be infinitely created.\nFor example, you could have \u003ccode\u003estd::vector\u003cender\\::window*\u003e windows\u003c/code\u003e\nto manage many windows.\n\nAll window messages will be routed through their own callbacks, if they've been set\nduring initialization. Use them to change what your windows do.\n\nThis example is using *ender* as a window framework with ImGui, but its much\nmore capable than that.\n\n\u003cbr clear=\"right\"/\u003e\n\n### Crypto Price Checker\n\u003cimg src=\"data/price_checker_example.PNG\" align=\"left\" width=\"300px\"\u003e\u003c/img\u003e\nThis project's user interface is scripted with Lua by setting up an `ender::lua_window`.\nSee [`examples/crypto_price_checker`](https://github.com/VortexShrimp/ender/tree/master/examples/crypto_price_checker)\nfor the source code.\n\nIt makes asynchronous get requests to a crypto REST API and parses\nthe json before displaying the coin's information.\n\n\u003cbr clear=\"left\"/\u003e\n\n## Distribution\nApplications created with *ender* are fully self containing. Projects created\nwith `ender::window` can be destributed as an executable only.\n\nApplications created with `ender::lua_window` will simply require a \"script\"\ndirectory alongside the executable containing the desired scripts.\n\n## Support\nOnly supports 64-bit Windows at the moment.\n--\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvortexshrimp%2Fender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvortexshrimp%2Fender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvortexshrimp%2Fender/lists"}