Canvas widgets: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 68: Line 68:
==== C++ ====
==== C++ ====
* '''[[#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}}
{{FGCquote
  |The layout and widget systems is now maturing, so I think after 3.2 I<br/>
can start with porting PUI. Just one major component is missing, namely<br/>
keyboard input and the according input focus.<br/>
<br/>
I guess this will take one or two more releases.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32457866/
    |title=<nowiki>Re: [Flightgear-devel] Notes on Aircraft Center...</nowiki>
    |author=<nowiki>Thomas Geymayer</nowiki>
    |date=<nowiki>2014-06-13</nowiki>
  }}
}}
* '''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}}
* '''Animations''': I don't know if we should do animations just by using interpolator and settimer from Nasal or if we should implement some time-based animations directly in C++. At least we need some helper functions (eg. for blinking elements -> cursor, fading, ...) It would also be possible to implement animations purely in Nasal space, e.g. by supporting a subset of SMIL for SVG, so that existing tools could be used to created animated vector images that are converted to canvas properties by the Nasal parser.
* '''Animations''': I don't know if we should do animations just by using interpolator and settimer from Nasal or if we should implement some time-based animations directly in C++. At least we need some helper functions (eg. for blinking elements -> cursor, fading, ...) It would also be possible to implement animations purely in Nasal space, e.g. by supporting a subset of SMIL for SVG, so that existing tools could be used to created animated vector images that are converted to canvas properties by the Nasal parser.
Line 122: Line 108:
=== Keyboard Handling  ===
=== Keyboard Handling  ===
{{Feedback}}
{{Feedback}}
{{FGCquote
  |The layout and widget systems is now maturing, so I think after 3.2 I<br/>
can start with porting PUI. Just one major component is missing, namely<br/>
keyboard input and the according input focus.<br/>
<br/>
I guess this will take one or two more releases.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32457866/
    |title=<nowiki>Re: [Flightgear-devel] Notes on Aircraft Center...</nowiki>
    |author=<nowiki>Thomas Geymayer</nowiki>
    |date=<nowiki>2014-06-13</nowiki>
  }}
}}


Looking at the mouse handling code, the same technique we use for mouse handling could obviously also be used for keyboard handling:
Looking at the mouse handling code, the same technique we use for mouse handling could obviously also be used for keyboard handling:

Navigation menu