How to compile for Windoze:

There should also be 95/NT makefiles in this directory, and setups for
other compilers.  Currently I have some (somewhat botched up) setups
for MSVC++ 5.0, and Makefiles for Borland Windows 95 C++.

----------------------------------------------------------------
Known problems and ToDo list:
----------------------------------------------------------------

If program is deactivated, Fl::wait() does not return until it is
activated again, even though many events are delivered to the program.
This can cause idle background processes to stop unexpectedly.  This
also happens while the user is dragging or resizing windows or
otherwise holding the mouse down.  I was forced to remove most of the
efficiency fltk uses for redrawing in order to get windows to update
while being moved.  This is a design error in Windoze and probably
impossible to get around.

Fl_Gl_Window::can_do_overlay() returns true until the first time it
attempts to draw an overlay, and then correctly returns whether or not
there is overlay hardware.

Cut text contains ^J rather than ^M^J to break lines.  This is a
feature, not a bug.  

I can't seem to get SetCapture (used by Fl::grab()) to work, and I
can't find a way to stop the main window title from turning gray while
menus are popped up.

glpuzzle program does not animate unless you resize it first.  Unknown why.

Fl_Window::fullscreen() not implemented (should take over the screen
without a title bar).  Currently does maximize instead.

Import .bmp files into fluid. Wonko has the specs.

Can't set icon of windows.

----------------------------------------------------------------
Notes:
----------------------------------------------------------------

To not produce a "console" window when you run your program add the
following secret incantation to the Micro$oft linker:

        /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup

I use capital C as the extension for c++ source code.  Unfortunately
there is no way to convince VC++ to use this except to tell it to
compile *everything* using C++ by putting the switch "/TP" in the
options.  I don't want to change this as it will break an existing CVS
repository.

Either the file <FL/x.H> or <FL/win32.H> may be included to get at
secret windows-specific state variables.

A single "windows class" called "FLTK" is created.  All windows are of
this class.  This window class is created the first time show() is
called on a window.

Fl::add_handler may be used to look at Windoze events that FL does not
know what to do about.  The parameters to the event callback are
stored in the static variables fl_window and fl_msg (if the message
was actually read by GetMessage).  If all the add_handler functions
return zero then Fltk will call DefWindowProc(...).

When drawing an HDC is stored in the static variable fl_gc, and the
window being drawn into (a HWND) is in fl_window.  The functions
fl_brush() and fl_pen() and fl_rgb() will return the current drawing
color translated into various Windoze objects.

The library does not need to be shared.  A static-linked one will
produce smaller code (because of functions not linked in) and has the
advantage that only one file needs to be sent if you wish to
distribute an executable.

