add_timeout will now do the callback at time t after the call to
add_timeout, like before.
add_interval_timeout is a new call that measures time from when the
last timeout was called. This has slightly less overhead and allows
accurate spacing of timeouts.
Patch from Stuart Levy so the *last* widget in an Fl_Pack may be
resizable. This should be compatable because resizable didn't do
anything before so there was no reason to set it.
Makefiles for no-cygwin from Paul Baxter (see README.win32 for info).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1222 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
function less than half as much, which resulted in a noticable
improvement in a flip book program I was working on. The code looks
nicer, too, and I am reasonably certain it works the same.
Fl::wait(time) with a time greater than the system can handle (24.855
days on NT, the same on some Unix systems) will now act as though the
time is infinity. Before it would do unpredictable things.
"USE_POLL" now compiles and works, although it is disabled by default.
poll() is an alternative to the Unix select() call which is available on
Linux and Irix, but I don't know if it is faster, you can try it by
editing config.h.
I tried making the NT USE_ASYNC_SELECT code do translate/dispatch of
the select events on the assumption (based on experience) that not
doing this to every event gives NT fits. This appears to work but I'm
not sure if it fixes anything.
X version does not crash if Fl::wait() is called when the display is
closed (it will not return unless you have a timeout or fd callback
set up, though).
Fixed up the documentation for all of this, including getting rid of
some completely misleading documentation.
Now I need to get this stuff into 2.0...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1215 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Updated email addresses to point to fltk.org domain...
Updated README and CHANGES files accordingly.
Updated makeinclude and Makefile files to put -L../lib before the
LDFLAGS/GLDFLAGS to avoid problem reported by Alexander.
documentation/Makefile wasn't including makeinclude.
Updated FLUID about window to show version 1.0.9.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fixed hardware overlays. The problem was the new fl_clipped() code,
which tests against the current window size. The hardware overlay
code did not set the current window when drawing the overlay. I
needed hardware overlay for DD's code, I'm not sure if these fixes are
good enough to enable this in our general release. Hardware overlay
still only works on SGI Irix.
Some patches to turn off the MSVC++ -Oa (assumme no aliasing)
optimization flag. Suprisingly this only broke a few parts of fltk,
or at least these are the only ones I found.
Does not unmap child windows when the main window is iconized. This
reduces flashing when the window is deiconized.
Fl::key() is set to zero by all events except key down/up. This will
allow you to reliably test if an event or callback was produced by a
keystroke. Fixes the bug posted about stopping Escape from closing
the window.
User defined cursors on OpenGL windows slowed down NT a *LOT*. Some
attempts to fix this by turning off the cursor while drawing the
window.
Filename completion in the file chooser works better on NT. Typing
TAB fixes the case of everything you typed to match the shortest name
that can be completed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Updated the configure script for *BSD and GCC 2.95 (-fno-exceptions)
Added install rule to documentation directory.
Dumped old packages directory; added traditional RPM spec file and EPM
list file (that replace all of the packages stuff)
The FLUID man page is now "fluid.1" for the formatted page and "fluid.man"
for the non-formatted page, since only IRIX uses pack'd formatted man pages.
Whew!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Does not turn visible() on when a window is iconized() or if a modal
window is shown and it's parent is iconized. This allows the code
"while (w->visible() && w->damage()) Fl::check();" to reliably wait
for the window to be mapped and drawn the first time.
Some comments added to Fl_win32.cxx to explain how the WM_PAINT works.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1085 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Enumerations.H so they are available to any fltk programs.
More fixes to the fake-overlay code in Fl_Gl_Window (it did not work on
Win32 when there were 2 different-sized windows)
Fix to Fl_compose to not quote the Delete key fixed to allow the right-
control key to still be the compose prefix and to allow it to quote
control characters.
OSF1 used the same parameters for scandir as SGI and unlike Linux and
apparently most other Unix's
fl_ask, message, etc windows are resizable, which is useful if you use
them to display arbitrary output from a program.
On Win32 non_modal (but not modal) windows have close and size boxes, as per
popular demand at Digital Domain.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The symbol "table" from fl_cursor.cxx is no longer public
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(undefine USE_ASYNC_SELECT to use the old code)
XBell() might be called before fl_display is initialized.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
What actually happens is that GetKeyState() returns garbage for the
"windoze" keys if you hit them to pop up the start menu. It now calls
GetAsyncKeyState(), which works.
Also this version calls TranslateEvent on all events before calling
DispatchEvent(), which is apparently what Win32 expects.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@948 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
the SGI X server with small arcs & pies, and not with WIN32.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@858 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
each new version of fltk for use at Digital Domain. These were found by
running a diff between 1.0.6 and our inhouse version.
1. WinMain is moved to the fl_call_main.c file so that it can easily be
conditionally-compiled out (code copied from fltk 2.0, not tested!)
2. Fl_win32 ignores the value of window->xclass(). This seemed to cause
problems when windows had different xclass() in the same app and did not
have any useful effect on windows. This value is changed to set the icon
of the app on X.
3. sgi pragmas added to x.H to turn off warnings from their broken xlib
header files. Please tell me if this causes any sgi compilers to complain,
we should add more stuff to the #ifdef to stop that.
4. Fl_Gl_Window::ortho() changed so that text and images are not erased
if the origin is off the left/bottom of the window.
5. Small change to Fl_Input so that a click that gives it the focus also
selects all the text. This is more windoze-like and it seems the users
really like it.
Note also that we had to set USE_XDBE to zero to get things to work on
the newest Irix machines. I give up, Xdbe has been nothing but an impossible
and confusing mess and it is obvious that the X servers are not testing it
and thus it is suffering from software rot so it is unlikely to work anywhere
in the future. Not sure if we want to switch it off in the official version,
though.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@774 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
FL_MOUSELEAVE had an extra underscore
call to toupper() removed
const char* cast added to fl_draw_pixmap
Change to Fl_Gl_Window that did not get in in time for 1.0.5, it caches
the current gl context and does not call glXMakeCurrent (wglMakeCurrent
on WIN32) if not needed. This distinctly speeds up Mesa, Irix, and
Windows opengl, although I am stumped why such a test is not built
into those libraries already.
If you use other code that sets the current OpenGL context fltk will
get confused because it does not know it changed. To fix such programs
you must call fl_no_gl_context() to clear the cache.
There is a report that this causes the fractals demo to crash on some
Linux and Irix machines, although I can't reproduce it. I suspect the
problem is the fractals demo and not fltk, but this change may be making
it more likely to fail.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fluid writes "class foo;" to the header and c file without prepending
"extern" or "static". This patch also does this to "class foo bar;"
which is wrong...
Tabs draw very short labels.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@629 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
fl_call_main() and WinMain are now only compiled in for non-GNU compilers
under WIN32 (not needed for Cygwin and friends).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@593 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
under BCC.
Fluid will output A::B::C names for nested classes.
Fl_Browser::lineposition(n, BOTTOM) will align the bottom of the line
rather than the top with the bottom of the browser.
The connect program does wait() so that it does not leave a zombie for
every one of your ppp connections.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@584 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
As a result, you had to wiggle the mouse in order for fds to be
polled on a regular basis.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@583 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
keyboard when NumLock is on. Also added some explanatory comments to
the source code.
Some pointers were not being turned off when widgets were deleted, this
caused flwm to crash.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@553 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fixed missing fdsets variable in Fl_win32.cxx
Removed unused maxfd variable in Fl_win32.cxx
FLUID now outputs the window constructor with x,y arguments if
the class name is Fl_Group (this allows you to setup classes
using FLUID) Add extra code after all the widgets to move them
to the desired offset within the window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
as many connections as you want (up to the maximum number handled by
select()).
Fl::remove_fd(fd, when) added. This allows you to remove the read,
write, and error callbacks individually. Fl::remove_fd(fd) does
Fl::remove_fd(fd,-1).
Fl::add_fd() calls Fl::remove_fd(), so it can be used safely to
replace callbacks with new ones for the same file descriptor.
Fl::add_timeout() also dynamically allocates it's array so there is no
limit on the number of pending timeouts.
I cut/pasted the changes into the Windoze version but this is
UNTESTED! Somebody please do a test compile.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@544 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
FL_LEAVE, FL_RELEASE, or FL_UNFOCUS events to the widget. This seems to
be desirable behavior and fixes a crash in flwm.
2. After you show() a window, Fl::damage() should be true and remain true
until the window is actually drawn and up to date.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@530 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
compiled this on BC++ 5.0 upgraded to 5.0B via the two monster patches.
I didn't turn on optimization because my version of BC++ doesn't seem to
do much in the way of optimization (FLUID was only 1k smaller when
optimized for size). VC++ generates smaller code.
The examples that use OpenGL don't work because Borland's linker can't find
"wglShareLists". I'm sure this is a simple problem, but I don't know how
to fix it.
Borland's C++ compiler won't allow you to call main() from C++, so I had
to add a c function in "fl_call_main.c" to call it so that you don't have
to do that WinMain crap. However, when I added this file to the Visual C++
project it converted the whole thing from 5.0 format to 6.0 format. The
files look the nearly identical so I don't think this should be a problem
for 5.0 users, but if it is then you can revert them back to the previous
version and just add this one source file.
Borland really doesn't suck that bad. It doesn't look as polished as VC++
and it refused to supress some warnings for no reason, but I forgot how
much I liked the feel of Borlands compilers... Much more intuitive then
MS VC++.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Includes a real bug that was in Fl_Gl_Window.c (#if WIN32)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- Added WM_SYNCPAINT message support to get rid of redraw bugs.
- Changed extra LineTo's to SetPixel's and associated fixes so
that lines are drawn consistently between X and WIN32.
git-svn-id: file:///fltk/svn/fltk/trunk@363 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
it takes a window pointer, and grab(0) releases. You can now call grab
repeatedly with the same or different values without it failing. The old
Fl::grab() and Fl::release() are emulated in inline functions in Fl.H
Added Fl_Menu_::copy(Fl_Menu_Item*), which will be useful for fluid, although
that use is nyi.
Fixes and cleanup to the code for Fl_Menu_::add(...).
git-svn-id: file:///fltk/svn/fltk/trunk@268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- Added #defines for Visual C++ to speed up compiles.
- Added FLTK.DLL project to visualc directory.
- Added editor project to visualc directory.
- Added icon() method to Fl_Window class.
- Implemented xclass() method for WIN32.
- Fixed extern declaration of fl_send_extra_move in Fl_Menu_Window.cxx.
- scandir_win32.c needed to include <stdlib.h>.
- Added fix from Bill for fl_width() bug.
- Updated fix for Fl_Input to default to FL_DOWN_BOX.
- Added visible() check for children of Fl_Pack.
- Added WinMain() function to library.
- Now show console window in debug mode.
- Fixed demo.menu and demo.cxx to work under WIN32.
git-svn-id: file:///fltk/svn/fltk/trunk@180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121