20,741
edits
| Line 13: | Line 13: | ||
[[File:About-dialog-rendered-by-canvas.png|thumb|Screen shot showing the FlightGear about dialog procedurally created and rendered by a Nasal/Canvas parser that turns [[PUI]]/XML markup into Canvas widgets/properties. The about dialog is making heavy use of dynamic text labels using printf formatting for displaying OpenGL related info, so needs to be mapped to Nasal sprintf/getprop calls]] | [[File:About-dialog-rendered-by-canvas.png|thumb|Screen shot showing the FlightGear about dialog procedurally created and rendered by a Nasal/Canvas parser that turns [[PUI]]/XML markup into Canvas widgets/properties. The about dialog is making heavy use of dynamic text labels using printf formatting for displaying OpenGL related info, so needs to be mapped to Nasal sprintf/getprop calls]] | ||
{{Canvas Navigation}} | {{Canvas Navigation}} | ||
{{FGCquote|1= Qt widgets can be drawn into OpenGL buffers. That doesn't change the fact that it would be a great deal of work to port our GUI to Qt, and it would introduce a very large external dependency. Having seen the fit pitched when I started using boost... Now, big projects can get done, and motivated individuals with time on their hands can work wonders. We should keep in mind the relative importance of the GUI system to the whole flying experience and judge whether it would be worth the effort to do a huge rewrite in this area.|2= {{cite web | url = http://sourceforge.net/p/flightgear/mailman/message/24467194/ | title = <nowiki>Re: [Flightgear-devel] GUI dialogs suck</nowiki> | author = <nowiki>Tim Moore</nowiki> | date = Jan 30th, 2010 }}}} | |||
== Objective == | == Objective == | ||
This article is intended to demonstrate how '''existing [[PUI]] dialogs can be easily processed using FlightGear scripting (via [[Nasal]]) and the [[Canvas]] 2D rendering API''', and be turned into [[Canvas]] widgets and dialogs. | This article is intended to demonstrate how '''existing [[PUI]] dialogs can be easily processed using FlightGear scripting (via [[Nasal]]) and the [[Canvas]] 2D rendering API''', and be turned into [[Canvas]] widgets and dialogs. | ||