[lazarus] CVS changes

Keith Bowes keith_bowes at hotmail.com
Mon Feb 4 19:05:41 EST 2002


----- Original Message -----
From: "Michal Bukovjan" <michal.bukovjan at openone.cz>
To: <lazarus at miraclec.com>
Sent: Sunday, February 03, 2002 1:18 PM
Subject: Re: [lazarus] CVS changes

> >
> The interfacebase.pp is the problem. Right now it includes winapih.pp,
> which references types defined in LCLType/LCLLinux.
> However, this units exist only to emulate "Windows types" on Linux. The
> whole interfacebase methods are very Windows centric.
> The idea is to implement more general routines (like the new one
> Frame3d) which may not have corresponding counterpart in Windows. The
> interfacebase should be
> platform independent layer, as much as possible, including graphic types
> (and possibly others as well, it is just that GTK is about graphics).
> The corresponding platform specific interface should implement the
> abstract layer, rather than emulate Windows functions.
> BTW, this concept will have to be taken much further, if it should work
> properly - think about:
> - GTK themes, which Lazarus does not respect at all currently.
> - system color concept (clWindow, clBtnFace, etc.) which comes from
> Windows and makes little sense on GTK
> - keyboard accelerator system
> - multimedia interface
>

I don't have anything against this, as long as you can keep everything
implementable on every interface (be it win32 or qt or perhaps possible
future interfaces for BeOS, DOS, etc).  However, I think it may be a tad
erroneous to put the GTK-centric stuff in winapi.inc.  Perhaps you could
move that stuff (eg, Frame3d and CreatePixmapIndirect) to gtkapi.inc and
gtkapih.inc and put only Windows-API methods in winapi.inc and winapih.inc.
Then, you can create gtkgtkapi.inc and gtkgtkapih.inc files in the gtk
interface to implement these.  Likewise, I could create win32gtkapi.inc and
win32gtkapih.inc files to emulate these things; ditto for qt and possible
future interfaces.

Keith







More information about the Lazarus mailing list