Commit Graph

71 Commits

Author SHA1 Message Date
Michael R Sweet
050919103f More shadow variable changes...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2567 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 03:17:30 +00:00
Michael R Sweet
bb056f7805 Update GCC test in configure script.
Add range checking to BMP loader, and fix colormap + 4-bit BMP file
loading.

Copy 2.0 window position fix for XFree86 4.x and others.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2315 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-06-24 02:04:54 +00:00
Michael R Sweet
acd6bd5cc8 Clean up string includes.
Fix Fl_Shared_Image::add_handler() and friends.

Fix Fl_PNM_Image loader.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-25 13:38:25 +00:00
Michael R Sweet
fc7facb5e9 Changelog and cleanup.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2251 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-23 16:47:41 +00:00
Michael R Sweet
7482426735 Make Fl_Output a subclass of Fl_Input, and add input_type and readonly
methods/constants to support Fl_Output as a special case of Fl_Input
(you can do everything but change the text in Fl_Output...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-11 11:52:43 +00:00
Michael R Sweet
a84320659b Fix enter/leave on windows to properly handle tooltip focus...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2064 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-10 01:32:03 +00:00
Michael R Sweet
6fa4abfe54 Fix NULL argument to fl_filename_name()...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2056 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-07 18:31:55 +00:00
Michael R Sweet
fdf2e2e690 Make all implementations of cut/paste/dnd consistent with global
fl_selection_xyz state vars...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2038 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-26 17:37:42 +00:00
Michael R Sweet
6c796f88c7 Rename all remaining functions that don't start with fl_ to
fl_foo. (filename_xyz becomes fl_filename_xyz, down becomes
fl_down, define_FL_PLASTIC_BOX becomes fl_define_FL_PLASTIC_BOX,
etc.)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-25 21:08:42 +00:00
Michael R Sweet
ba2eae871a Wasn't enabling XDND...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-25 02:36:59 +00:00
Bill Spitzak
5f55e1cd63 Back-ported cut & paste code from fltk2.0.
This code splits the cut & paste into two buffers. The "SELECTION" is
used for the currently highlighted text and for middle-mouse paste and
(if possible) for handling drag & drop. The "CLIPBOARD" is for Ctrl+C
and Ctrl+V style cut & paste.

This matches how Motif, GTK, and KDE 3.0 work. But many older X
applications (including KDE 2) can only see SELECTION, this results in
cut & paste incompatability that is familiar to X users. However this
now moves fltk over to the majority camp.  On all systems this
eliminates the annoying inability to select a region and replace it
with Ctrl+V.

On Mac and Win32 the SELECTION is local to the application, so
middle-mouse paste only works between fields in the application. There
may be tricks (special clipboard data types? use drag & drop?) to make
it communicate, but unless there are standards it would be fltk-only.

The file Fl_cutpaste.cxx has been deleted, so update the IDE files!
The Win32 and Mac versions have NOT BEEN TESTED! I tried to be careful
editing them but they may need some work.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-07 19:22:58 +00:00
Michael R Sweet
be3181a39a Use "1" instead of "true" for return value (true not available on all
C++ compilers...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-02-19 20:21:10 +00:00
Michael R Sweet
6eff9b3b14 First round of DND additions to 1.1 - just X11 code, and I haven't added
the support in widgets yet.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1925 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-09 21:50: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
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
2b85bf8168 Preliminary commit of my MacOS X work.
**** THIS CODE COMPILES BUT DOES NOT WORK. ****

TODO: fix event handling - getting blank windows, etc.
TODO: re-port OpenGL code.
TODO: add support for images with alpha.
TODO: add support for more then just beeps in fl_beep().
TODO: other stuff I'm sure...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-27 17:44: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
fb4fe5642a Don't send FL_RELEASE events for buttons 4 and 5 (mouse wheel)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1704 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-19 18:28:55 +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
9da85233f9 Fl::belowmouse() was resetting the tooltip, causing the flashing
in the FLUID window and havoc for the KDE 2.2 window manager...

Changed the default tooltip position to be +10, +10 from the
mouse pointer, and the default tooltip background color to a
pale yellow to match other toolkit defaults.

Update Fl_Widget::flags_ to be an integer, to support more flag
bits.

Update Fl_Window to support override() and set_override() methods.

The configure script did not set the default library path to
/usr/lib32 under IRIX 6.2 and higher when prefix is /usr.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1637 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-10-18 18:53:20 +00:00
Michael R Sweet
85533d11be Fix mouse wheel stuff for browser and helpview widgets (move 3 lines at
a time...)

Fl_Group::handle() now sends unknown events to the focus widget first,
then to any other child that will take it...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1542 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-02 21:11:43 +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
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
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
7d432ff92c Get rid of "member X hidden by variable X" warnings...
Fix strcasecmp() detection...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1337 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-11-20 19:02:20 +00:00
Michael R Sweet
41df4bf0d1 Fl::below_mouse() was incorrectly clearing e_is_click; this prevented
any double-clicks from getting through...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1329 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-11-20 02:49:40 +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
949479b5b2 Removed some (not all) of the warnings when compiled with -Wwrite-strings,
this should also get similar warnings Solaris produces.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1292 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-08-20 04:35:17 +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
42ebf79306 New X function: fl_open_display(Display*) lets you run fltk on an
already-created X connection.  This should help with interoperability
with Xt or other toolkits.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1013 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-02-23 09:23:53 +00:00
Bill Spitzak
0bd9018d64 Fixed the Ctrl+P shortcut problem reported by dalitz@infotech.de
The previous keystroke is not confused with a navigation control
key when the window focus changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1003 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-02-18 07:11:09 +00:00
Bill Spitzak
53919249e2 Sets the "input hint" which is needed for TWM and TWM-derived window managers.
The #if's in filename_list.cxx have been rearranged so the most common
case is the default.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@995 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-01-26 06:27:15 +00:00
Bill Spitzak
be12eee3e5 If compiled with USE_COLORMAP=0 it will always try to find a TrueColor
visual on the X display, rather than failing if the default is not
TrueColor.
This does not affect any normal compilation because USE_COLORMAP is
defaulted to 1.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-01-23 01:56:42 +00:00
Bill Spitzak
d43eac1e38 Programs can now resize() their windows even if they are not resizable()
on X (this already worked on Win32).
Changed the resize demo program to test this.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-01-11 08:20:02 +00:00
Bill Spitzak
b59a07f472 Sets win_gravity correctly, this helps some X window managers that use
it position the window where fltk wants it to be.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@836 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-11-10 09:18:31 +00:00
Bill Spitzak
de5a005e69 Minor change: if the X window manager does not do anything else with windows
that don't have their position specified, the windows appear centered in
the screen, rather than in the top-left corner.  This happened with modal
windows under Irix 4Dwm.  This also causes windows to be centered when no
window manager is running, which might be useful for installation gui programs?


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@823 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-11-04 18:35:12 +00:00
Bill Spitzak
c025851f83 Fixed another flwm crash in Fl_x.cxx (the send_motion pointer must
be ignored if the fl_xmousewin is deleted).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-05-06 06:20:47 +00:00
Michael R Sweet
2f942e1c4a Updated version numbers to 1.0.3.
Fixed browser bug in item_width() - would read past the end of the string
under certain circumstances.

Fixed browser resize bug - wasn't updating bounding box during check, so
it could get in an infinite loop.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@567 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-05-01 15:08:22 +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
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
Bill Spitzak
fa29bbdc0f 1. ~Fl_Widget(), Fl_Widget::hide(), and Fl_Widget::deactivate() no longer send
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
1999-04-10 08:09:39 +00:00
Bill Spitzak
8b80ea35fe Fixes for os2x by Alexander Mai
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@430 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-03-15 07:06:46 +00:00
Michael R Sweet
aa5c3060ca Added #ifdef for backspace hack - is this really necessary? I've never
used a keyboard without a backspace key?!?


git-svn-id: file:///fltk/svn/fltk/trunk@381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-03-09 17:08:35 +00:00
Bill Spitzak
8009fef12c Put Fl::grab() into it's own source file. Rewritten as suggested so that
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
1999-02-03 08:43:35 +00:00
Michael R Sweet
41195fbba6 Updated to include <sys/select.h> as needed.
Removed IRIX select() prototype - not needed for IRIX 5.3 or higher.


git-svn-id: file:///fltk/svn/fltk/trunk@254 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-01-27 17:52:25 +00:00