{"id":18276779,"url":"https://github.com/texus/ctgui","last_synced_at":"2025-10-05T23:55:25.234Z","repository":{"id":146314658,"uuid":"68718855","full_name":"texus/CTGUI","owner":"texus","description":"C binding for TGUI","archived":false,"fork":false,"pushed_at":"2025-03-01T21:16:55.000Z","size":798,"stargazers_count":7,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"1.x","last_synced_at":"2025-04-05T04:31:41.416Z","etag":null,"topics":["binding","c","gui","sfml","tgui"],"latest_commit_sha":null,"homepage":"https://tgui.eu/bindings/c","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/texus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"license.md","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},"funding":{"github":"texus","patreon":"tgui","custom":"https://www.paypal.me/texusius"}},"created_at":"2016-09-20T14:14:51.000Z","updated_at":"2025-03-01T21:16:58.000Z","dependencies_parsed_at":"2024-04-27T15:28:44.200Z","dependency_job_id":"3a1fa168-2836-4170-8ca9-a54be52b2668","html_url":"https://github.com/texus/CTGUI","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/texus/CTGUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texus%2FCTGUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texus%2FCTGUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texus%2FCTGUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texus%2FCTGUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/texus","download_url":"https://codeload.github.com/texus/CTGUI/tar.gz/refs/heads/1.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texus%2FCTGUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278537767,"owners_count":26003250,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["binding","c","gui","sfml","tgui"],"created_at":"2024-11-05T12:17:13.903Z","updated_at":"2025-10-05T23:55:25.177Z","avatar_url":"https://github.com/texus.png","language":"C++","funding_links":["https://github.com/sponsors/texus","https://patreon.com/tgui","https://www.paypal.me/texusius"],"categories":[],"sub_categories":[],"readme":"CTGUI\n=====\n\nCTGUI is a C binding for the [TGUI library](https://github.com/texus/TGUI), a cross-platform c++ GUI.\n\nIt is intended to simplify creating bindings for TGUI in other languages, but it is also possible to use CTGUI directly in a C program.\n\nBackends\n--------\n\nCTGUI provides multiple backends to choose from. One of multiple can be selected by setting the `CTGUI_HAS_BACKEND_XXX` properties in CMake (e.g. `CTGUI_HAS_BACKEND_CSFML_GRAPHICS`).\n\n| Backend            | Description |\n|:-------------------|:------------|\n| **CSFML_GRAPHICS** | Uses csfml-graphics (\u003e= 2.6.1) for rendering and events. The c++ TGUI library can be built *without* any backends, as the CSFML\\_GRAPHICS backend is implemented directly in CTGUI and is independent of the c++ SFML\\_GRAPHICS backend. |\n| **SDL_RENDERER**   | Uses SDL (\u003e= 2.24) and SDL\\_ttf (\u003e= 2.20) for rendering and events. The c++ TGUI library also needs to be built with the SDL\\_RENDERER backend, as CTGUI uses it internally. |\n\nOther important CMake options\n-----------------------------\n\n| Option                     | Description |\n|:---------------------------|:------------|\n| CTGUI_LINK_TGUI_STATICALLY | Set this to TRUE if the c++ TGUI library is linked statically, and FALSE if the TGUI library is linked dynamically. |\n\nDocumentation\n-------------\n\nUnfortunately there are no tutorials or documentation for the C binding itself, except for the example code provided in the `examples` directory.\n\nSince this is a binding for the c++ TGUI library, the available functionality can be found in the c++ [documentation](https://tgui.eu/documentation/latest-stable/annotated.html) and [tutorials](https://tgui.eu/tutorials/latest-stable/).\n\nFor a list of C functions that correspond with the c++ classes, you will need to check the source code in the `include` folder.\n\nCode generation\n---------------\n\nSome files or parts of files are generated to reduce the amount of boilerplate code that needs to be written. The generated files are part of the repository so it doesn't affect you when attempting to use CTGUI. It you wish to make modifications to the CTGUI code then you might need to look at the contents of the `code-generator` folder, depending on which files you want to modify.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftexus%2Fctgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftexus%2Fctgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftexus%2Fctgui/lists"}