{ "info": { "author": "Cecile Tonglet", "author_email": "cecile.tonglet@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "pysdl2-sdl2ui\n=============\n\nA library to make simple UI using pysdl2.\n\nIntroduction\n------------\n\n```python\nclass MyApp(sdl2ui.App):\n width = 256\n height = 224\n zoom = 3\n # NOTE: the fps you desire: less fps = less CPU usage\n fps = 30\n name = \"My Application\"\n # NOTE: order the handlers in what you want to display first\n default_handlers = [MainHandler, ListSelectorHandler, MenuHandler]\n default_resources = [('background', 'background.png')]\n\n\nlogging.basicConfig(level=logging.DEBUG)\nMyApp.run(handlers=[sdl2ui.handler.DebuggerHandler])\n```\n\nEach handler will have three main methods: `init()`, `peek()` and `draw()`:\n\n* `init()` is called as soon as the application is started (instantiated). You\n can set all kind of variables in your instance here before anything shows up.\n* `peek()` is called at every frame. The capture of the input can be made here.\n If peek() returns True, sdl2ui will re-draw the whole screen (using all the\n active handlers.\n* `render()` is called every time the application need to re-draw the screen.\n\n### Examples\n\n```python\nclass MainHandler(sdl2ui.Handler):\n def peek(self):\n if self.app.keys[sdl2.SDL_SCANCODE_D]:\n self.app.keys[sdl2.SDL_SCANCODE_D] = False\n # NOTE: toggle the debugger mode\n self.app.handlers[sdl2ui.handler.DebuggerHandler].toggle()\n elif self.app.keys[sdl2.SDL_SCANCODE_S]:\n self.app.keys[sdl2.SDL_SCANCODE_S] = False\n # NOTE: toggle the display of the menu and the list selector\n self.app.handlers[ListSelectorHandler].toggle()\n self.app.handlers[MenuHandler].toggle()\n elif self.app.keys[sdl2.SDL_SCANCODE_Q]:\n self.app.keys[sdl2.SDL_SCANCODE_Q] = False\n self.app.quit = True\n else:\n return False\n return True\n\n def render(self):\n self.app.draw('background', x=0, y=0)\n```\n\n```python\nclass MenuHandler(sdl2ui.Handler):\n highlight = (0x00, 0x00, 0xff, 0xff)\n line_space = 8\n default_active = False\n menu_actions = [\n (\"Save\", lambda x: x.save()),\n (\"Load\", lambda x: x.load()),\n (\"Quit\", lambda x: x.quit()),\n ]\n\n def init(self):\n self.select = 0\n\n def save(self):\n # TODO save()\n pass\n\n def load(self):\n # TODO load()\n pass\n\n def quit(self):\n self.app.quit = True\n\n def peek(self):\n if self.app.keys[sdl2.SDL_SCANCODE_UP]:\n self.app.keys[sdl2.SDL_SCANCODE_UP] = False\n self.select -= 1\n if self.select < 0:\n self.select = len(self.menu_actions) - 1\n elif self.app.keys[sdl2.SDL_SCANCODE_DOWN]:\n self.app.keys[sdl2.SDL_SCANCODE_DOWN] = False\n self.select += 1\n if self.select >= len(self.menu_actions):\n self.select = 0\n elif self.app.keys[sdl2.SDL_SCANCODE_RETURN]:\n self.app.keys[sdl2.SDL_SCANCODE_RETURN] = False\n _, func = self.menu_actions[self.select]\n func()\n else:\n return False\n return True\n\n def render(self):\n border = 10\n x, y = border, border\n for i, (label, _) in enumerate(self.menu_actions):\n if i == self.select:\n # NOTE: you can tint all future draw() and write() using the\n # context self.app.tint()\n with self.app.tint(self.highlight):\n self.app.write('font-6', x, y, label)\n else:\n # NOTE: the font-6 is a bitmap font built-in with the library\n self.app.write('font-6', x, y, label)\n y += self.line_space\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cecton/pysdl2-sdl2ui", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pysdl2-sdl2ui", "package_url": "https://pypi.org/project/pysdl2-sdl2ui/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pysdl2-sdl2ui/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/cecton/pysdl2-sdl2ui" }, "release_url": "https://pypi.org/project/pysdl2-sdl2ui/0.1.14/", "requires_dist": null, "requires_python": null, "summary": "A Python library to make simple UI using pysdl2", "version": "0.1.14" }, "last_serial": 2068380, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "54011230c38d724f89fa083ecc093518", "sha256": "d572e74844c7d1a6bb7ce5aee3ed6e5efb1a81396d46ba8d40d96a96dac63842" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.0.tar.gz", "has_sig": false, "md5_digest": "54011230c38d724f89fa083ecc093518", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5542, "upload_time": "2016-02-21T14:53:50", "url": "https://files.pythonhosted.org/packages/cd/0c/39d5c80336d172069a6a9f43f9e986d8896e6c32d7bcc390aff1d5b8fe58/pysdl2-sdl2ui-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "71af539d0f1806541b37ebfbfcd65983", "sha256": "30673955c4082dbb68fb5bc537eb69bfc699c1c5e548fe2637d0a822042f51c3" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.1.tar.gz", "has_sig": false, "md5_digest": "71af539d0f1806541b37ebfbfcd65983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5993, "upload_time": "2016-02-22T18:37:44", "url": "https://files.pythonhosted.org/packages/10/b3/7cb47c029af2d8d1809e300b17823c746d6d302a033f21f5f71cfda06aad/pysdl2-sdl2ui-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "bcc816e98388fec28d561a0f50c7ffaa", "sha256": "18a84e7d9f3f5013d267c7a2ff419c7196ed0f145a83ed697d129a6352f080cd" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.10.tar.gz", "has_sig": false, "md5_digest": "bcc816e98388fec28d561a0f50c7ffaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8773, "upload_time": "2016-03-09T15:25:50", "url": "https://files.pythonhosted.org/packages/16/03/81cf48306f675df7067bbcdb6f59742e781264f8ff97a35de282db2422c6/pysdl2-sdl2ui-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "e6c4017c21b20809d416108341185312", "sha256": "ba3e9bc1d48793ebed1a237ca519141c81a84291e50bcc0f642ebd7f7ad5b743" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.11.tar.gz", "has_sig": false, "md5_digest": "e6c4017c21b20809d416108341185312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9328, "upload_time": "2016-03-21T18:11:09", "url": "https://files.pythonhosted.org/packages/b8/69/2ac16716ad03128a9a7a34d0175966c728115436a4b49cfdc74f7bb4741f/pysdl2-sdl2ui-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "e6298257a9772e329ee5ff2b70a084cf", "sha256": "751886127f2afdaa0f333c8a9ab1c8e93e4cdd779aab85c37e515482bb38f7d5" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.12.tar.gz", "has_sig": false, "md5_digest": "e6298257a9772e329ee5ff2b70a084cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9339, "upload_time": "2016-03-23T16:13:36", "url": "https://files.pythonhosted.org/packages/6f/47/c6a8562cfc8047594d632082204bb9a340640caaf1552b9d5c402139a436/pysdl2-sdl2ui-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "a01661b0e28f0a76a7a253513dd33c23", "sha256": "d195bd2269fc6b1ff2dd366c75aa1ed45ac82e5d679761d198c55c0617f225ca" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.13.tar.gz", "has_sig": false, "md5_digest": "a01661b0e28f0a76a7a253513dd33c23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9582, "upload_time": "2016-04-02T16:22:12", "url": "https://files.pythonhosted.org/packages/aa/b6/1f5b976915548b4e98a1ac030665f83a2bba901e61b767353673d1fe0e26/pysdl2-sdl2ui-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "81c50b363f5e50a623ce8ca072970f7b", "sha256": "ff2006f977bf78a0f0e87a41beff62789b3a97575233e16365e727f3954a807c" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.14.tar.gz", "has_sig": false, "md5_digest": "81c50b363f5e50a623ce8ca072970f7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10388, "upload_time": "2016-04-17T16:17:15", "url": "https://files.pythonhosted.org/packages/2b/c1/fe72de1e36debd0eb4c3ec1671f870d281e1c9faa93d6ecf810b7e87b832/pysdl2-sdl2ui-0.1.14.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "36c5cfa7562fa8f8fb5433b2c733c2ec", "sha256": "e2ba46be692160741005ca91f4073e8ab7afd423ac9d927c10835bfa68d4ab9e" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.2.tar.gz", "has_sig": false, "md5_digest": "36c5cfa7562fa8f8fb5433b2c733c2ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6032, "upload_time": "2016-02-22T18:50:02", "url": "https://files.pythonhosted.org/packages/7f/99/a6b176e0feb808d2893b35d3fb9469bc638cf8d084b5eaad4ec22a9b50c6/pysdl2-sdl2ui-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1c649585ddef092ce6a052149ae0fc3f", "sha256": "e38f41023bcc2fd2e49c9702336c1805642be311ed445ed74e276fa5c54f30f0" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1c649585ddef092ce6a052149ae0fc3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6969, "upload_time": "2016-02-22T18:51:49", "url": "https://files.pythonhosted.org/packages/9e/43/78946ca80de7cea258061ff22ca502d8d9d76042523733115d756641ab3e/pysdl2-sdl2ui-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "eaa3b93f737ba6d58029dc9ec41b3e58", "sha256": "5149aed2a52c6d48352f18593b757c93689bd5d9053c7ebef8f653c42872ccaa" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.4.tar.gz", "has_sig": false, "md5_digest": "eaa3b93f737ba6d58029dc9ec41b3e58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6976, "upload_time": "2016-02-22T19:27:32", "url": "https://files.pythonhosted.org/packages/ff/8a/64466b541d36b60d41a55b0ac4e9116f5a0490cf4b9c257c26179073b7d6/pysdl2-sdl2ui-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "2c7ae6a4481cae1232c2bd433386d16c", "sha256": "d576727d58e6ef01c5fafc24504bdd80252d033c824627b4e0cdd51d7b148bdd" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.5.tar.gz", "has_sig": false, "md5_digest": "2c7ae6a4481cae1232c2bd433386d16c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6978, "upload_time": "2016-02-22T19:28:46", "url": "https://files.pythonhosted.org/packages/2f/5e/d9b0ae2c6b264e68258627826bbb762757d07b67020785fc838548050ce2/pysdl2-sdl2ui-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "4ba92ab1db3ebc6965539c2c7a245c76", "sha256": "9827a61e58441afab453d3734eb51cea0e0a9e70fbb026ab87fedf45d2169d60" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.6.tar.gz", "has_sig": false, "md5_digest": "4ba92ab1db3ebc6965539c2c7a245c76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7523, "upload_time": "2016-02-27T12:11:07", "url": "https://files.pythonhosted.org/packages/a8/2e/69fe7768fc6c9ef1334c0372185a632aaea94aad5bc5374679725c8466e9/pysdl2-sdl2ui-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "097e4e26e19ddfc7a4cd9e3a2480d65f", "sha256": "51dd223e5c6e85968c7f14d696ff459443ddc0acd2b9b997ebd0e450cfd61609" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.7.tar.gz", "has_sig": false, "md5_digest": "097e4e26e19ddfc7a4cd9e3a2480d65f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7583, "upload_time": "2016-02-28T20:22:25", "url": "https://files.pythonhosted.org/packages/d8/4d/855c97ab5d987d667317eb70f48f689b82d6e23fb4f9d1bf703ab0aa78ad/pysdl2-sdl2ui-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "7a63602d41858e54ab78b08d4c50ced1", "sha256": "aebfa38ca407c0553b8c227f44ce737c4f01d210c9b5422af4fb5e1d7a9d14c2" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.8.tar.gz", "has_sig": false, "md5_digest": "7a63602d41858e54ab78b08d4c50ced1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7338, "upload_time": "2016-03-05T14:14:16", "url": "https://files.pythonhosted.org/packages/06/98/431a3aefa2595b03172b3d8b8c490a9297dbb5218cfdbcd7bb0114cf78ca/pysdl2-sdl2ui-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "3e9fc7050fe471fec9e018498197da12", "sha256": "412408aa36fb0c1b6eb52bf8b672e5bc5a570b3b9817f358db3a4d6b27473685" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.9.tar.gz", "has_sig": false, "md5_digest": "3e9fc7050fe471fec9e018498197da12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8416, "upload_time": "2016-03-05T18:06:41", "url": "https://files.pythonhosted.org/packages/eb/b9/0e456f303c3f644039dcbc1586e622bebc5a4171fe8a218b3e0773ba5779/pysdl2-sdl2ui-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "81c50b363f5e50a623ce8ca072970f7b", "sha256": "ff2006f977bf78a0f0e87a41beff62789b3a97575233e16365e727f3954a807c" }, "downloads": -1, "filename": "pysdl2-sdl2ui-0.1.14.tar.gz", "has_sig": false, "md5_digest": "81c50b363f5e50a623ce8ca072970f7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10388, "upload_time": "2016-04-17T16:17:15", "url": "https://files.pythonhosted.org/packages/2b/c1/fe72de1e36debd0eb4c3ec1671f870d281e1c9faa93d6ecf810b7e87b832/pysdl2-sdl2ui-0.1.14.tar.gz" } ] }