Are we talking about styling, theming or skinning ? As application developers, we are mainly interested in "styling", based on an available theme. Usually, it is a minor task. Most of the apps follow the chosen theme and styles affect mostly font size/weight, borders width/color, alphas ...
We never "create" a full skin, unless we create a very specific component (complete with all visual aspects). That is not our usual business. Our customers expect "visual elements" (components, controls...) to have a very standardized look. It could happen that we need to change a theme, for example if the customer is a big company and want the general color scheme/font to be close to the company standards. But usually, we stick to a basic, neutral theme. Nicolas Granon > -----Message d'origine----- > De : Peter Ent [mailto:p...@adobe.com.INVALID] > Envoyé : mardi 7 novembre 2017 12:40 > À : dev@royale.apache.org > Objet : Re: Working on UI Controls styling > > A couple of questions: > > How expensive is generating and applying CSS on the client? > > How do developers that use CSS regularly feel about having to declare > that many styles for all the buttons? Maybe tools like Dreamweaver make > it simpler and we just need IDEs that could provide assistance. > > Peter > > > On Nov 7, 2017, at 6:24 AM, Harbs > <harbs.li...@gmail.com<mailto:harbs.li...@gmail.com>> wrote: > > Some food for thought: > > I created a custom component for “buttons” which allow simple skinning > using image files. It works like this: > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste. > apache.org%2Ftc8f&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7C > fa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=tko > afaegyBTfQezUYJl2CJLgrc3aedf2UEqsSz8NTY4%3D&reserved=0 > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste > .apache.org%2Ftc8f&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7 > Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=tk > oafaegyBTfQezUYJl2CJLgrc3aedf2UEqsSz8NTY4%3D&reserved=0> > > Specifying different states can be done using the following css: > .bug > { > background-image: url ('assets/up/report-bug.png'); } .bug:hover{ > background-image: url ('assets/over/report-bug.png'); } .bug:active{ > background-image: url ('assets/down/report-bug.png'); } > .bug:disabled{ > background-image: url ('assets/disabled/report-bug.png'); > } > > It works well, but the problem with this approach is that it requires > multiple css entries for every button. > > Using it is done like this: > <comp:PanelButton id="bugButton" > enabled="{bugReportEnabled}" width="72" height="82" > x="19" y="283" > click="reportBug()" className="bug"/> > > I wanted to allow the following: > > <comp:PanelButton id="bugButton" > enabled="{bugReportEnabled}" width="72" height="82" > x="19" y="283" > click="reportBug()" className="bug" > image="assets/up/report-bug.png" > hoverImage="assets/over/report-bug.png" > activeImage="assets/down/report-bug.png" > disabledImage="assets/disabled/report-bug.png"/> > > However, this is harder than you’d expect in HTML. Apparently there’s > no way to set pseudo-styles using inline css.[1][2]. > > There are a couple of interesting work-arounds. One is using mouse > events.[3] Another is by creating CSS on the fly.[4] The answer assumes > that the css is created on the server, but using the ideas I proposed > in the ThemeManager class, that can be done on the client dynamically. > > The challenge with the last approach would be in guaranteeing the css > is unique to the images (or individual component). One option on that > front would be to generate UIDs when the component is instantiated. A > consideration is garbage-collecting CSS selectors when components might > be removed. > > I hope these ideas are helpful. > > Harbs > > [1]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsta > ckoverflow.com%2Fquestions%2F5293280%2Fcss-pseudo-classes-with-inline- > styles&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa7b1b5a7b3 > 4438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=krVr8HQkvOU3nq > ALzR4Hs5mzQbbB9m3v5uWgBzRkPII%3D&reserved=0 > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstack > overflow.com%2Fquestions%2F5293280%2Fcss-pseudo-classes-with-inline- > styles&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa7b1b5a7b3 > 4438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=krVr8HQkvOU3nq > ALzR4Hs5mzQbbB9m3v5uWgBzRkPII%3D&reserved=0> > [2]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsta > ckoverflow.com%2Fquestions%2F986618%2Fis-it-possible-to-create-inline- > pseudo- > styles&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa7b1b5a7b3 > 4438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=k3ItgYlMsw0VaX > W6VYAlmnV8UFy8ZucwIIH77ji%2FQHQ%3D&reserved=0 > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstack > overflow.com%2Fquestions%2F986618%2Fis-it-possible-to-create-inline- > pseudo- > styles&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa7b1b5a7b3 > 4438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=k3ItgYlMsw0VaX > W6VYAlmnV8UFy8ZucwIIH77ji%2FQHQ%3D&reserved=0> > [3]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsta > ckoverflow.com%2Fa%2F5293426%2F5475183&data=02%7C01%7C%7C24fb66825ebf4f > 27c58b08d525d21de0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6364565 > 06748081243&sdata=y%2FokgjdUZq87z%2FZYiGD10OMz0xe%2BkcQ9U2EyPn2umEM%3D& > reserved=0 > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstack > overflow.com%2Fa%2F5293426%2F5475183&data=02%7C01%7C%7C24fb66825ebf4f27 > c58b08d525d21de0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506 > 748081243&sdata=y%2FokgjdUZq87z%2FZYiGD10OMz0xe%2BkcQ9U2EyPn2umEM%3D&re > served=0> > [4]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsta > ckoverflow.com%2Fa%2F39712777%2F5475183&data=02%7C01%7C%7C24fb66825ebf4 > f27c58b08d525d21de0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456 > 506748081243&sdata=sZUQLlcFJDWwhXZYwCoI68%2BLIxNhJMFg7q0%2FzIEpEBI%3D&r > eserved=0 > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstack > overflow.com%2Fa%2F39712777%2F5475183&data=02%7C01%7C%7C24fb66825ebf4f2 > 7c58b08d525d21de0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63645650 > 6748081243&sdata=sZUQLlcFJDWwhXZYwCoI68%2BLIxNhJMFg7q0%2FzIEpEBI%3D&res > erved=0> > > On Nov 6, 2017, at 8:22 PM, Carlos Rovira > <carlosrov...@apache.org<mailto:carlosrov...@apache.org>> wrote: > > Hi Harbs, > > If we go with Basic as seems everybody suggest, I think we should not > mix with Express. We can "copy" some Express knowledge, but not make it > dependent, to avoid having a Frankenstein Basic is the core, and from > there we have Express and the new stylizable set > > 2017-11-05 22:01 GMT+01:00 Piotr Zarzycki > <piotrzarzyck...@gmail.com<mailto:piotrzarzyck...@gmail.com>>: > > I was thinking about that and new component set is the approach which > we should try, but we need to base on something. My first thoughts was > that it should be Basic, cause I bet that once we start create style > for each component we will end up with some issue or we would like to > create some additional features to those controls in order to make that > theme happen. > It leads my thought then farther let's say that we will start work in > following way: > 1) Basic is our base > 2) Carlos will prepare some appearance for component > 3) We are starting to work on that, but it's end up that our component > need some additional feature, which is do not suits for Basic > 4) We are adds that feature to Express and use in that place Express > component. > > It ends up that our component theme will be mix of Express and Basic > > Second approach is - Forget about Express, use Basic only and add to > Theme set features if needed. Express will be always separate set, FAT > and it will be responsibility for user if he would like to style it. - > If our implementation will be in Theme enough robust, user should be > able to use in his application Express with some styles from Theme set. > > Thoughts ? > Piotr > > > 2017-11-05 11:21 GMT+01:00 Harbs > <harbs.li...@gmail.com<mailto:harbs.li...@gmail.com>>: > > I would suggest starting a new component set with a fresh slate called > Themed (or something like that). > > The Themed component set should give priority to style-ablitity and > ease of use over just about every other consideration. I think of > Express as more of a middle-of the road approach to make things easier. > A Themed set would be more of a replacement for mx and spark. > > Yes. Definitely make a clear list of supported components. It’s > probably more important to have quality of components rather than > quantity. A few well constructed components is better than a lot of > half-baked ones. More components could always be added. > > I’m very glad to hear that Angelo is working with you. That’s great > news! > > Harbs > > On Nov 5, 2017, at 12:12 PM, Carlos Rovira < > carlos.rov...@codeoscopic.com<mailto:carlos.rov...@codeoscopic.com>> > wrote: > > ok Alex, > > so if I understand correctly, you mean that we create our own set, with > Basic as base right? > but we should go with Express? It's great that we could create many > sets in Royale, and I think the Basic use you commented is very licit > and didn't think about that. But we must think in some *main* set, > maybe is Express and that I want to focus this effort for that concrete > set. > > I mean, one important thing here is that we all agree in support a > concrete list of UI controls and components I plan to make a discuss > thread for this, since the theme feature will affect only to that > controls, and if we want to include a new one we should vote to include > it, since it implies to include in design, implementation and all > themes that we want to support. > > I think I'll create a discuss thread with this an other things we > talked about since this is a huge effort and is important for all the > people that will be involved to work around things discussed, voted and > approved by all. > We need to be synced here or we'll end working too much for somehitng > that does not get to be useful in the end. I want to ensure this before > to start investing a huge amount of time. > > As well I was contacted by Angelo and talk about all this. He's very > passionate as well on this and we'll seeing how we can combine our > efforts and if someone more wants to join us. > > I'll be writing the discussion thread in order to plan the effort in > short. > Stay tuned :) > > 2017-11-05 8:29 GMT+01:00 Alex Harui > <aha...@adobe.com.invalid<mailto:aha...@adobe.com.invalid>>: > > Hi Carlos, > > I think we're pretty much in agreement. Regarding Basic, for me, I > have created plenty of web pages with non-styleable checkboxes. I > don't care that the checkbox looks different on different browsers. I > just want the smallest simplest output. Just like taking an HTML > editor and slapping in a few tags and calling it done. Would that be > production? Sure, if I'm just want someone to check a box before > enabling a download button. > IOW, > it would be for internal customers only. > > So, IMO, a Skinnable/Themeable component set would be something else. > I think you will need that extra Span for a Checkbox. IMO, we should > just go and build these new components. And when we get it mostly > working, we can compare against Basic and see if we want to > parameterize the views in the low-level Basic components or not. > > My 2 cents, > -Alex > > On 11/4/17, 8:19 AM, > "carlos.rov...@gmail.com<mailto:carlos.rov...@gmail.com> on behalf of > Carlos Rovira" > <carlos.rov...@gmail.com<mailto:carlos.rov...@gmail.com> on behalf of > carlosrov...@apache.org<mailto:carlosrov...@apache.org>> wrote: > > HI Alex, > > > 2017-11-03 17:52 GMT+01:00 Alex Harui > <aha...@adobe.com.invalid<mailto:aha...@adobe.com.invalid>>: > > Hi Carlos, > > I skimmed through > https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fmaterial > .io%2Fguidelines%2F%23&data=02%7C01%7C% > 7Cbb03216ec0b84fcb6ab108d52397 > 82e0 > %7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0% > 7C636454056000808812&sdata=g5 > M5cpOsQUPasZfgmUddvnzmY3gF%2B1N%2B7j6Apgyf2Us%3D&reserved=0 last night. > > My impression is that there were two parts to it. First was the > environment/principles section which talked about physical objects and > light (and motion), and then there were choices of widgets. For > example, I didn't see anything in the first part that said that a text > input had to be a single line and couldn't be a box. > > > Material guidelines could be a great way to start, but trying to give > something different. > I think that we need to get something that looks great while be clearly > different to google material, bootstrap, and others so people could see > us as an alternative. That could make people copying us or adopting the > whole Apache Royale SDK that is what we want in the end > > > > > That made me think that we could use our widget set and apply Material > environment and principles to it. If we decide not to, I would think > you would want to have some sort of similar environment/principles > document which seems like a fair amount of work. I think we'd end up > looking different because we have different widgets and maybe some > different colors. I'm pretty sure that we don't want to be different > so much that we don't create things that folks want to use. The > priority to me is just to prove that you can alter every pixel in every > widget we have so that others can provide custom skins as well. So > starting with Material principles seems like it would save us time, we > can get something released, and can innovate more later. > > > I think as you that we need a way to make the "presentation" of each > component highly customizable. > And we need to be different in visualization (art, colors, ...) but not > in usability that is what people needs to be consistently > > > > > Maybe a good question for our users is: How many of you used the > default Flex skins vs a whole new set of skins? If most folks > completely re-skinned to match their corporate branding, it matters > less what our default is, and more that we can allow folks to customize > every pixel. > > > We need both: a skin that will be highly customizable and to change > skins to look very very different. > People with lees money or time in their Apps will choose the first. > People > that has more resources will go with the second. > Apache Royale needs to support both > > > The wireframe can be black and white, IMO. I was thinking that "vivid" > would have parameterized colors. > > > I started to think that wireframe could end having lots of > customization controls. For example: > > -2-3 main colors as we talked , and the same MDL does -possibilitiy to > be solid colors, or gradients -possibility to have backgrounds more or > less opaque > > if we see a concrete component like button: > > - configurable corners, square to round corners > - more blocky (relief) or more flat > ... > > So wireframe could be a concrete configuration of the main theme > > > > Since Bootstrap was mentioned, I want to point out that the Flat.swc is > a rough approximation of the Flat theme which is a Bootstrap theme. > It > is a > rough approximation because I could not use the Flat CSS file directly > since it contains much more advanced CSS than we currently support on > the SWF side. But it presumed that the Checkbox was a Label with a > Span that hides in front of or behind the <input type="check" /> in > order to allow customizing every pixel. Looks like MDL uses the same > Span trick but maybe without a symbol font. > > Basic is, IMO, truly meant to be Basic. I think the Basic Checkbox > should not have that extra Span. But it looks to me that a > SkinnableCheckbox can add that extra Span and you either give it the > same class name that BootStrap or MDL uses or create our own set of > classnames and the CSS that goes with it. > > > The problem with Basic could be that if is very very basic and looks > with a very basic look (as it is very poorly stylizable), I think > People will not use it at all, in this case, I'll don't understand the > goal with basic. It's intend ended as a base but to not use in > production? For this reason is what I want to know if you think this > theme feature could be plugged in basic or not. > > > > > Of course, I could be wrong. This is not my area of expertise at all. > > > Hi Alex, maybe UX is not your expertise area, but your help here is > very needed since we can get to great ideas in this field, but maybe > don't know how to bring it to implementation in Apache Royale. > I > think that you, Peter, Harbs,... are needed in order to make this > happen in the pure arquitecture side or this feature. > > Thanks > > -Alex > > > On 11/3/17, 1:35 AM, > "carlos.rov...@gmail.com<mailto:carlos.rov...@gmail.com> on behalf of > Carlos Rovira" > <carlos.rov...@gmail.com<mailto:carlos.rov...@gmail.com> on behalf of > carlos.rov...@codeoscopic.com<mailto:carlos.rov...@codeoscopic.com> > > wrote: > > Hi Alex, > > 2017-11-03 7:39 GMT+01:00 Alex Harui > <aha...@adobe.com.invalid<mailto:aha...@adobe.com.invalid>>: > > Hi Carlos, > > Looks good to me. Thanks for doing this. > > > Thanks :) > > > I'm not sure I understand all of the aspects of this effort. My > current understanding is that Google Material is under the Apache > License and thus we can use it if we want to. Am I correct that > MaterialDesignLite is one implementation of Google Material and we > could create our own implementation and it could be visually different? > > > We can implement our own material in Royale, but I'm afraid that doing > that will not make us highlight our solution against the rest of > competitors. Another point is something I said various times: > When I did MDL, I notice a huge problem: MDL has its own set of > components, some are in all sets (Button) but others not (Card), and > they has it's own implementation, what make it almost impossible > generalize a theme. For this reason I always point that we need our own > set and there we can implement themes. But other > *externa* sets will never get this since they have its own > implementation and most important once you start to develop with MDL > you can't go back and change for other. So MDL is for me something we > have until our own set are robust and highly configurable in both the > things we can do and how can it could be represented, and switch > between style should be really easy to change the global look of an App > without much hassle. > > > > Also, IIRC, Material has different components than Flex did so we'd > have to invent some new looks anyway. So having a TextInput with > borders all around would just be our flavor of Material. > > > That's what I point above. We must to *freeze* the list of components > at some time work over a concrete set We can then plan in the future > include a new component in the official set, and that will need to work > on the themes we already have to include the new one. > > > > Regarding colors, it looks like Material is parameterized around a > couple of colors. So if we did our skins to work against parameterized > colors then would it really matter what color we choose? > > > That's completly right. I could make wireframe based on two or three > colors and as you change it in CSS all controls should tint > consistently. > > > > Regarding Basic components, right now Checkbox is a <label><input > type="check"/>caption</label>. AIUI, you cannot style the <input> on > many browsers, so I think we have to have a different set of elements > in a checkbox. It looks like Bootstrap uses: > > <label><input type="check"/><span />Caption</label> > > Where the span uses a special symbol font with checked and unchecked > boxes. > > > That's what we need to figure. Should we make themes available in > Basic? > if > so, has basic the right implementation? > If not, and if we don't want to change the actual very basic > implementation, we need to put some "skin" implementation that at least > in JS implementation I figure that will change one face (the actual > basic) with the theme face. > > I'm thinking loud, since this is something we should explorer all > together mixing the best ideas of people involved > > Thanks > > > > > Thanks, > Alex > > On 11/2/17, 5:15 PM, > "carlos.rov...@gmail.com<mailto:carlos.rov...@gmail.com> on behalf of > Carlos Rovira" > <carlos.rov...@gmail.com<mailto:carlos.rov...@gmail.com> on behalf of > carlosrov...@apache.org<mailto:carlosrov...@apache.org>> > wrote: > > Hi, > > I want to expose my initial work (very very initial) on two styles for > Royale > > > Wireframe: > https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fsnag.gy%2 > FtDFxQT.jpg&data=02%7C01%7C%7C203485b5b9c744aed92608d52250 > 0f48%7Cfa7b1b5a7 > b34438794aed2c178decee1%7C0%7C0%7C636452649612378558& > sdata=%2Fk8YQxC5bDOaC > D8ZfcTzpuqZyBNTKKvkFgqDgnnWZ%2BA%3D&reserved=0 > > (Wireframe intention is for quick Royale App prototyping, people will > use this to start their applications, and then moving to it's own > styling that could be another royale theme provided by us, or something > done by users. > > Vivid (to put some temporal name): > https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fsnag.gy%2 > FqKShm0.jpg&data=02%7C01%7C%7C203485b5b9c744aed92608d52250 > 0f48%7Cfa7b1b5a7 > b34438794aed2c178decee1%7C0%7C0%7C636452649612378558& > sdata=kxYE7ylOsXPUEeE > r%2BU3AnSe9zEyqgqmsIAAYW6nVuGs%3D&reserved=0 > > (*Please, Notice that only the first button has some styling > here*) > (This theme could be the default theme for royale components like halo > was for mx and spark was for spark) > > I want to put in place all the main components, so I would need some > "component list" (Button, TextInput, CheckBox,...and what more?.), and > we'll be centering all the effort in only that list of components. > We need to "paint" all and the code all. > > The concept of theme involve a concrete set of components (and this > bring us again if we should do this to be pluggable for Basic, or go > directly with Express, I think even Basic should be able to use a theme > maybe using beads to be PAYG) > > So, before continue tomorrow, I want some feedback on this: > > * I think Wireframe is clearly something Black&White, maybe as I did, > in some grey scale colors. But for Vivid, I'm still figuring if it > should be something "flat" and very simple, or go with something more > elaborated since the thing I did in the example with orange button. > > * I like the look and feel of Google Material, how textfields looks and > behaves, the animations, and visual concepts. But the problem is that > all that visuals are clearly Google Material. Should we create > something more new? This has a problem that maybe we could reach > something great....or not, and is more work to iterate something until > we reach a good point. > For example, the text input I created has the classic box look, for me > Material Design is better with only a bootom line, but the first is > more generalist, while the second is clearly google, android,... I > could try to think in something new a see what happens > > * In the other hand, someone would want to join me in this effort? > If > so I > could center in the design part, and other person could work with me on > the example project "RoyaleThemes". The example app is very important, > since it could have a playground for every component so we can tweak at > runtime. we could even generate the code to get that look...this could > be like FlexThemeManager App that we had in the Flex days. > > * About colors for the second again, don't have any preferences right > now, I put the same colors that use on the web in the first button, but > as I said before things (colors and forms) could change dramatically in > the second set. In the first one (Wireframe) I think it's ok to go the > path exposed in the image example. > > Thanks for your comments on this, we'll be defining what we want as we > comment here ok? > I'm done for today, > > > > > > > 2017-11-02 14:22 GMT+01:00 Carlos Rovira < > carlosrov...@apache.org<mailto:carlosrov...@apache.org> > : > > Thanks Harbs! > > very useful, I'll be keeping this info as I make some work > > Carlos > > 2017-11-02 12:13 GMT+01:00 Harbs > <harbs.li...@gmail.com<mailto:harbs.li...@gmail.com>>: > > BTW, the kind of thing we should be striving for in theme-able > components is something like this: > > > https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fvcalend > ar.netlify.com<http://ar.netlify.com>%2F&data=02%7C01%7C% > 7C203485b5b9c744aed92608d52250 > 0f48%7Cf > > a7b1b5a7b34438794aed2c178decee1%7C0%7C0% > 7C636452649612378558&sdata= > b3VtV > VdACL0Z2EVnIFo2%2BgqSFmJMocDL6k%2Ba6A1ewco%3D&reserved=0 > <https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fvcalen > dar.netlify.com<http://dar.netlify.com>%2F&data=02%7C01%7C% > 7C203485b5b9c744aed92608d52250 > 0f48%7C > > fa7b1b5a7b34438794aed2c178decee1%7C0%7C0% > 7C636452649612378558&sdata= > b3Vt > VVdACL0Z2EVnIFo2%2BgqSFmJMocDL6k%2Ba6A1ewco%3D&reserved=0> > > On Nov 2, 2017, at 12:01 PM, Harbs > <harbs.li...@gmail.com<mailto:harbs.li...@gmail.com>> > wrote: > > FYI, I worked out a theming class for my (Royale) InDesign extensions > which allows for setting global CSS at runtime. The approach might be > useful in your theming effort: > > https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fpaste.a > pache.org<http://pache.org>%2FcOBC&data=02%7C01%7C% > 7C203485b5b9c744aed92608d52250 > 0f48%7Cfa > 7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636452649612378558& > sdata=bRWKxm > LL16u%2B48IXYdA%2FoEtLWF3eU%2FIGQzBfcVCar5g%3D&reserved=0 > > <https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Fpast > e > . > apache.org<http://apache.org>%2FcOBC&data=02%7C01%7C% > 7C203485b5b9c744aed92608d52250 > 0f48%7Cf > > a7b1b5a7b34438794aed2c178decee1%7C0%7C0% > 7C636452649612378558&sdata= > bRWKx > mLL16u%2B48IXYdA%2FoEtLWF3eU%2FIGQzBfcVCar5g%3D&reserved=0> > > (Some of the code is specific to Adobe Extensions.) > > Some pointers: > I used inject_html because I needed some overrides in a CSS file. > I > might have been able to rework it so the CSS file was not needed. > > There is a function called createStyleSheet which is commented out. > That creates a stylesheet called “royale_theme_styles”. It’s the same > as including a blank css file with the same name, but it’s loaded > dynamically rather than requiring the file to be included. If that > function is used inject_html is not necessary. > > The order of dynamically loaded CSS has the same rules as CSS loaded > via declaring it in HTML and the later ones override the earlier ones. > We > can probably take advantage of that for different levels of defaults. > > HTH, > Harbs > > On Nov 1, 2017, at 8:05 PM, Carlos Rovira > <carlosrov...@apache.org<mailto:carlosrov...@apache.org> > <mailto:carlosrov...@apache.org>> wrote: > > Hi, > > I think I could start to try what Harbs expose, although I think what I > will need in the end is to control some SVG parts with variables. > Maybe > with the showed SVG/CSS relation could be sufficient. I'll be showing > how limitations I find. As well as Alex said having inline SVG as HTML > would be very useful. > > 2017-11-01 18:27 GMT+01:00 Harbs > <harbs.li...@gmail.com<mailto:harbs.li...@gmail.com> > <mailto: > harbs.li...@gmail.com<mailto:harbs.li...@gmail.com>>>: > > I’m not sure. I haven’t seen problems. > > The only issues that come to mind are: > 1. There’s no load events on SVG images on Microsoft browsers. > 2. Chrome has issues with SVG, transforms and fractional pixels. > 3. There’s some blending issues that different browsers handle > differently depending on isolation modes. > > There’s likely other issues, but these are ones that I’ve had to deal > with. > > The major gotcha in terms of mixing HTML and SVG is that HTML can not > be nested inside SVG without ForeignObject. ForeignObject does not have > full browser support. > > On Nov 1, 2017, at 7:08 PM, Alex Harui > <aha...@adobe.com.INVALID<mailto:aha...@adobe.com.INVALID> > <mailto:aha...@adobe.com.INVALID>> wrote: > > A couple of years ago, I thought I had learned that some browsers had > issues with SVG background-images. Maybe psuedo-states were involved, > but a Button might "blink" as it changed states and loaded an SVG > background-image. Do we know if that was just a bug in some browser or > is that still a concern? > > I think I would like to see a simple set of HTML/SVG/CSS/JS that shows > how any declarative SVG and JS have to work together to handle > resizable skins/components. Then it might be more obvious what needs > to change in the tooling. We allow inline HTML now in MXML. I think > we can/should allow inline SVG, but for both inline HTML and SVG, id's > in the inline content do not become id's to MXML and AS. > > HTH, > -Alex > > > > > > > > > -- > Carlos Rovira > > https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fabout.me<http://2Fabout.me>% > 2Fcarlosrovira&data=02%7C01%7C%7C203485b5b9c744aed92608d52250 > 0f48%7Cfa7b1 > b5a7b34438794aed2c178decee1%7C0%7C0%7C636452649612378558& > sdata=C7a72gwfH2 > 64wTla%2Fl%2FT9fLB5ODZWiSnRqIzGfFCREU%3D&reserved=0 > > > > > -- > Carlos Rovira > https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fabout.me<http://2Fabout.me>%2 > Fcarlosrovira&data=02%7C01%7C%7C203485b5b9c744aed92608d52250 > 0f48%7Cfa7b1b5 > a7b34438794aed2c178decee1%7C0%7C0%7C636452649612378558& > sdata=C7a72gwfH264w > Tla%2Fl%2FT9fLB5ODZWiSnRqIzGfFCREU%3D&reserved=0 > > > > > -- > > <https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fwww.codeo > scopic.com<http://scopic.com>&data=02%7C01%7C%7C6422929d95d1406eaa1c08d > 52295 > d8cf%7Cfa7b1b5a7b > 34438794aed2c178decee1%7C0%7C0%7C636452949347201523& > sdata=Hm%2B6WIcqQTOHs0 > UppUdckW%2FhhyzErprotQUOZNtUtXU%3D&reserved=0> > > Carlos Rovira > > Director General > > M: +34 607 22 60 05 > > https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fwww.codeos > copic.com<http://copic.com>&data=02%7C01%7C%7C6422929d95d1406eaa1c08d52 > 295 > d8cf%7Cfa7b1b5a7b3 > 4438794aed2c178decee1%7C0%7C0%7C636452949347201523& > sdata=Hm%2B6WIcqQTOHs0U > ppUdckW%2FhhyzErprotQUOZNtUtXU%3D&reserved=0 > > > Conocenos Avant2 en 1 minuto! > <https://na01.safelinks.protection.outlook.com/?url= > https%3A%2F%2Favant2.e > s%2F%23video&data=02%7C01%7C%7C6422929d95d1406eaa1c08d52295 > d8cf%7Cfa7b1b5a > 7b34438794aed2c178decee1%7C0%7C0%7C636452949347201523& > sdata=b%2FFMr1Ajit94 > TOU%2BjWNuqeN%2FKAiwo7%2BpEVTx8mWLCSc%3D&reserved=0> > > > Este mensaje se dirige exclusivamente a su destinatario y puede > contener información privilegiada o confidencial. Si ha recibido este > mensaje por error, le rogamos que nos lo comunique inmediatamente por > esta misma vía y proceda a su destrucción. > > De la vigente Ley Orgánica de Protección de Datos (15/1999), le > comunicamos que sus datos forman parte de un fichero cuyo responsable > es CODEOSCOPIC S.A. La finalidad de dicho tratamiento es facilitar la > prestación del servicio o información solicitados, teniendo usted > derecho de acceso, rectificación, cancelación y oposición de sus datos > dirigiéndose a nuestras oficinas c/ Paseo de la Habana 9-11, 28036, > Madrid con la documentación necesaria. > > > > > -- > Carlos Rovira > https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fabout.me<http://2Fabout.me>%2 > Fcarlosrovira&data=02%7C01%7C%7Cbb03216ec0b84fcb6ab108d52397 > 82e0%7Cfa7b1b5 > a7b34438794aed2c178decee1%7C0%7C0%7C636454056000808812& > sdata=wYPMWW1wpTbtm > pTt%2F%2FmFuHwgl5nHByLpMuG0lUVba9w%3D&reserved=0 > > > > > -- > > <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.co > deoscopic.com&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa7b > 1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=7oFpGJ9 > 5n%2FJh07KhDfmRnzFO7hyFwdlFZkz49OGjFq8%3D&reserved=0> > > Carlos Rovira > > Director General > > M: +34 607 22 60 05 > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cod > eoscopic.com&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa7b1 > b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=7oFpGJ95 > n%2FJh07KhDfmRnzFO7hyFwdlFZkz49OGjFq8%3D&reserved=0 > > > Conocenos Avant2 en 1 minuto! > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Favant > 2.es%2F%23video&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cfa > 7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=Df4JB > WaWmTrEZYwvr1NTQBLOInEPtyF92ACWbYi4%2FL4%3D&reserved=0> > > > Este mensaje se dirige exclusivamente a su destinatario y puede > contener información privilegiada o confidencial. Si ha recibido este > mensaje por error, le rogamos que nos lo comunique inmediatamente por > esta misma vía y proceda a su destrucción. > > De la vigente Ley Orgánica de Protección de Datos (15/1999), le > comunicamos que sus datos forman parte de un fichero cuyo responsable > es CODEOSCOPIC S.A. La finalidad de dicho tratamiento es facilitar la > prestación del servicio o información solicitados, teniendo usted > derecho de acceso, rectificación, cancelación y oposición de sus datos > dirigiéndose a nuestras oficinas c/ Paseo de la Habana 9-11, 28036, > Madrid con la documentación necesaria. > > > > > -- > > Piotr Zarzycki > > Patreon: > *https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.p > atreon.com%2Fpiotrzarzycki&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525 > d21de0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243& > sdata=sUBa9rnF1xMg4Pr1R6bGxzUl7m7qiGIaDrL%2FQKkeOtY%3D&reserved=0 > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.p > atreon.com%2Fpiotrzarzycki&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525 > d21de0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243& > sdata=sUBa9rnF1xMg4Pr1R6bGxzUl7m7qiGIaDrL%2FQKkeOtY%3D&reserved=0>* > > > > > -- > Carlos Rovira > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.m > e%2Fcarlosrovira&data=02%7C01%7C%7C24fb66825ebf4f27c58b08d525d21de0%7Cf > a7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636456506748081243&sdata=KwVv > Fzo8w1oV00kHzCxI3Wyn0UlqIfyFWnazDdPpwrk%3D&reserved=0