Glide 2?

Well, I’ve finally updated to 4.3 (except the Cobra 2 which still refuses). With all the updated libraries I’ve created it’s time for me to put something useful together.

Since Glide was initially based on Pyxis as long as GHI I doesn’t mind, I thought it was about time it got a bit of a Skewworks make over.

The difference betwen Glide and Pyxis is Glide really focused on ease of use while Pyxis (and all the Skewworks packages that followed) focused on giving you the greatest number of options, often and the cost of being able to just jump right in.

I want to keep the FEZy nature of Glide with this new version. Backwards compatible with XML loading and only minor differences in starting it up. The big difference is going to be in a couple of places.

First Glide deserves the full range of input options that Clix & Tinkr have; I’m talking touch, mouse, keyboard and custom IO buttons that the controls natively know how to deal with.

Second the OSK (on screen keyboard) is begging for the ability to adapt to screen size and have custom layouts for different languages.

Third all the controls are going to get a bit of a facelift. Added support for different inputs and a bit of a GUI update.

Finally, the almighty Grid control! OK, maybe it’s not almighty but it’s damn useful. Imagine creating your screen once in Glide Editor or Motif and having it work on any screen size. That’s the beauty of Grid it can do % sizes, auto sizes, literal sizes or any combination thereof.

There may even be a few other treats like Dialogs, Pickers and custom load screens.



Have thought about separating the render code for each control in an extra class, so it could be exchanged easily?


class Control
   public static ControlRendere Renderer { get; set; }

  protected override Render(...)

class abstract ControlRenderer
  public abstract void Render(...);

1 Like

Web browser control? :wink:

Keep it up. You always amaze me.

@ Reinhard Ostermeier - Sure. That’s how I’ve traditionally done it with my controls.

@ Ian - That will he finished eventually. Got a pretty good start already. But I wouldnt hold my breath just yet. :slight_smile:

1 Like

Yes that will definitely be a part of the updating. Its right in there with the keyboard and mouse support.

I even have a pre and post flush event for those putting on a mouse cursor or custom overlays.

Does anyone have an existing Glide project they wouldn’t mind sharing for me to test backwards compatibility?

Should be some on Codeshare.

I can send you something that was running on a Cobra 2 with the 3.5 LCD.

It suffers from failure to detect touch if the Zigbee is active so it would be good if this issue was resolved at the same time.

Note that I have not updated this to 4.3 as the project is no longer in active use bit it does have a fair but running that should be good for testing.

PM me your email and I will send you the source.

Support for alternative button images would be good and allow some nice looking front ends as currently the buttons are a little boring for some displays.

It’s probably a bit of work but hiding controls does not work once the screen is drawn. The only way you can do this currently is to hide them as you create the window. A way to hide them on the fly would be ideal and save having to redraw the whole screen which is not as neat or efficient.

Yeah if you want to send that along I’ll have a look at it, thanks. :slight_smile:

Buttons are now drawn, not pre-rendered. They are very much like Clix buttons you can have a border color with top and bottom gradient colors (use the same for both if you want a solid color).

Hiding controls will work perfectly now. As with Clix/Tinkr, Glide2 will not store rendered images. It draws as needed. A control that is set to invisible will cause that area of the screen to render and flush.

While I wait for someone for GHI to go ahead and green flag Glide 2 I’m still working on my other fun side project.

My latest NETMF PC uses all the classes I’ve shared out recently (updated for 4.3) and has the neat feature of loading all its drivers off the SD at boot time. Thanks to 4.3 letting me hit the SD from any GHI board the PC I’m creating on the Raptor should work on anything as long as I put drivers in the \SD\System\Driver folder for whatever modules I decide to use.

Checkout the boot screen loading up my RTC, Music, LiPo and T43 drivers.

1 Like

@ Skewworks - GLIDE is open source ;D

I get that it’s open source but I want to make sure GHI has no issue with me releasing an entirely new version with the same name. It will not be Glide 1.X with some updates, it’s a completely different beast that’s backwards compatible.

My only worry is that this will be confusing others. Why not start it with a development name for now then we can all, as a community, decide if we want to switch to the new version you are making?

Of course I am assuming you will release it under the same license and for free?

1 Like

Knowing Skewworks, I would assume that too. But…if you want to safely assume that then you should change the license on Glide to GPL since Apache 2.0 does not require that his contributions be released under the same license.

@ ianlee74 - correct but you shouldn’t use the same name, which is the topic here.

Yes it will be. I could start under a different name, no problem. That’s why I was trying to reach out to the community from the start. :smiley:

1 Like

@ Skewworks

Feel free to use my project if you like:

Check under the Resources Directory for all the screen layouts.

I’m planning on getting back into this with a Raptor and the T43 display (It was originally the T35) so if you need any testers to play around with the new version I’m willing.



I’m not going to be able to upload until I get back next week but upgraded Glide controls will be part of my next NuGit upload.

The best part? A port of VDS for NETMF…yeah, you can design your Glide windows right on your device. Pictures will be up this weekend. I’d do a video too but the internet here is just too slow.