Canvas widgets: Difference between revisions

Jump to navigation Jump to search
1,108 bytes removed ,  23 June 2014
m
Line 243: Line 243:


The canvas isn't really about end user features, it's a provider of an infrastructure, so that end user features can be more easily expressed and modeled in scripting space, using Nasal. That's why all end user features should be expressible in scripting space, and only the core infrastructure should need C++ extensions to make this easier. The end user APIs will be mostly designed in scripting space.
The canvas isn't really about end user features, it's a provider of an infrastructure, so that end user features can be more easily expressed and modeled in scripting space, using Nasal. That's why all end user features should be expressible in scripting space, and only the core infrastructure should need C++ extensions to make this easier. The end user APIs will be mostly designed in scripting space.
=== Styling, Theming and Skinning (XSL/CSS via SVG) ===
{{Progressbar|70}}
Another thing worth mentioning is that styling/theming/skins should probably be handled via another helper class, so that colors/fonts and images can be customized easily - so that people could easily create new styles.
Looking at the SVG specs, SVG already has support for styling via CSS: http://www.w3.org/TR/SVG/styling.html
Extending the SVG parser to support this, would mean that people could use existing tools for styling purposes.
And it would mean, that ALL the other systems (instruments, HUDs etc) would also become stylable automatically, too!
So that would be a pretty generic and straightforward extension of the APIs at the Nasal layer, i.e. by providing a CSS/XSL parser which maps the styling information to canvas transformations.
Otherwise, we would need to manually implement styling for each subsystem wrapper, which would be a lot of work - if someone wants to use styling, they can probably be required to use SVG/CSS, I think. And another advantage is there are lots of tools already for SVG and CSS.


== Related ==
== Related ==

Navigation menu