It’s been a long time coming but Synth (the follow up to Clic and Tinkr) is finally available for download on the all new www.skewworks.com.
Apart from the usual controls and application launch capabilities, Synth comes loaded with extensions for strings, FileStreams, DateTime and more along with support for NetBIOS, CIFS and XML without having to use the outdated NETMF XML namespace.
This is only a Release Candidate and I still need to get documentation up (I’ve been swamped) but if you have used Clix or Tinkr it will come naturally.
Here’s a sample to get you off and running.
Display.Initialize();
Fonts.Initialize();
Page p = new Page();
P.AddChild(new Button("Hello world", Fonts.Local.Normal, 4, 4));
Display.ActivePage = p;
The gesture point can always be null. It’s provided in the event you want to track where a gesture starts and ends. In the case of a normal touch it’s ignored completely and not even passed to the control.
Will you be adding the ability to load controls from an XML like to had with Tinkr? I don’t see anything in the Page control to do this as yet.
I like the ability to use something like your graphical editor to create the basic layout with a GUI and then load from XML and add any additional control or update them via code. This is a nice feature with the likes of Glide and reduces the code overhead when you are making each display page.
Any plans to do a graphical GUI editor for it? I don’t see any way at present to load from an XML file. That reduces the code size as you don’t need to write code to create each and every control for each window.
Yes I’ve been creating a JQuery/CSS editor for it.
I have done this for previous projects, the managed code for it is too slow to be helpful but I did create a RLP solution that worked fast enough. I’d have to think a bit on the best way to integrate that.
@ Dave, sorry I didn’t get that update out…I threw my back out (insert “old man” statements here).
I might actually push things back a bit anyway, there’s something I’m working on that I want to properly support multitouch with, so might just as well put that into Synth.
Well then you’ll be happy to know I already have the multitouch working. All the controls now respond to a touchId that coupled with the Cap display allows you to independently work with 5 controls at once.
There’s a bit of an overhaul happening as well. You no longer will have to Initialize() anything while still retaining the multiple app domain support.
This will keep things simple for the users (though its a bit more complicated on my end).
I have a question for you and the others though. How do we feel about the Themes that I introduced awhile ago? Do we want to keep that or revert to setting individual control appearances?
I’ve set up an Enum for the special fonts as well, don’t remember if that made it to the first release or not.
I may be getting a little out of control here. :think:
You can now load fonts. They have to be packaged in a library because of how NETMF handles things, but it’s pretty interesting to see. The font manager lets you request a font by Name, Name & Size, Name/Size & Bold/Italic. If it can’t find an exact match it fails back to Name & Size, then Size, then Name only then the one default font that’s loaded.
I also like the idea of ability to use bitmaps for the buttons. It actually would be nice to have two bitmaps for (enabled and disabled) button.
When is the graphical editor will be available? (not a big issue for me as I can cook-up a simple editor to generate code or just load controls dynamically from the XML generated by Glide designer at runtime)
Is there are any examples how to use other controls beside buttons?
How to use Themes?
I will release an install Monday whatever state it’s in so you can play :). Almost everything I’m doing is behind the scenes, but the impact is dramatic. You will see a new RC but definitely don’t look for a designer. There will be a sample to go with it though.
Here’s some stuff I’ve been working on:
[ol]You no longer call .Initialize() on anything
Re-introduced Cursor class
All controls support a CursorType (Defaults + Custom)
Introduced the first ever (as far as I know) dynamic font loading (oooooh yeah!)
Added ability to get fonts by any combination of Name/Size/Bold/Italic
Added FlexBitmap which allows you to use Bitmap/Image32/GIF89a interchangably
Added .ClientArea to all containers. This removes the need for TabDialogs or Windows to have Panels inside them.
Re-introduced Windows!
Windows replace Pages (just use Borderless)
Re-introduced navigation (GoForward, GoBack, ClearBack, CanGoForward, CanGoBack)
Changed Themes to SystemColors so controls can grab default colors but be easily overwritten (that was the drawback to Themes)
Removed mandatory Name in constructors (still supported for using designer, just not required if you’re working in code)
GIF89a icons for windows!
Animated Cursors!
More to come[/ol]