Glide doesn't support dynamic control's coordinates and background update!

I have a non-fullscreen window with 3 text blocks displaying system time ticks. Then I programmatically move the window by changing its X and Y coordinates.

Result is terrible!

Please consider the code:


public class Program
    {
        static Window window;
 
        public static void Main()
        {
            string xml;
            xml = "<Glide Version=\"" + Glide.Version + "\">";
            xml += "<Window Name=\"window\" Width=\"300\" Height=\"90\" BackColor=\"eeeeee\">";
            xml += "</Window>";
            xml += "</Glide>";
 
            Glide.FitToScreen = false;
            // and here we keep seeing this crapy "loading" image at the background!!!
 
            window = GlideLoader.LoadWindow(xml);

            for (int i = 0; i < 3; i++)
                window.AddChild(new TextBlock("lbl", 255, 10, 20 * i, 250, 20));

            Glide.MainWindow = window;

            new Thread(delegate()
            {
                while (true)
                {
                    DateTime dt = DateTime.Now;

                    for (int j = 0; j < window.NumChildren; j++)
                    {
                        TextBlock lbl = (TextBlock)window[j];
                        lbl.Text = dt.Ticks.ToString();
                        window.FillRect(lbl.Rect);
                        lbl.Invalidate();
                    }

                    Thread.Sleep(10);
                }
            }
            ).Start();

            new Thread(delegate()
            {
                while (true)
                {
                    window.X += 10;
                    window.Y += 10;

                    if (window.X >= Microsoft.SPOT.Presentation.SystemMetrics.ScreenWidth - 50)
                        window.X = 0;
                    if (window.Y >= Microsoft.SPOT.Presentation.SystemMetrics.ScreenHeight - 50)
                        window.Y = 0;
                    window.Invalidate();

                    Thread.Sleep(10);
                }
            }
            ).Start();

            Thread.Sleep(-1);
        }
    }

:wall: :wall: :wall:
:snooty: :snooty: :snooty:

From DisplayObject.cs:


public virtual void Invalidate()
        {
            Render();
            Glide.Flush(this);
        }

From Glide.cs:
:o :o :o Who could write this?


public static void Flush(DisplayObject displayObject)
{
    Flush(displayObject.Parent.X + displayObject.X, displayObject.Parent.Y + displayObject.Y, displayObject.Width, displayObject.Height);
}

Where is handling repainting of previously occupied area???

Guys!
You assumed the UI will be always static???
:clap: :clap: :clap:
I’ve lost in words…

The same is with .NET Clix!

You have full source code now. You can change it anyway you like.

No, thanks. It’s easier to write all things from scratch!
I’m now developing my own UI library.

:think:

Have you give up Glide support and developing?

:’(

[quote]No, thanks. It’s easier to write all things from scratch!
I’m now developing my own UI library.[/quote]
We look forward to see it. I am sure others are waiting as well.

Absolutely not. Glide is one of GHI’s main products that we are also proud of :slight_smile:

Is it possible to post short video here?
I’d like to show test of this task on Glide, .NET Clix and my library.

Post it on youtube/vimeo and link it here.

Ok, thank you

So here’s a link.
Quality isn’t good enough by it’s enough to get the idea.

[url]Glide, .NET Clix and my library performance - YouTube

I see what you mean.

One of the main rules in embedded world is - think small.
You implement only what is necessary. Glide is very “young” it is not even 1 year old. I guess there was no need for dynamic UI so far and that is why the functionality you are talking about is not there. Nobody really asked for it yet.

@ Valen

Well said!

Adding support for dynamic layouting to Glide will require to completely rework its rendering code! There are no reserved possibilities for that now.

And what about animations (fading/sliding) that Glide is now pretending for?

I’m asking for it now!
I’m needing it for my product.
I really need the ui which looks and works professional, not like made by a schoolboy.

Is it reasonable?

What for I should pay money for commercial use if I can reproduce Glide current core functionality from scratch during a couples of nights?

for now it’s much less than small

Our actions define who we are. A professional or a schoolboy.

Well, it looks like Glide, at its current state, is not what you need. There is also Microsoft Presentation libraries on MF, you might want to try that instead or “reproduce” something in a couple of nights.

Or are the tasks that I experienced very smart and hard? They are standard simple fundamental tasks which any ui engine basically should be possible to perform. :naughty:

I looked through its code thoroughly and it seems like MS ported its wpf to netmf without enough optimization. Code looks so that it’s wonderful to have it even somehow working at tiny devices.

btw, I already made about 20 wpf controls for netmf and they work more or less good.

I don’t really understand why you are so satisfied with things that are valid for no more than simply have fun and don’t want to make them more professional ???

such a lovely GHI hardware and such a … software :cry:

Gus wrote:

This was an unprofessional statement.

You are writing your own library, why are you still commenting on libraries that do not meet your requirements? You are not making friends here.

it wasn’t about Glide, it was about my needs

and that’s why I began trying and testing Glide

you really shouldn’t treat me as an enemy :wink:

once we discussed things here and it seems still nobody cares…

moving window on screen is not a magic requirement though

Not only critics from me though… You can find some of my code improvements on code.tinyclr