{"id":23681411,"url":"https://github.com/codecat/p9","last_synced_at":"2026-01-03T00:30:13.597Z","repository":{"id":219648469,"uuid":"749547217","full_name":"codecat/p9","owner":"codecat","description":"Yet another 9patch library for Love2D.","archived":false,"fork":false,"pushed_at":"2024-01-28T22:01:33.000Z","size":63,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-29T18:38:01.396Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codecat.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}},"created_at":"2024-01-28T21:59:50.000Z","updated_at":"2024-01-30T20:50:24.000Z","dependencies_parsed_at":"2024-01-28T23:20:45.979Z","dependency_job_id":"11d62ecf-2385-48e6-a405-04668521f9d8","html_url":"https://github.com/codecat/p9","commit_stats":null,"previous_names":["codecat/p9"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecat%2Fp9","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecat%2Fp9/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecat%2Fp9/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecat%2Fp9/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codecat","download_url":"https://codeload.github.com/codecat/p9/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239728179,"owners_count":19687311,"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-12-29T18:38:09.408Z","updated_at":"2026-01-03T00:30:13.568Z","avatar_url":"https://github.com/codecat.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# p9\nYet another 9patch library for Love2D. Similar to [patchy](https://github.com/excessive/patchy)\nand [slicy](https://github.com/wqferr/slicy), but it's a lot smaller, uses a GLSL shader for\nrendering, wraps the texture instead of simply stretching it, and is permissively licensed.\n\n![](img/screenshot.png)\n\n## Usage\n```lua\nlocal p9 = require('p9')\nlocal patch = p9.load('frame.9.png')\n\nfunction love.draw()\n\tpatch:draw(10, 10, 100, 100)\n\n\tlocal x, y, w, h = p:getContentWindow()\n\tlove.graphics.setScissor(x, y, w, h)\n\t-- Do some drawing within the content region\n\tlove.graphics.setScissor()\nend\n```\n\nThe `draw` method also returns the same values as `getContentWindow`.\n\n## The format\nThe `.9.png` format is a regular image file, except the first/last rows/columns are intended as\nmetadata indicators.\n\n![](img/explainer.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecat%2Fp9","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodecat%2Fp9","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecat%2Fp9/lists"}