{"id":27939438,"url":"https://github.com/humansinput/txlin","last_synced_at":"2025-05-07T09:12:07.158Z","repository":{"id":128773821,"uuid":"202369124","full_name":"humansinput/txlin","owner":"humansinput","description":"TXLin is my attempt to recreate a TXLib-compatible library (TXLib is a library that makes it easier to draw graphics under Windows, http://ded32.ru) that works under Linux and Mac OS X.","archived":false,"fork":false,"pushed_at":"2020-09-25T13:32:06.000Z","size":188,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T09:11:59.834Z","etag":null,"topics":["draw-graphics","graphics","linux","macos","sdl2","txlib","txlib-apps"],"latest_commit_sha":null,"homepage":"http://meow.roveramd.com/txlin","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/humansinput.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2019-08-14T14:39:42.000Z","updated_at":"2024-03-09T12:17:38.000Z","dependencies_parsed_at":"2023-04-29T17:31:15.344Z","dependency_job_id":null,"html_url":"https://github.com/humansinput/txlin","commit_stats":null,"previous_names":["humansinput/txlin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/humansinput%2Ftxlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/humansinput%2Ftxlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/humansinput%2Ftxlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/humansinput%2Ftxlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/humansinput","download_url":"https://codeload.github.com/humansinput/txlin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252847515,"owners_count":21813457,"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":["draw-graphics","graphics","linux","macos","sdl2","txlib","txlib-apps"],"created_at":"2025-05-07T09:12:06.200Z","updated_at":"2025-05-07T09:12:07.151Z","avatar_url":"https://github.com/humansinput.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TXLin\nCopyright (c) Tim K 2018-2019 \u003ctimprogrammer@rambler.ru\u003e. http://meow.roveramd.com/txlin\n\nTXLin is a TXLib-compatible library that provides a simple way to draw graphics in C++ programs. Unlike TXLib, which uses GDI and, thus, works only on Windows, TXLin uses SDL2 and, as such, can work on Linux, macOS and even FreeBSD.\n\nIf you are using Windows, then you should use TXLib: http://ded32.ru/\n\n## Building\nJust like TXLib, TXLin does not require to be built as it is a one-header library. However, this library depends on SDL2, which needs to be installed manually.\n\nOn Ubuntu/Debian/elementaryOS Linux, you should be able to install it like this:\n```\nsudo apt install libsdl2-dev\n```\nOn Mageia/OpenMandriva Linux, this command will install SDL2 development files and headers:\n```\nsudo dnf install 'pkgconfig(sdl2)'\n```\nOn macOS, you should install MacPorts from https://www.macports.org and then run:\n```\nsudo port install libsdl2\n```\n\n***Then*** you should generate pkg-config files and ``txlin-macflags`` script and install one of them to ``/usr/local`` on a Mac or to ``/usr`` on Linux. This is done automatically, so all you have to do is to run this command:\n```\nsudo ./generate-pkgconfig.sh --install-with-txlin\n```\n\nAfter that, you are ready to use TXLin with your IDE or via terminal.\n\n\u0026#x1F534; **PLEASE READ THIS ARTICLE IF YOU ARE PLANNING TO USE TXLIN WITH CLION OR CMAKE: https://gist.github.com/RoverAMD/1d74cc76d828b8289ee7a6a48655a727**\n\n## Porting TXLib apps to TXLin\nThe amount of porting work to be done depends on the complexity of the application and its dependence on Windows-specific API. For most TXLib apps, portng to TXLin is just a matter of replacing ``#include \"TXLib.h\"`` with ``#include \"TXLin.h\"``. For apps that rely on TXLib's \"sticky\" window functionality (the window with the drawing canvas does not close after all graphical operations were compiled unless the user clicked the close button), ``txSticky()`` should be added right before the ``return 0`` statement. Apps that load resources or operate with Windows NT paths (paths that use ``\\\\`` as the seperator intead of UNIX ``/`` seperator) have to be modified so that they used ``/`` as the seperator for directories. \n\nMore information about removed features or functions that act differently, see the porting guide: http://gitlab.com/timkoi/txlin/blob/master/porting-guide.md.\n\n## Documentation\nTXLin's API is mostly the same as in TXLib, so you can read TXLib documentation here: http://storage.ded32.net.ru/Lib/TX/TXUpdate/Doc/HTML.ru/index.htm\n\nTXLin contains some new, exclusive features, that might appeal to TXLib application developers (text-to-speech AP, file I/O API, threading API, etc). They are described in the porting guide: http://gitlab.com/timkoi/txlin/blob/master/porting-guide.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumansinput%2Ftxlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhumansinput%2Ftxlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumansinput%2Ftxlin/lists"}