{"id":20270932,"url":"https://github.com/mackron/minidraw","last_synced_at":"2025-04-11T04:21:21.893Z","repository":{"id":145738567,"uuid":"197375803","full_name":"mackron/minidraw","owner":"mackron","description":"Single file 2D graphics library written in C.","archived":false,"fork":false,"pushed_at":"2021-08-30T07:31:20.000Z","size":277,"stargazers_count":81,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-25T02:36:44.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/mackron.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}},"created_at":"2019-07-17T11:25:08.000Z","updated_at":"2025-02-06T11:56:21.000Z","dependencies_parsed_at":"2023-04-01T10:18:08.549Z","dependency_job_id":null,"html_url":"https://github.com/mackron/minidraw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackron%2Fminidraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackron%2Fminidraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackron%2Fminidraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackron%2Fminidraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mackron","download_url":"https://codeload.github.com/mackron/minidraw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248340313,"owners_count":21087430,"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":[],"created_at":"2024-11-14T12:34:52.807Z","updated_at":"2025-04-11T04:21:21.884Z","avatar_url":"https://github.com/mackron.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"http://dred.io/img/minidraw.png\" alt=\"minidraw\" width=\"1280\"\u003e\n    \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eA single file path based 2D graphics library.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://discord.gg/9vpqbjU\"\u003e\u003cimg src=\"https://img.shields.io/discord/712952679415939085?label=discord\u0026logo=discord\" alt=\"discord\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://twitter.com/mackron\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/mackron?style=flat\u0026label=twitter\u0026color=1da1f2\u0026logo=twitter\" alt=\"twitter\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nThis is still work-in-progress. There's a lot of missing functionality and inconsistencies between\nbackends. Typography is also largely untested for scripts other than Latin.\n\nIf you think this library seems interesting, I'd love to hear some feedback on what you think could\nbe improved and what new features you might find useful.\n\n\nFeatures\n========\n- Path-based 2D drawing.\n- Unicode based text itemization, shaping and placement.\n\n\nSupported Platforms\n===================\n- GDI + Uniscribe (Windows XP+)\n- Cairo + Pango\n\nLinux platforms are currently restricted the Cairo/Pango backend, but this will be improved later as\nthe API stabilizes and other backend's come online.\n\n\nFuture Plans\n============\n- Software backend\n- Direct2D + DirectWrite backend\n- Core Graphics + Core Text backend (Apple)\n- PDF output\n- SVG output\n- Support for complex scripts such as Arabic\n\n\nBuilding\n========\nDo the following in one source file:\n```\n#define MINIDRAW_IMPLEMENTATION\n#include \"minidraw.h\"\n```\nWindows\n-------\nJust compile. There is no need to link to anything or specify any compiler flags.\n\nLinux\n-----\nTo enable the Cairo backend you will need to use the following compiler flags:\n```\n`pkg-config --cflags --libs cairo pango pangocairo` -ldl -lm\n```\n\n\nExamples\n========\nSee the examples and tests folder for examples on how to use the API. It is based largely on other\npath based APIs such as Cairo and GDI.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmackron%2Fminidraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmackron%2Fminidraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmackron%2Fminidraw/lists"}