Main Site Documentation

Glide -- Graphical Library for NETMF


The Window does not currently implement a TapEvent trigger.

When a Window receives a touch event it’s passed to the children from last added to first. If an element implements a tap event that’s triggered then the event is flagged and nobody else will receive it. This prevents tap enabled elements that are intersecting from triggering multiple actions.

What are you trying to achieve so we can create a solution.


You could always add a little more logic to the window for taps.

  1. Cycle through controls FIFI or LIFO (either way)
  2. Does control bounds contain point?
    yes) Control handles event; break
    no) Carry On
  3. Still here? Raise a FormTap event.


Thanks skew. We plan on doing what you mention. I also wanted to hear how peterd intends to use such functionality to make sure it will work for him.


Hi Josh,

I would use the window tapevent for switching on the backlight of the display. It will turned off when it’s not used for some time.




Something strange!

When you look at the photo, you see a button with the text :“Steamer on”. Left of that there’s a similar (same size and TextFont) button with text “Infrared on”. I made it invisible, but the text can still be seen.



I am using the datagrid which is very nice, but the scrolling is not the most responsive due to the type of touch screen. Is there a way to programmatically scroll the grid? You could do it with a button at the bottom of the screen or a hardware button tied to an IO pin.


I like the idea of manual scrolling on the grid. I think it should be added.


Glide V 0.1.3

If no component handles a tap, the Window will trigger a tap event.

This update includes CalibrationWindow.

DataGrid now offers ScrollUp and ScrollDown.

The Separator component has been removed (too simple can be done with DrawLine).


Awesome, thanks, will try it out this evening. Based on this code from your example:

static void InitCalWin()
            // Creating the calibration window with TRUE will cause it to save
            // the calibration settings using weak references. This allows
            // future boot-ups to restore the last saved settings.
            calibrationWindow = new CalibrationWindow(true);
            calibrationWindow.CloseEvent += new OnClose(calibrationWindow_CloseEvent);

Is there any way to test to see if the calibration is saved so you don’t run this if you don’t need to? Thanks guys.


@ peterd
I’m not sure why “ghosting” happens but I’ve personally noticed it too.

@ Stephen Hamilton
Not at the moment, but this is a good suggestion and it will be in the next release.


Yes, but not in the xml code ???
This is more code for a simple seperator, could you please leave the seperator in the lib ?



Just a quick note. the Calibration works great, THANKS! What I found was this. After you have run it the first time without rebooting the Cobra, if you open the calibration window again, it recognizes that it is already calibrated and just shows the “Exit” button. If you reboot and open the calibration window, it allows you to re-calibrate. If I had my choice of small changes, they would be these:

  1. I would like it to recognize that it is calibrated but instead of simply showing “Exit”, allow the user to either calibrate again (hey, you never know, they may think it needs it) by showing the start button but also show the exit button as well…just a thought

  2. As in my previous post, if it would recognize this same thing after a reboot, that would be fantastic.

Now then, as it is, you guys have done a fantastic job and removed a huge workload, so, if you change nothing about the calibration, it will still be AWESOME!!! But, if you can work in these “small” changes, that would be AWESOME also! :smiley:


Another one, the ComboBox is bugy.
The choices from the ComboBox don’t lay above all other elements.
And the combobox itself stay on top not in the background.
In 0.1.2 all worked well.



Is it possible to mix Glide with the microsoft presentation class ?
How can i draw a line when the seperator is removed ?



You can probably mix glide with WPF and with raw Bitmap drawing but we do not provide support for that


I upgraded to the latest version of Glide, but now the OpenKeyboard doesn’t cover the screen properly. I can see parts of the previous screen. It appears that the pop-up keyboard doesn’t cover up the screen like it used to or is behind the calling screen. In one case I had a button in the bottom right and when the pop-up keyboard came up, the button was over some of the keys. It also seems unresponsive. Sometimes it worked and responded to the keypresses, but some of the time it didn’t respond to key presses. If I re-boot the ChipworkX, it works for a bit, but then becomes non-responsive.


I’m not very familiar with wpf, I play a little bit with the mix based on glide and wpf, but for me it can’t be mixed. Glide is using another object junction than wpf. Maybe I’m stupid, could you short explain how to use drawline from wpf to draw something in a glide window, similar a glide separator ?



@ af6767

Inside each Window is a Parent property. The Parent is a DisplayObjectContainer that has a Graphics property (Bitmap). For example the following would work:

myWindow.Parent.Graphics.DrawLine(Colors.Black, 1, 10, 10, 100, 10);

You must either render or invalidate it to the screen.


Thanks Josh!


@ Josh
Mhm, the Parent property is always null, so i get an exception.
Have you a hint ?