Canvas widgets: Difference between revisions

Jump to navigation Jump to search
Line 66: Line 66:
* '''[[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}}  
* '''[[#Keyboard Handling|Keyboard input]]''': I haven't thought too much about it and also haven't done anything, but we will definitely need access to keyboard events {{Not done}}
* '''[[#Keyboard Handling|Keyboard input]]''': I haven't thought too much about it and also haven't done anything, but we will definitely need access to keyboard events {{Not done}}
* '''[[Canvas_Widgets#Nasal_requirements|Implementing Widgets]]''': {{Not done}}
* '''[[Canvas_Widgets#Nasal_requirements|Implement Widgets]]''': {{Not done}}
* '''[[Canvas_Widgets#Dialog_Parser|Reimplementing the dialog/xml parser]]''': {{Not done}}
* '''[[Canvas_Widgets#Dialog_Parser|Implement the dialog/xml parser]]''': {{Not done}}
* '''[http://wiki.flightgear.org/Canvas_Widgets#Layout_Management_.28_.28Not_done.29.29 Layout Handling]''': {{Not done}}
* '''[http://wiki.flightgear.org/Canvas_Widgets#Layout_Management_.28_.28Not_done.29.29 Layout Handling]''': {{Not done}}
* '''Implement a generic CSS/XSL-based styling class''': {{Not done}}
* '''Clipping''': For different reasons we will need to be able to clip some elements to certain regions. It should work with specifying either a clipping rectangle or by using a path. OpenVG seems to have support for it, although I haven't looked into it too deep. We also need to ensure that it also works with text. At least rectangular regions are needed.(eg. group/clip-min[0..1], group/clip-max[0..1]) {{Not done}}
* '''Clipping''': For different reasons we will need to be able to clip some elements to certain regions. It should work with specifying either a clipping rectangle or by using a path. OpenVG seems to have support for it, although I haven't looked into it too deep. We also need to ensure that it also works with text. At least rectangular regions are needed.(eg. group/clip-min[0..1], group/clip-max[0..1]) {{Not done}}
* '''[[Canvas Maps|Geographic Mapping]]''': It's very experimental, missing different projection modes (eg. vertical projection) and especially the Nasal API feels very hackish. {{Progressbar|50}}
* '''[[Canvas Maps|Geographic Mapping]]''': It's very experimental, missing different projection modes (eg. vertical projection) and especially the Nasal API feels very hackish. {{Progressbar|50}}

Navigation menu