Hi, Carlos,

No doubt theme support for Apache Royale components/containers/controls (I will 
use "components" from now on) would be very valuable.

Obviously, themes could only be applied to components that conform to a 
specific interface and who can be extensively CSS-styled.
I agree that it would not apply to MDL and other "external" (non-Royale) 
components...

Your suggestion of applying a theme at application level sounds logical.
There is also a theme-related compiler argument where the theme file can be a 
SWC or a CSS file (this implies that a theme could be one or the other).

As I said before, the number of "colors" should allow for clear differentiation 
between disabled/enabled, selected/unselected, hovered parts, dark text/light 
text. Window title/ window content. It seems to me that 2 or 3 colors are 
sufficient, but we probably need several shades for each.
 
As for which component set to use, and from various contributions on the 
dev-list, Express appears as a serious candidate.

I do not like very much the idea of multiple component sets, each one with 
specific capabilities...

If I understand correctly, we are not talking about "drawing" components on a 
"canvas", right ?
For a button, it would be an assembly of "inline" block (a div or some 
container element) with a css "radius" attribute etc. I am right ?

But, in fact, it should be possible to use theming for any Royale-developed 
component set ? It would be a matter of attaching a "style-handling" bead ? It 
would be nice to know when a specific style can or cannot be applied to a 
component... Meaning all components should expose their own list of styleable 
properties...

I do not really understand why we should choose some components among the 
components set ?

Or maybe I still (!) do not have a very good understanding of how styles, 
themes and beads are related...

Nicolas Granon




> -----Message d'origine-----
> De : [email protected] [mailto:[email protected]] De la
> part de Carlos Rovira
> Envoyé : dimanche 5 novembre 2017 11:58
> À : [email protected]
> Objet : [DISCUSS] Apache Royale Theme feature
> 
> Hi all,
> 
> in this thread I want to join a plan to work on a theme feature for
> Apache Royale. Hope you all could comment here if this starting point
> is in the good track or if you think we need things not expressed here.
> 
> 1.- Theme feature will be a pluggable set of styles (colors, drawings,
> images, animations,...) to customize the visuals of Apache Royale
> controls and components.
> 
> 2.- The affected list of controls and components must to be defined in
> a vote thread. We'll be opening a vote thread to designate that
> concrete list based on concrete set of components. For example: Express
> Set : Button, TextInput, CheckBox,.... and so on.
> While some of the components will be clearly included at first sight
> (Button, TextInput,...) sets in different frameworks are very different
> and for this reason we must to concrete our own set or at least what we
> start offering (although that will be evolving over time with more
> component
> inclusions)
> 
> (in this point is important that if you could propose a concrete list
> of components, that would be of great help, of course that list must be
> implemented in the set you think would have the theme feature. I assume
> that will be Express. If not, should we create a new set?)
> 
> 3.- MDL, CreateJS are sets that has it's own visuals, implementations
> and will be excluded of this plan. In fact, the problem with all that
> sets is that once the user start developing in one of them, they are
> tied the concrete implementation, set of controls, events, properties
> and change the final app visuals are impossible without rewriting the
> entire application.
> 
> 4.- The themes will be a separate library project that will create a
> SWC
> 
> 5.- SWC themes must be easily swappable. We must defined a way to swap
> themes. In Flex we add src theme and have a "theme" property. In Royale
> it could be a Bead for the main application component. The best
> solution on this should be provided by people here more near to the
> apache royale arquitecture
> 
> 3.- We'll be creating at least one theme that will be highly
> configurable
> 
> 4.- We'll be using 2-3 color scheme (primary, secondary, contrast) for
> all components in a theme
> 
> 5.- We'll use solid colors (we could try as well to integrate
> gradients, but this would depend on how visuals result looks)
> 
> 6.- We'll try to include some more configuration per component. For
> example: round corners on buttons, boxed text inputs vs underlined
> ones...
> 
> There's much more that can be done here, but I think we must reach a
> point and from there examine our experience and see where to gro from
> there.
> I'm sure will be learning a lot  in the progress and right now we don't
> know how to do more advanced things, or most things could take much
> more time if we try to do all at the same time.
> 
> For example, some things that will be off in the first stage would be
> skins.
> 
> Thanks
> 
> 
> --
> Carlos Rovira
> http://about.me/carlosrovira

Reply via email to