20,741
edits
| Line 56: | Line 56: | ||
List of missing things (if you'd like to get involved to help with any of these, please get in touch via the [http://flightgear.org/forums/viewforum.php?f=71 canvas forum]): | List of missing things (if you'd like to get involved to help with any of these, please get in touch via the [http://flightgear.org/forums/viewforum.php?f=71 canvas forum]): | ||
* '''[[Canvas Properties#Images: Static Textures & Cascaded Canvases (Pending)|Support images inside Canvas]]''' (will also be needed for implementing the 2D panel wrapper): We need a new element type to also display images and other textures (eg. also the texture of another canvas) inside a canvas. Not everything can easily be represented using just vector graphics, so images will also be needed. This is going to be worked on as part of porting the 2D panel system over to Canvas {{Pending}} (James is working on this) {{Progressbar| | * '''[[Canvas Properties#Images: Static Textures & Cascaded Canvases (Pending)|Support images inside Canvas]]''' (will also be needed for implementing the 2D panel wrapper): We need a new element type to also display images and other textures (eg. also the texture of another canvas) inside a canvas. Not everything can easily be represented using just vector graphics, so images will also be needed. This is going to be worked on as part of porting the 2D panel system over to Canvas {{Pending}} (James is working on this) {{Progressbar|90}} | ||
* '''Window Stacking''': New windows always appear on top of older windows. It would be nice to have the possibility to change stacking order (either reorder the windows or use z-buffer with different z-values) The window manager could eg. listen on a special signal property on each window (eg. /sim/gui/canvas/window[i]/raise) which moves the according window to the top of the current window stack. I'd prefer window reordering because it would make checking for a window at a given position very ease, because we'd just have to check for the first match in revers stacking order (from topmost to lowest window).{{Not done}} | * '''Window Stacking''': New windows always appear on top of older windows. It would be nice to have the possibility to change stacking order (either reorder the windows or use z-buffer with different z-values) The window manager could eg. listen on a special signal property on each window (eg. /sim/gui/canvas/window[i]/raise) which moves the according window to the top of the current window stack. I'd prefer window reordering because it would make checking for a window at a given position very ease, because we'd just have to check for the first match in revers stacking order (from topmost to lowest window).{{Not done}} | ||
* '''[[Canvas Widgets#Picking & Widget_Callbacks|Picking]]''': For mouse handling some kind of picking would be nice. As already mentioned, at least bounding box intersections will be needed.Forward mouse events to canvas elements (trigger onhover, onclick, etc.) The canvas could listen for creation of the signal properties and then add the according region to a list of monitored regions. If the cursor is in one of the regions the property is signaled. {{Progressbar|40}} | * '''[[Canvas Widgets#Picking & Widget_Callbacks|Picking]]''': For mouse handling some kind of picking would be nice. As already mentioned, at least bounding box intersections will be needed.Forward mouse events to canvas elements (trigger onhover, onclick, etc.) The canvas could listen for creation of the signal properties and then add the according region to a list of monitored regions. If the cursor is in one of the regions the property is signaled. {{Progressbar|40}} | ||