{ "info": { "author": "Diego Dorn", "author_email": "diego.dorn@free.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "|Build Status| |Pypi Version| |Pypi Status| |Python Version|\n\n|Code Health| |Pypi Downloads|\n\nPygame GUI\n==========\n\nWhat is it ?\n~~~~~~~~~~~~\n\nThis librairy aims to provide simple widget to improve pygame\napplications like buttons, text, textboxes or math text widgets. There\nis also some goemetric shapes, like rectangle or bezier curves.\n\nDependancies\n~~~~~~~~~~~~\n\n- **pygame :** This library is fully based on pygame, so you must have\n it installed.\n\n*(optionnal)* \\* **latex :** you must avec latex install if you want to\nuse the ``LaText`` widget (``latex`` and ``dvipng`` accessible in path)\n\nInstallation\n~~~~~~~~~~~~\n\nYou can install it with pip and pypi easily by :\n\n::\n\n pip install -U PygameGUILib\n\nor via git and pip :\n\n::\n\n pip install -U git+https://github.com/ddorn/GUI.git@release#egg=GUI \n\nWidgets\n~~~~~~~\n\nActually there is a fex widgets in the library. I'll try to maintain\nthis list, but I'm sure I'll forget, so there is *MORE* than that.\n\n- Texts :\n\n - SimpleText\n - LaText\n - InLineInputBox\n - InLinePassBox\n\n- Buttons :\n\n - Button\n - IconButton\n - SlideBar\n\nAround that, there is a lot of helping objects, like ``Font``, colors,\n``V2`` and ``Separator`` (some vector things), FPSIndicator,\nFocusSelector...\n\nUse\n~~~\n\nBases\n'''''\n\nEvery widget has a ``pos``, a ``size`` and an ``anchor``, the three can\nbe harcoded or a callback function with no parameters. The ``pos`` and\nthe ``size`` defines a ``pygame.Rect`` where the widget is. The\n``pos``\\ is per default the center of the widget, but you can change\nthis behavior by giving an other ``anchor``, like ``TOPLEFT``.\n\nTree steps to use a button\n''''''''''''''''''''''''''\n\nEvery widget is totally independent and will do nothing unless you tell\nhim to do something. There is no theading thing that continuously check\nfor events both for performance and to give you more control on the\nwidgets.\n\n| For instance, widget won't auto-render on the screen and won't listen\n events, like clics on buttons.\n| Thus, to have a fully operational button there are three steps :\n\nJust define it, nothing complex once you've read the bases.\n\n::\n\n # define the action the button will perform when clicked\n def callback():\n print('PRESSED !\")\n \n button = Button(callback, (100, 100), (100, 40), \"Click Me !\")\n\nThen, you must continuously check for events, and call ``click()`` when\nyou want. (typically when the user clicks the button)\n\n::\n\n for e in pygame.events.get():\n if e.type == pygame.MOUSEBUTTONDOWN and e.button == 1: # left click\n if pygame.mouse.get_pos() in button:\n button.press() # you tell the button to call the callback if clicked\n\nAnd finally you must render the button on the screen.\n\n::\n\n button.render(display) # you draw the button on the display\n\nIt's basically the same thing for any widget, except for \"passive\"\nwidgets like texts, because we do not bother if the user clicks it. For\nother widgets, like textboxes, you'll want to update them with the\ninputs so you must call ``.update(event)`` too.\n\nLimitations\n'''''''''''\n\nAs always with pygame, do not try to make too big apps with a lot of\nchanging texts or with too big protions of the screen that are too often\nredrawn or it can lag a bit.\n\nHelp and todo list\n~~~~~~~~~~~~~~~~~~\n\nYou're welcome !\n\nHow can you help ?\n \n\n| Do not hesitate to `contact me per mail `__\n or `join the slack\n chat `__\n to discuss aboute code, optimisation or functionnalities. You can of\n course make any push request you want !\n| Feel free to report any issue you see as I do not have strong tests (I\n mean, almost no tests !)\n\nTodos :\n \n\n- A ``Text`` class to make texts that goes on more lines and with\n wrapping.\n- A ``TextBox``, to input multi line text\n- A ``RichText`` to make text with differents inner\n colors/size/font/styles\n- Something like lists\n- ``Switch`` class : Nice looking ON/OFF button\n- Some geometry function to draw curves, grids and manipulate line,\n polygons\n\nThis is absolutly not an ordered list, they will come as I have nice\nlooking and useable classes !\n\nCool projects with this library\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n| Do not hesitate to tell me if you have something working !\n| Here is a list of projets that uses my library, take inspiration !\n\n- `**Crabes** `__ : a simulation too\n for a `TFJM\u00b2 `__ problem\n- Your project !\n\nExamples at the and of each file can also give you a lot of samples of\nhow to use this library :) There is also a folder full of example that\nyou *will* apreciate !\n\n.. |Build Status| image:: https://travis-ci.org/ddorn/GUI.svg?branch=release\n :target: https://travis-ci.org/ddorn/GUI\n.. |Pypi Version| image:: https://img.shields.io/pypi/v/PygameGUILib.svg\n :target: https://pypi.python.org/pypi/PygameGUILib\n.. |Pypi Status| image:: https://img.shields.io/pypi/status/PygameGUILib.svg\n :target: https://pypi.python.org/pypi/PygameGUILib\n.. |Python Version| image:: https://img.shields.io/pypi/pyversions/PygameGUILib.svg\n :target: https://pypi.python.org/pypi/PygameGUILib\n.. |Code Health| image:: https://landscape.io/github/ddorn/GUI/master/landscape.svg?style=flat\n :target: https://landscape.io/github/ddorn/GUI/master\n.. |Pypi Downloads| image:: https://img.shields.io/pypi/dw/PygameGUILib.svg\n :target: https://pypi.python.org/pypi/PygameGUILib", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ddorn/GUI", "keywords": "pygame widget widgets gui", "license": "", "maintainer": "", "maintainer_email": "", "name": "PygameGUILib", "package_url": "https://pypi.org/project/PygameGUILib/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/PygameGUILib/", "project_urls": { "Homepage": "https://github.com/ddorn/GUI" }, "release_url": "https://pypi.org/project/PygameGUILib/0.4a6/", "requires_dist": null, "requires_python": "", "summary": "widgets for pygame wit ease", "version": "0.4a6" }, "last_serial": 2976392, "releases": { "0.3a12": [ { "comment_text": "", "digests": { "md5": "66acf9d79526769bb3a6b159c3907fe8", "sha256": "1f71e762c1ba1821804b901800e99f428b848ee5ec346be9ca6b0cae9b72cce1" }, "downloads": -1, "filename": "PygameGUILib-0.3a12.tar.gz", "has_sig": false, "md5_digest": "66acf9d79526769bb3a6b159c3907fe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19416, "upload_time": "2017-06-19T06:59:30", "url": "https://files.pythonhosted.org/packages/9a/48/c92f3f5cd850b498f2c6cca097c01181092895d940546a8a377c9b4b75a7/PygameGUILib-0.3a12.tar.gz" } ], "0.3a6": [ { "comment_text": "", "digests": { "md5": "76277b735ecdb1ad22cf14b1e0c66601", "sha256": "b6ec53526e846a95215937342aa533ca08382dbed93cb2350637fee3b95c054e" }, "downloads": -1, "filename": "PygameGUILib-0.3a6.tar.gz", "has_sig": false, "md5_digest": "76277b735ecdb1ad22cf14b1e0c66601", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 518443, "upload_time": "2017-06-18T22:17:35", "url": "https://files.pythonhosted.org/packages/48/aa/672a34169766411a690d10e5d5c86077ad83634c7ffed13f289fced7b12c/PygameGUILib-0.3a6.tar.gz" } ], "0.3a7": [ { "comment_text": "", "digests": { "md5": "6225721d337d87901c12f9854cca3ab2", "sha256": "5dd15730938715d776504d3943b9c57c22a55cf7824f117f6aea83b630171ac3" }, "downloads": -1, "filename": "PygameGUILib-0.3a7.tar.gz", "has_sig": false, "md5_digest": "6225721d337d87901c12f9854cca3ab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 518876, "upload_time": "2017-06-18T22:27:09", "url": "https://files.pythonhosted.org/packages/bc/1a/df9a4ecbac322acafacbcbcea1e9cc1361433f203dc36e19f537b95e96f9/PygameGUILib-0.3a7.tar.gz" } ], "0.3a8": [ { "comment_text": "", "digests": { "md5": "7f173763bc6c726aef1867f7dcfe93d5", "sha256": "b693933c4416fa643e3568b64201c828651bdaff80f76fd760e44f1c092d444b" }, "downloads": -1, "filename": "PygameGUILib-0.3a8.tar.gz", "has_sig": false, "md5_digest": "7f173763bc6c726aef1867f7dcfe93d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 518904, "upload_time": "2017-06-18T22:38:35", "url": "https://files.pythonhosted.org/packages/e8/46/6b2a26ac669e57e303b812856b0e54bc21dfca91d387118fe749b73bbece/PygameGUILib-0.3a8.tar.gz" } ], "0.3a9": [ { "comment_text": "", "digests": { "md5": "ffcee28284600dde10c306e980d7f16f", "sha256": "93acbd2041e5188bcac1ae7444da07e35ed6d68180ffd10d7baf0844c41a509f" }, "downloads": -1, "filename": "PygameGUILib-0.3a9.tar.gz", "has_sig": false, "md5_digest": "ffcee28284600dde10c306e980d7f16f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 518989, "upload_time": "2017-06-18T22:46:43", "url": "https://files.pythonhosted.org/packages/e3/a4/f2dfa1f8534066ee5ae4e33fa5ba9ba6aab073897394e36b8a797ce01197/PygameGUILib-0.3a9.tar.gz" } ], "0.4a1": [ { "comment_text": "", "digests": { "md5": "df0837f7c68b7a3ff9c50345b9543330", "sha256": "73308dcd9535c75ccd1fd705b9e0bfd4941e0176cd19c9cc5b4d2130ee6e17ab" }, "downloads": -1, "filename": "PygameGUILib-0.4a1.tar.gz", "has_sig": false, "md5_digest": "df0837f7c68b7a3ff9c50345b9543330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19540, "upload_time": "2017-06-19T07:54:52", "url": "https://files.pythonhosted.org/packages/de/2e/f02e9ecf52c153ba5324c787a5ce463566aead74b523cd35aa1c72656646/PygameGUILib-0.4a1.tar.gz" } ], "0.4a2": [ { "comment_text": "", "digests": { "md5": "18aa8be3c8236a713c5cd26aa0a5329c", "sha256": "52225382e4ca1c3a44c5260b406da8b10315d8821e70db24796ca0be3d22c044" }, "downloads": -1, "filename": "PygameGUILib-0.4a2.tar.gz", "has_sig": false, "md5_digest": "18aa8be3c8236a713c5cd26aa0a5329c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19539, "upload_time": "2017-06-19T08:12:16", "url": "https://files.pythonhosted.org/packages/6b/fb/e3aa6a96654cba47d07882b4babbb8c4f8d69e1c3d4b0de112ba2e2c1a20/PygameGUILib-0.4a2.tar.gz" } ], "0.4a3": [ { "comment_text": "", "digests": { "md5": "9a14db2c1950c556222fae86cd9ed7c8", "sha256": "e9f0c05335af3870727b343030595f7cd576eea0944859b54a7064cb1f05e1ea" }, "downloads": -1, "filename": "PygameGUILib-0.4a3.tar.gz", "has_sig": false, "md5_digest": "9a14db2c1950c556222fae86cd9ed7c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21114, "upload_time": "2017-06-19T21:37:55", "url": "https://files.pythonhosted.org/packages/7d/b0/fe6049a2ddab4e0f23e315f4225202c9b288dbd758734c314f55b8eb5668/PygameGUILib-0.4a3.tar.gz" } ], "0.4a4": [ { "comment_text": "", "digests": { "md5": "d1f4e5cfe5022a9557f3718af34f7b87", "sha256": "bcee54649623f4bc40788128d5a472ca72f4140d82accfad5ec008cfd53fe131" }, "downloads": -1, "filename": "PygameGUILib-0.4a4.tar.gz", "has_sig": false, "md5_digest": "d1f4e5cfe5022a9557f3718af34f7b87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21139, "upload_time": "2017-06-19T22:13:53", "url": "https://files.pythonhosted.org/packages/07/d3/a4fc937e91ecf709da1fc1e34edb474a4239404a3301e1420f5e7129b0d3/PygameGUILib-0.4a4.tar.gz" } ], "0.4a5": [ { "comment_text": "", "digests": { "md5": "f7acf9d4eae9b74832c2acd052d03b7f", "sha256": "27fd27157ff12d0663fae21f854e916d358f37698ef6f7f485aed4b6e7d38bff" }, "downloads": -1, "filename": "PygameGUILib-0.4a5.tar.gz", "has_sig": false, "md5_digest": "f7acf9d4eae9b74832c2acd052d03b7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23088, "upload_time": "2017-06-24T12:17:13", "url": "https://files.pythonhosted.org/packages/87/7d/c536984413f1c83c26b7b129e21394d52c9d875917d9e1fb6ce3822f927f/PygameGUILib-0.4a5.tar.gz" } ], "0.4a6": [ { "comment_text": "", "digests": { "md5": "6444dfb3e435a59e6c440c4551c45d59", "sha256": "805ca51b55081965ee1fadd98dc0517e2d9077f556d949ce7bdc64036f737e42" }, "downloads": -1, "filename": "PygameGUILib-0.4a6.tar.gz", "has_sig": false, "md5_digest": "6444dfb3e435a59e6c440c4551c45d59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 791173, "upload_time": "2017-06-24T22:43:51", "url": "https://files.pythonhosted.org/packages/a6/4b/8abb19d9b53a2359e962a1830643d2149f243475c9d57c384aee333af91f/PygameGUILib-0.4a6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6444dfb3e435a59e6c440c4551c45d59", "sha256": "805ca51b55081965ee1fadd98dc0517e2d9077f556d949ce7bdc64036f737e42" }, "downloads": -1, "filename": "PygameGUILib-0.4a6.tar.gz", "has_sig": false, "md5_digest": "6444dfb3e435a59e6c440c4551c45d59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 791173, "upload_time": "2017-06-24T22:43:51", "url": "https://files.pythonhosted.org/packages/a6/4b/8abb19d9b53a2359e962a1830643d2149f243475c9d57c384aee333af91f/PygameGUILib-0.4a6.tar.gz" } ] }