The idea is to use 1) Object Oriented Programming and 2) Generic Programming to build up layers for use in developing device independent applications.
Parksie is working on the mostly functional and parameterized namespace, which I will be building up several interfaces in a parameterized nested class hierarchy for use as "pseudo-polymorphism" in device independent programming.
All layers will be fully object oriented, so there will be no global functions nor handles floating around, typically you will be performing a bitblt like this:
TargetDC.Rect(10,10,50,50).Do( bitblt(srccopy) << SourceDC.Rect(10,10,50,50));
among other alternatives:
(TargetDC<<Myrect).Do<bitblt(srccopy) >(SourceDCrect);
The GDI object will provide access for the win32 environment with easy moves:
Window x=GDI.Window<caption>("My app");
x.minimize();
GDI.Window<top>().Destroy();
Window y=GDI.CreateWindow(wndclass,"my window",somepos);