Commit Graph

88 Commits

Author SHA1 Message Date
Matthias Melcher
4603756ed1 - added Win32 native drag'n'drop code
- added dnd support for Fl_Group (not tested with X!)
- added dnd support for Fl_Input (not tested with X!)
- no Mac implementation yet!

Go ahead: drag text or a file from the explorer into
a text widget! Tadaa!


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1971 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-02-24 17:52:18 +00:00
Michael R Sweet
0372675ee1 Always resize cells in table if set/max width not the same as the
column width.

Pass UNFOCUS events to parent groups, too (for Fl_Tabs)

Conditionally compile in support for TrackMouseEvent(), since support
for it is spotty at best.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-02-20 19:29:57 +00:00
Michael R Sweet
492b81c240 Return 0 after processing WM_PAINT message.
Fix clip test in fl_draw().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1944 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-23 16:58:01 +00:00
Michael R Sweet
d96fa88743 Fix WIN32 build.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1922 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-09 15:23:11 +00:00
Michael R Sweet
bccdafdaef Fixed from Teun.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1919 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-07 20:40:02 +00:00
Michael R Sweet
8fe611b5cd Fix changing of schemes - otherwise Fl_Window::show() could cause a
reference to a non-existing tiled image.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1908 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-03 18:28:37 +00:00
Michael R Sweet
64b4177ef4 Copyright updates...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01 15:11:33 +00:00
Michael R Sweet
e5a26965bf Add Teun's CygWin patch for select()...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1902 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01 14:14:34 +00:00
Michael R Sweet
ba2be02ab2 FLTK 2.0 threading support under FLTK 1.1. Needs porting to OSX.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-06 22:16:49 +00:00
Michael R Sweet
ca83eb11a1 Fix infinite loop bug with WIDTH=100% in Fl_Help_View widget.
Fix handling of WM_SYNCPAINT message.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1795 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-30 16:10:08 +00:00
Michael R Sweet
f525840495 Fix all references to '.C' files (now .cxx)
Update Fl_Image() class to track depth and data, so FLUID will be
able to use it as the base class.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-22 15:35:02 +00:00
Michael R Sweet
13e7d76397 WIN32 fixes for the new image stuff...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1705 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-19 20:59:59 +00:00
Michael R Sweet
a1944b77ab Cygwin fixes...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1666 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-10-29 21:59:15 +00:00
Michael R Sweet
831d7cde5b FL_KEYUP event support.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-10-27 03:45:29 +00:00
Michael R Sweet
f5f0d8a013 Save/restore GDI pen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-09-30 12:42:33 +00:00
Michael R Sweet
5994addeca Fixed tooltips under WIN32 - no more toolbar buttons...
Fl_Group::handle() didn't pass FL_RELEASE events to
Fl_Browser_ and similar subclasses of Fl_Group; updated to
pass only to widget that should receive the event.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1547 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-03 15:48:20 +00:00
Michael R Sweet
0771e7cc7d Update WIN32 projects and config file.
Fix sign of Fl::e_dy to match screen coordinate directions under WIN32.

Note: tooltips not working under WIN32...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1546 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-03 02:28:32 +00:00
Michael R Sweet
2d3fd88eeb More mouse wheel stuff (as compatible as possible with the 2.0 code...)
Updated the makefile to use config.status --recheck before calling
config.status (why they can't provide one that does both, I don't
know...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-02 20:09:25 +00:00
Michael R Sweet
a1236f0900 One more keyboard fix for good measure - still need to address "stuck"
meta key in keyboard demo, but that is because we don't get the "keyup"
event because Windows takes our focus away...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1447 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-27 15:43:38 +00:00
Michael R Sweet
aa949a24f0 Fixing lock/meta key handling...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1446 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-27 15:21:33 +00:00
Michael R Sweet
c7615943db Mask low bit of key state for all keys.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1445 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-27 14:55:33 +00:00
Michael R Sweet
ff3295f036 Handle WM_ACTIVATEAPP message under WIN32, using GetAsyncKeyState() for
all of the key and button states in FLTK.

SunOS 4.x changes (check for <sys/stdtypes.h> and don't rely on
realloc(NULL, size) working - this doesn't work on a lot of platforms!)

Fix nesting of #ifdefs in vsnprintf.c - the C++ wrapper stuff wasn't
being included outside the checks for the individual functions...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1444 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-27 14:39:27 +00:00
Bill Spitzak
5f96ece638 Another fix for WM_SYNCPAINT from Matt
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-22 16:54:23 +00:00
Bill Spitzak
bb86f132eb Restored WM_SYNCPAINT handling
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1428 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-13 17:30:21 +00:00
Michael R Sweet
94788c4628 Copyright 2001.
FLTK 1.0.11.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-22 15:13:41 +00:00
Michael R Sweet
e01a7a33d7 Commented out USE_ASYNC_SELECT since it doesn't seem to work...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1331 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-11-20 14:17:43 +00:00
Bill Spitzak
2cbf4041b3 Does not clear Fl::keysym on every event, this makes better back compatability and fixes Win2000
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-10-21 20:01:56 +00:00
Bill Spitzak
f7e4caec25 Whoops, I screwed up the timeout callbacks a bit.
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
2000-06-20 05:47:38 +00:00
Bill Spitzak
be106a0977 Cleanup of the timeout and Fl::wait() code. This one calls the clock
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
2000-06-18 00:38:41 +00:00
Michael R Sweet
f87393aaa1 OK, now version 1.0.9
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
2000-06-05 21:21:24 +00:00
Bill Spitzak
b0cdb25d3c Fixes for 1.0.8 I found:
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
2000-06-03 08:37:09 +00:00
Michael R Sweet
4b561b6e90 Updated copyright notices for all of the 1.0.x files.
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
2000-04-25 22:17:00 +00:00
Bill Spitzak
4edd134933 Fixed definition of glutBitmapWidth to match header file.
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
2000-04-25 07:48:07 +00:00
Bill Spitzak
a32453e680 Moved FL_LEFT_MOUSE, FL_MIDDLE_MOUSE, and FL_RIGHT_MOUSE from forms.h to
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
2000-03-05 06:51:07 +00:00
Bill Spitzak
53bf740c38 3rd and deeper nested Fl_Windows on Win32 redraw correctly.
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
2000-02-04 06:35:22 +00:00
Michael R Sweet
c0cdc56926 Fixed async selection code - wasn't calling TranslateMessage...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-12-31 02:56:18 +00:00
Michael R Sweet
df57aa4d2f Re-integrated all of the old WIN32 select() code just in case it is needed
(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
1999-12-30 17:37:05 +00:00
Michael R Sweet
30ce47ef69 New WSAAsyncSelect code for WIN32 Fl::add_fd() support.
Fixes for Fl_Scrollbar - pushed_ bits wrong...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-12-29 03:14:41 +00:00
Bill Spitzak
e7f42fa15f Fixed bug on Win32 where programs would stop paying attention to keys.
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
1999-12-15 04:58:27 +00:00
Michael R Sweet
d1f909be8a fl_arc() and fl_pie() fixes for WIN32 removed - the problem is with
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
1999-11-12 00:19:14 +00:00
Bill Spitzak
ce249490d4 These are some (hopefully minor) changes we keep needing to edit into
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
1999-10-14 04:56:09 +00:00
Bill Spitzak
c8794e2f58 Fixed some WIN32 bugs found in 1.0.5:
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
1999-09-16 05:34:27 +00:00
Bill Spitzak
0bb590c832 Pragma added around xlib.h to shut up the IRIX compiler warnings
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
1999-07-22 07:27:12 +00:00
Bill Spitzak
f7c57a3730 Replaced remaining malloc.h's with stdlib.h
Added ctype.h to win32 file
Patch for Fl_Browser_ looping indefinately


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@596 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-06-07 07:03:34 +00:00
Michael R Sweet
4b341bc95a Added Rick's hack for initializing fl_display.
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
1999-05-24 14:03:47 +00:00
Bill Spitzak
4e66f93769 Missing header files and FL_EXTERNs that prevented DLL's from compiling
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
1999-05-11 09:39:31 +00:00
Michael R Sweet
d4bcbf5be3 fl_wait() didn't handle the case when timeout == 0 and nfds > 0.
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
1999-05-09 14:49:14 +00:00
Bill Spitzak
349f047032 Keypad should produce correct symbols on Brazilian (and any other)
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
1999-04-23 06:55:53 +00:00
Michael R Sweet
816393d2d4 Updated patch version to 2 (1.0.2)
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
1999-04-18 19:17:03 +00:00
Bill Spitzak
0e29799dda Fl::add_fd() structures are dynamically allocated so you can listen to
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
1999-04-17 01:02:30 +00:00