{"id":16577909,"url":"https://github.com/compufox/trivial-gamekit-ui","last_synced_at":"2026-03-09T10:34:18.977Z","repository":{"id":71050513,"uuid":"341986331","full_name":"compufox/trivial-gamekit-ui","owner":"compufox","description":"trivial-gamekit module for making lightweight UI ","archived":false,"fork":false,"pushed_at":"2021-03-19T20:53:56.000Z","size":22,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T00:39:29.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/compufox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-02-24T17:51:29.000Z","updated_at":"2023-08-14T22:58:53.000Z","dependencies_parsed_at":"2023-04-16T00:18:55.207Z","dependency_job_id":null,"html_url":"https://github.com/compufox/trivial-gamekit-ui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/compufox/trivial-gamekit-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compufox%2Ftrivial-gamekit-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compufox%2Ftrivial-gamekit-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compufox%2Ftrivial-gamekit-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compufox%2Ftrivial-gamekit-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compufox","download_url":"https://codeload.github.com/compufox/trivial-gamekit-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compufox%2Ftrivial-gamekit-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30291807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-11T22:12:35.945Z","updated_at":"2026-03-09T10:34:18.955Z","avatar_url":"https://github.com/compufox.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# trivial-gamekit-ui\n### _ava fox_\n\ntrivial-gamekit module for creating common user interface widgets quickly\n\n## Installing\n\n```shell\n$ git clone https://github.com/compufox/trivial-gamekit-ui ~/common-lisp/\n$ ros run # (or run whichever lisp you use)\n* ;; install the quicklisp distro that houses trivial-gamekit\n* (ql-dist:install-dist \"http://bodge.borodust.org/dist/org.borodust.bodge.txt\")\n* ;; ready to go!\n```\n\n## Usage\n\nDefine your game with the `with-ui` superclass\n\n```lisp\n(gamekit:defgame your-game (with-ui) ()\n  ...)\n```\n\nin your `gamekit:post-initialize`:\n\n```lisp\n(defmethod gamekit:post-initialize ((this your-game))\n  ...\n  (initalize-ui this\n    (:label (make-label \"Hello World!\" (vec2 50 50) :color gamekit.colors:+black+)))\n  ...)\n```\n\nthen in your `gamekit:draw`\n\n```lisp\n(defmethod gamekit:draw ((this your-game))\n  ...\n  (draw-ui this)\n  ...)\n```\n\n\nplease see `example.lisp` for a more detailed example\n\n## API\n\n`(make-label (text \u0026key (position (vec2 0 0)) (font :default) (size 12) (color gamekit.colors:+black+) (justification :left))`\n\ncreates and returns a label\n\n---\n\n`(make-button \u0026key (position (vec2 0 0)) label (fill-color gamekit.colors:+black+) (hover-color gamekit.colors:+black+) (pressed-color gamekit.colors:+black+) (stroke-color gamekit.colors:+transparent+) (stroke-thickness 0) (rounding 0) image hover-image pressed-image on-click)`\n\ncreates and returns a button\n\n---\n\n`(make-panel \u0026key (position (vec2 0 0)) width height children (fill-color gamekit.colors:+black+) (stroke-color gamekit.colors:+transparent+) (stroke-thickness 0) (rounding 0) image)`\n\ncreates and returns a panel\n\n---\n\n`(make-progress-bar width height \u0026key (position (vec2 0 0)) (fill-color gamekit.colors:+white+) (stroke-color gamekit.colors:+transparent+) (stroke-thickness 0) (inner-color gamekit.colors:+black+) (rounding 0) (percent 0) show-percent (font :default) (font-size 12) (font-color gamekit.colors:+black+))`\n\ncreates and returns a progress-bar\n\n---\n\n`(draw-widget this)`\n\ndraws a UI widget on the screen\n\n---\n\n`(ui-element state-or-game element)`\n\nreturns a UI widget from STATE-OR-GAME identified by ELEMENT\n\nex: `(ui-element (gamekit.fistmachine:current-state) :score-label)`\n\n---\n\n`(setf (ui-element state-or-game element) widget)`\n\nsets a UI widget in STATE-OR-GAME, identified by ELEMENT\n\n---\n\n`(draw-ui state-or-game)`\n\ndraws all ui elements of state-or-game\n\n---\n\n`(initialize-ui state-or-game \u0026rest forms)`\n\nmacro that allows you to set multiple widgets in STATE-OR-GAME at once\n\neach form in FORMS should be (IDENTIFIER WIDGET)\n\n---\n\n`(text-width text \u0026optional (font gamekit::*font*))`\n\nreturns the width of TEXT using FONT\n\n---\n\n`(text-height text \u0026optional (font gamekit::*font*))`\n\nreturns the height of TEXT using FONT\n\n---\n\n`(text-dimensions text \u0026optional (font gamekit::*font*))`\n\nreturns a vec2 of the width and height of TEXT using FONT\n\n---\n\naccessors exported: `text` `size` `widget-position` `text-color` `image` `stroke` `hover-color` `pressed-color` `on-click` `stroke-thickness` `hover-image` `pressed-image` `stroke-color` `children` `width` `height` `label` `rounding` `justification` `render`\n\n---\n\n## License\n\nMIT\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompufox%2Ftrivial-gamekit-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompufox%2Ftrivial-gamekit-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompufox%2Ftrivial-gamekit-ui/lists"}