{"id":13742556,"url":"https://github.com/inspirit/GPUI","last_synced_at":"2025-05-08T23:33:57.018Z","repository":{"id":3174107,"uuid":"4205502","full_name":"inspirit/GPUI","owner":"inspirit","description":"tiny GPU [Stage3D] based GUI","archived":false,"fork":false,"pushed_at":"2012-05-03T17:44:00.000Z","size":248,"stargazers_count":71,"open_issues_count":1,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-12T23:15:12.899Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ActionScript","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/inspirit.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}},"created_at":"2012-05-02T17:14:09.000Z","updated_at":"2024-10-27T00:46:16.000Z","dependencies_parsed_at":"2022-08-24T17:10:33.949Z","dependency_job_id":null,"html_url":"https://github.com/inspirit/GPUI","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/inspirit%2FGPUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspirit%2FGPUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspirit%2FGPUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspirit%2FGPUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inspirit","download_url":"https://codeload.github.com/inspirit/GPUI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253165552,"owners_count":21864453,"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-08-03T05:00:33.572Z","updated_at":"2025-05-08T23:33:56.706Z","avatar_url":"https://github.com/inspirit.png","language":"ActionScript","funding_links":[],"categories":["User Interface"],"sub_categories":["UI Components"],"readme":"GPUI - Stage3D based UI\n==\n**Core ideas:**\n  + make it as tiny and simple as possible\n  + make it single call render\n\n\u003e yes the whole UI set is single batch ;) and rendered via single `drawTriangles`... that's probably not very smart but fun!\nthere is no dynamic text support, i mean u only have labels, and labels are rendered as textures. lame but fast and uses only one `Texture` for whole UI set! fun! ;)\n\n**Very basic style system:**\n\nu can define default `TextFormat` to use for labels and several color options like \n`bgColor` `darkColor` `lightColor` `textColor` \nand thats it... fun! ;)\nahh yes and u can use `roundedCorners` with specified radius :) or dont use...\n```\nGPUGUIStyle.setStyle(\n                     darkColor:uint, lightColor:uint, bgColor:uint, // default color theme\n                     textFormat:TextFormat = null, // define text font and size\n                     embedFonts:Boolean = true, // if font is embedded\n                     textAntiAlis:String = AntiAliasType.NORMAL, // font alias type\n                     textColor:uint = 0xFFFFFFFF, // label color\n                     paddX:Number = 3, paddY:Number = 3, // padding between controls\n                     controlWidth:Number = 200, controlHeight:Number = 30, // default controls size\n                     controlCornerRadius:Number = 0.0 // shapes corner radius\n                     ):void;\n```\n\u003e well i was creating it for my personal needs and wasn't thinking about sharing the result since it is too small and maybe unusable for real world problems.\nbut i think it is quite useful for quick tests because u can setup it on top of your own `Stage3D` stuff without including any other frameworks...\n\n**Handle events and getting results**\n```\ncontrol.setCallBack(onCallBack);\nfunction onCallback(...args):void\n{\n    // u shoulc check specific component what arguments it returns\n    // for example GPUGUIColor returns 5 arguments\n    // color:uint, red:Number, green:Number, blue:Number, alpha:Number\n}\n\n//\n// u can also assing properties directly to your objects\n//\ncontrol.setTarget(target:*, property:String):void\n\n// so when controls value changed it will set\ntarget.property = newValue;\n```\n\n**Few Screens to get the feeling**\n\n\u003cimg src=\"https://lh5.googleusercontent.com/-uUNNrSYAsNA/T6FEH4Ik8qI/AAAAAAAAAXs/rkhPsUfVISo/s594/gpui_1.jpg\"/\u003e\n\u003cimg src=\"https://lh5.googleusercontent.com/--79WxUwDvP4/T6FEHxS8pzI/AAAAAAAAAX0/i7OnuEI7ezU/s594/gpui_0.jpg\"/\u003e\n\n\u003cpre\u003e\nCopyright 2012 Eugene Zatepyakin\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\u003c/pre\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspirit%2FGPUI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finspirit%2FGPUI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspirit%2FGPUI/lists"}