nanogui@linuxhacker.org

nanogui@linuxhacker.org


Subject: Re: [linuxce-devel] FLTK Port, list of Win32 functions...
From: Greg Haerr
Date: Sat, 4 Mar 2000 13:04:08 -0700

Shane,
    I've pulled down the source to fltk v1.0.7, and checked
it out.  I've responded to your list of functions with the following
actions that I'm going to try to take to get you up and running
fast.  Also, there are still other files that you haven't included in the
make that will be required, like fl_draw_image_win32.cxx.  This
includes the SetDiBitsToDevice function, which I will implement.

After looking at all of it, it shouldn't be too hard getting fltk running
under Microwindows...

Anyway, here's the list:
: 
: CreateRectRgn yes
: GetRgnBox yes
: CombinRgn yes

: InvalidateRgn comment out
: GetUpdateRgn comment out
: ValidateRgn comment out

the above routines are used in a strange way to play with window's
paint algorithm.  At this point, you'll just want to call BeginPaint/Endpaint
around the WM_PAINT msg.  (for more info, see microwin/src/demos/mwin/
demos)


: SelectClipRgn not yet
: EqualRgn yes

Although I plan to support regions, these probably aren't necessary,
as most are used for the painting trickery, which isn't needed...


: CreateBitMap - replace with CreateCompatibleBitmap
: SetAlignText - yes
: SelectPalette comment out
: OpenClipboard no
: EmptyClipboard no
: GlobalAlloc replace with malloc
: GlobalLock replace with nop
: GlobalUnlock replace with nop
: CloseClipboard no
: GetClipboardData no
(clipboard will likely never be supported)

: GetKeyState comment out
: GetKeyboardState comment out
For now, comment out all kbd stuff, including messages, except
WM_CHAR

: PeekMessage yes
(note: fltk uses a strange mechanism where win32 select() AND
PeekMessage() are called to handle sockets and messages...  This
will need rewriting to just GetMessage or PeekMessage in the
beginning, unless the fltk program uses sockets)



: SystemParametersInfo replace with GetWindowRect(GetDesktopWindow(),...)
    to get the screen x, y, w. h. size

: GetCursorPos yes
: GetAsyncKeyState comment out
: SetCursor yes
: UpdateColors no
: GetSystemMetrics possibly, depends on the value
: SetWindowPos yes
: LoadIcon yes
: LoadCursor yes
: RegisterClassEx yes
: IsIconic yes
: OpenIcon no
: BringWindowToTop yes
: 
Regards

Greg


nanogui@linuxhacker.org