Hello,
So I'm embarking into an area I have little experience in. I've done minimal gui programming but find myself needing/wanting to use DirectFB for a couple projects. I've worked through some of the examples and tutorials. As well as modifying my own "learning" code. What I still kinda fail to understand is the concept/difference of windows vs layers vs surfaces. I think I have a good understanding of them but I'm still not sure. Each example kinda goes at the whole thing differently. I understand that each layer & window has a surface, and it is to the surface that I would do all the drawing/blitting. What I don't understand is the difference between a layer and a window.


Windows:
        Receive events
        Can be stacked
        Can be made of multiple layers (ie video overlay on a window?)

Layers:
        Don't receive events    
        Stacked..?

I find myself trying to create a program that will have exclusive control of the FB. Kiosk type system. So I imagine I won't need windows since the whole thing is being used and exclusively. Though each part of the program needs to be able to accept events (which I have learned going through the examples). I find though using windows, I can update only part of the whole "screen" which I assume is a good thing since blitting a portion versus the whole thing would seem to be faster..?

Since I would be going with a windowless system I assume I would need to handle the location of mouse clicks & translate that to the button location as well as any input. Since there is no *focus* per say as there would be on a window version?

So after all that blabbering. Is there more documentation besides the API docs on www.directfb.org that could explain the subtle differences between a window/layer? Perhaps not even directfb related but documents or books on gui fundamentals that would help an experienced programmer learn gui programming?

--
Nathanael D. Noblet
Gnat Solutions
204 - 131 Gorge Road E
Victoria, BC V9A 1L1

T/F 250.385.4613

http://www.gnat.ca/





Reply via email to