Commit Graph

76 Commits

Author SHA1 Message Date
Matthias Melcher
e07200c4e8 Implemeted 95% of all Mac OS X support. Makefiles still need modifications.
Almost all test applications run out of the box (->Makefile). See more
information in README.mac .

Changes:
- message handling
- access to opaque port structures
- image, bitmap, pixmap support
- most OpenGL stuff
- window styles


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-06 00:17:47 +00:00
Michael R Sweet
c78dcd55ec More doco updates.
Enable tooltips by default, and don't enable them when setting the
tooltip value, since that will negate any changes a program might
make when displaying the file chooser dialog, etc.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1777 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-28 20:43:44 +00:00
Michael R Sweet
d211b12af7 Add Fl::version() and Fl::event() methods.
Doco updates (use <!-- NEW PAGE --> instead of <HR break>, plus more
Fl_Text_Buffer docos)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-28 18:00:17 +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
f21f8f8993 Always use PIXELFORMAT cast for WIN32 OpenGL stuff.
Send FL_MOUSEWHEEL events to the focus widget first, then to others.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1694 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-17 18:29:05 +00:00
Michael R Sweet
d3acd6c475 Add Fl::visible_focus() method.
Add optional "draw_symbols" argument to fl_draw and fl_measure functions.

Fl_Repeat_Button didn't handle keyboard focus properly.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1678 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-03 05:11:34 +00:00
Michael R Sweet
8638a3f5a5 Fix tooltip handling/flashing that caused KDE window manager lockups
with the FLUID main window.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1636 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-10-18 00:24:19 +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
836d2fac26 Fix tooltips a la 2.0.
Update 1.1 tooltip interface to be identical to the 2.0 interface for
most things (no enter_area function right now...)

Add localized makedepend files (no system include files, just ../FL/bla.h)
so that builds recompile as necessary.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1516 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-02 15:32:00 +00:00
Michael R Sweet
bd06913057 First bunch of changes for the 1.1 branch - tooltips.
NOTE: looking into a problem with the tooltip not going away when
you ESCape a window (close it)...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1514 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-01 21:24:49 +00:00
Bill Spitzak
8470c05b58 Fl_Gl_Window leaked memory for damage regions
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-02-26 00:19:02 +00:00
Michael R Sweet
ffe92796d8 Add call to GdiFlush() under WIN32.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-26 13:31:51 +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
Bill Spitzak
b7496f2c59 "accu-timer": some changes to repeat_timeout that seem to make it accurate
on Unix and Win32 at speeds up to 500000 timeouts/second (and 700000 on
Linux), and within about .001% as accurate as the system clock.

Fix to Fl_Valuator::step() by Guillermo Andrade.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1354 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-21 06:00:59 +00:00
Bill Spitzak
3a0c70d82e Added parenthesis to turn off gcc warning
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1353 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-15 23:51:37 +00:00
Michael R Sweet
421fd3985f Fix to allow Fl.cxx to compile with older C++ compilers (no variable
declaration in while() constructs...)

"cp" doesn't always support "-f".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-21 18:15:14 +00:00
Bill Spitzak
f5375b6ab6 Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for single-buffered
windows.

Fl_Input::replace(...) correctly updates the display if the replaced
region does not include the mark, point, or selected region.

Added Fl::add_check(...), Fl::remove_check, and Fl::has_check. These
are similar to idle callbacks but are only called just before it waits
for new events. They can be used to watch for changes in global state
and respond to them.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-12 08:57:30 +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
00cf38e1e3 Hack to fix the annoying "raise another application when a modal window
is closed" problem on WIN32.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1311 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-10-17 06:40:53 +00:00
Bill Spitzak
1150141ead Changed the name of the new function from "add_interval_timeout" to
"repeat_timeout", which is shorter and more accurately describes what
it does.

GLUT_STROKE_*_ROMAN in glut.h are defined as 0,1 on WIN32 to match the
glut header files there.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-21 17:36:36 +00:00
Carl E. Thompson
8dabd7171d Fix for Cygwin.
Carl


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1224 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-20 15:20:34 +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
Bill Spitzak
4dd096e7b5 Added has_timeout() and has_idle() calls as suggested by Eric Sven Ristad.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1214 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-16 07:28:03 +00:00
Bill Spitzak
abcd0b4488 You can no longer insert ^J,^K,^L,^M into Fl_Int/Float_Input.
Fixed bug noticed by Alexander Rabi Beels, if you are in point-to-type
and move the cursor to a different window with a multiline input and
type up/down, the saved up/down horizontal position from the previous
multiline input was used.  It now resets this on any focus change,
fixing this.

Some code cleanup in Fl_Input.cxx, removed unneeded calls to Fl::compose_reset.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-10 21:31:00 +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
77272369dc Dropped extra #include <stdio.h> that wasn't needed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1125 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-05-16 12:26:58 +00:00
Bill Spitzak
d5b47034a7 Added Fl::first_window(window) to change which window is at the top of
the window list.  This window is used as the "parent" of any modal
windows you create so it is a good idea to be able to change it.
Normally it is whatever window got the last event.

Fixed Fl_Menu::global handler to use first_window so if a modal window
pops up in response it is parented to the window containing the
menubar rather than the current top window.  This was an annoying bug!

Copied fl_line_style() and the line_style demo over from fltk 2.0
because I am tired of mailing this code to people.  Better to advertise this
as "added fl_line_style() function to set line thickness, dash patterns,
and end caps".

Fixed the documentation for these changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-05-13 20:03:20 +00:00
Bill Spitzak
2d826eb564 Fl::wait() does not return immediately when no windows
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1114 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-05-11 21:58:09 +00:00
Bill Spitzak
eb63364311 XForms-compatable shortcut strings modified so that "0xabcd" can specify
an arbitrary key by hex code.  Lame but needed for some DD software...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-05-10 16:43:36 +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
Carl E. Thompson
af5190b95f Fix to compile on GCC 2.95.
Carl


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-03-08 16:02:25 +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
415db360a1 Tiny change to Fl.H to get around bug in new gcc versions?
Change to code to try alternative cases of shortcuts suggested by
Yaroslav Volovich.  It should now work for foreign letters.  However
I was unable to get it to do anything no matter how I set the locale.
It may be better to fix this by hardcoding in the iso-8859-1 character
set and not use ctype at all, "locale" is a horrid travestry anyway and
has done more to *prevent* internationalization than to help it by making
it virtually impossible to test foreign components.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1001 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-02-15 08:31:46 +00:00
Bill Spitzak
685d58c497 Buttons on scrollbars draw pushed in (fix from barrero@irit.fr)
Fl_Menu_::remove(int i) will remove an entire submenu if i is the
index of the menu title.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-01-16 04:30:39 +00:00
Bill Spitzak
0627bd9a3e Does not call draw() on child Fl_Windows when their parent is hidden.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@793 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-23 06:19:59 +00:00
gustavo
138c7287b2 Changed call_timeouts() and Fl::wait()/wait(double). The wait functions will now return immediately (do fl_wait(0,0)) if any timeouts were called in call_timeouts(). Motivation: An event loop like
while (work_to_do) {
	work_some();
	Fl::check();
    } else {
	Fl::wait();
    }

    Suppose that a timeout sets the work_to_do flag, which is initially cleared.
    Fl::wait() will wait for this timeout, return, then expire the timeout and wait for user input.
    With the fix, it will work as expected.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@669 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-22 23:31:21 +00:00
Bill Spitzak
f7e0e7627f Can draw xpm pixmaps with spaces in the color names (such as the ones in
/usr/X11/include/X11/icons).
Esc closes the modal window, not the window the cursor is in, if a modal
window is up.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@632 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-27 17:24:14 +00:00
Bill Spitzak
df045b0e36 FL_KEYBOARD events have the correct x/y when sent to child X windows.
Notice that if you worked around this bug by adjusting the x/y yourself
you will have to change your code.

In addition all events have the correct x/y when sent to the grab()
widget.  And the code to do all this was simplified a lot.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-22 21:37:04 +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
Michael R Sweet
7f48da7bfd Fixed bug in WIN32 fl_elapsed() function - didn't initialize
prevclock to valid value [now use GetClockTicks()], and
didn't check for newclock < prevclock (which would be
the case if no messages have been processed yet).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@580 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-05-07 16:17:49 +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
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