Sign in Join
Wiki copytemporary

nvidia-widgets: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## General
22
33This is the FPC port of the nvidia-widget set ([Internet Archive Link](https://web.archive.org/web/20160811073009/https://code.google.com/p/nvidia-widgets/downloads/detail?name=nvidia-widgets-1.0.0.tar.gz)). This widgetset is lightweight and extremely useful for projects that do not want to add a dependency to some large widget set e.g. GTK2 or QT.
44
55Originally ported by Darius Blaszyk in June 2011. The code works out of the box with FPC and does not need any 3rd party utilities.
66
77![](/wiki-images/c/c9/NvWidget_MacOS_386.png) ![](/wiki-images/a/a5/NvWidgets_WinXP32.png)
88
99## License
1010
1111The original code was released under the MIT license. This code, as it's derived work, will therefore also be released under MIT license. As far as I understand GPL easily mixes with MIT, so if your project is GPL you can use it as you would with a GPL library.
1212
1313## Widgets
1414
1515This widgetset comes with a layoutmanager. This means that you don't need to specify screen coordinates when you define the widgets, but you specify how you want to layout them and then just add the widgets as you like. You can embed multiple layout panels in each other to build complex layouts.
1616
1717The most important widgets are implemented, but more are allways welcome;
1818
1919- Label
2020- Button
2121- Checkbutton
2222- Radiobutton
2323- Horizontal slider
2424- Listbox
2525- Combobox
2626- Line edit
2727- Panel
2828- Textureview
2929
3030## Context and backend
3131
3232This widgetset is very modular, which is expressed by the fact that both the context as the backend are separated into it's own classes. Currently the GLut context is implemented and for the backend OpenGL obviously. Adding a new context or backend is very easy. All you need to do is implement the UIContext or UIPainter classes.
3333
3434## Documentation
3535
3636The widgetset library is documentated and online available from [here](http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/nvidia-widgets/docs/index.html). Though not 100% complete it does describe the library to some extent. Patches to improve documentation are welcomed. There's also a [CHM](http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/nvidia-widgets/docs/nvwidgets.chm) version available.
3737
3838## SVN
3939
40-` svn co `[`https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/nvidia-widgets`](https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/nvidia-widgets)` nvidia-widgets`
40+```text
41+ svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/nvidia-widgets nvidia-widgets
42+```
4143
4244or ViewCVS interface
4345
44-[`http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/nvidia-widgets/`](http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/nvidia-widgets/)
46+```text
47+http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/nvidia-widgets/
48+```
4549
4650## Todo list
4751
4852There is a number of todo items, but here are some important ones;
4953
5054- unicode support
5155- ~~fix freetype support + create a base class and add glutfont support back again~~
5256- ~~implement fpmake and a config.inc file where you can conditionally compile the desired painter and context~~
5357- ~~split the base painter and context~~
5458- ~~re-organise the sources to be more logical~~
5559- fix panel widget (on folding it crashes)
5660- improve fpdoc documentation of library
5761- cleanup API (eg unused parameters, move the get_WIDGET_ functions to the base object)
5862- implement scrolling panels
5963- implement SDL context class
6064- implement TnvApplication class that handles all context signals
6165
6266## About IMGUI
6367
6468This widgetset is an immediate mode graphical user interface (IMGUI). This means that this widgetset does not retain widget information outside the paint loop. The advantage of this is that it is very lightweight and easily expandible.
6569
6670## More information
6771
6872IMGUI : <https://web.archive.org/web/20140110175254/https://mollyrocket.com/forums/viewforum.php?f=10>
6973
7074---
7175*From the Free Pascal wiki, page "nvidia-widgets", as it stood on 2021-12-09 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
7276Category: Components
7377Category: Lazarus-CCR
7478Category: nvidia Widgetset

Back to history