[lazarus] GTK team: please specify!

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Nov 3 12:24:14 EST 2003

On Mon, 03 Nov 2003 01:32:28 +0100
Marc Weustink <marc at dommelstein.net> wrote:

> At 19:28 2-11-2003, Micha Nelissen wrote:
> >Mattias Gaertner wrote:
> >
> >>On Sun, 2 Nov 2003 15:03:10 +0100
> >>Mattias Gaertner <nc-gaertnma at netcologne.de> wrote:
> >>
> >>>>The WinAPI specifies that GetDC(GetDesktopWindow()) should return a 
> >>>>device context of the screen. We can use this DC to draw on.
> >>>
> >>>Very funny. ;)
> >>>What has the winapi to do with the gtk?
> >>>We need the window DC without clipping and we need an event to know,
> >when>>the gtk has finished painting everything. And during moving we have
> >to>>paint as well.
> >>>When we got this, we can omit the paint on every message and we can
> >omit>>the designer widgets, because the rest is already implemented. This
> >>>solution would be very near to my initial wish in a former mail.
> >>>I will do some experiments...
> >>
> >>Ok. Maybe I found the solution.
> >>Now to the LCL.
> >>GetDC will just return the "normal" device context for a window. Under
> >gtk>this is without the child windows (they are clipped away). The
> >designer
> Just found out that clipping can be set by gdk though
> gdk_gc_set_subwindow. Options are:
>    GDK_CLIP_BY_CHILDREN  only draw onto the window itself.
>    GDK_INCLUDE_INFERIORS Draw onto the window and child windows.

Yes, that's what I found out on sunday. I already got a running version with
this, but I need some time for clean up.

> >>needs a DC with childs. Something like GetRawDC or GetWholeDC
> >>or GetDCForWholeWindow or GetDesignerDC or ... . I guess under win32api
> >this>is already the default, so you have little to do. If not, how does
> >win32api>calls it?
> >
> >This is determined at control creation time, there isn't a seperate 
> >function for that. CreateWindow help:
> [snip]
> >Where does that leave us?
> >
> >OTOH, it is possible to create transparent window in the win32 interface.
> >
> >Is it too in gtk?
> GDK can it. gdk_window_shape_combine_mask and co

It depends how you define "Transparency".


More information about the Lazarus mailing list