Commit Graph

522 Commits

Author SHA1 Message Date
Michael R Sweet
20522b715e fl_arc() and fl_pie() were drawing 1 pixel too little horizontally and
vertically under WIN32 compared to X11.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-11-09 16:40:05 +00:00
Bill Spitzak
b23b10c7e0 Zero-width browsers crashed:
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@831 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-11-07 08:33:36 +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
c3bd173a57 More fixes to the text editing to make the NT users happy.
With all the recent check-ins, the result is that text editing is a
combination of the best parts of "CUA" and X/Motif text editing
(in my opinion).  It mostly acts like CUA with these additions:

1. Clicking in a field the first time selects the entire field (this is a
necessary modification so that it works in point-to-type window managers
and still looks like Windoze, in Windoze it appears that all text fields
are switched to all-selected when the window is "activated").

2. The middle mouse button acts like the left one and *then* does "paste".
Unlike Motif you can replace text by selecting it with the middle mouse button.

3. *drag* of the left mouse button does "copy".  Unlike Motif, other methods
of selecting text (like double-click) does not do "copy".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@807 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-30 20:21:30 +00:00
Michael R Sweet
936b75f917 C++ comments are not valid ANSI C source!!!!!!!!!!!!!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@796 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-25 20:32:49 +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
Bill Spitzak
ecd524fdc7 Calling deactivate() from a non-displayed widget could cause an infinite
loop.  I didn't really fix this, but I removed deactivate() from constructors
and replaced with set_flag(INACTIVE).  The loop would happen if a widget
responded to FL_MOVE by calling draw_overlay or otherwise creating an
overlay, which is a pretty rare event.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-23 05:59:27 +00:00
Bill Spitzak
06ea565dba Fixed configure uversion for Irix 6.5
Fix (untested) xparsecolor emulation on Win32 for #x where x != 6 digits


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@789 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-19 04:50:34 +00:00
Bill Spitzak
2e58f174f7 Changed the sgi -woff pragma to the new #define suggested by Michael Sweet.
Cast in draw_pixmap that produced an error in the OSF1 compiler fixed.

Error in emulation of GLUT_KEY_F?()


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-16 19:58:22 +00:00
Bill Spitzak
a7904da09a I fixed Fl_Tabs so that child tabs can be added/removed without any
concern if they are selected, it uses the first visible() child to
indicate the selected tab.

Fixed up rather bogus fix for selecting entire text field when you click
on it.  This new version does not do it for multi-line and does not
mess up the middle-mouse paste action.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@777 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-15 09:01:48 +00:00
Bill Spitzak
b9c6935372 Fixed the shiny demo (and a DD program). Note: this fix is not
in fltk 2.0.  It correctly draws the box behind a slider.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-15 08:14:37 +00:00
Bill Spitzak
1d5fcfd080 Forgot to check in the header file changes
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@775 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-14 04:58:13 +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
Michael R Sweet
4ccf6b4b37 Changes for 1.0.6 release.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@752 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-27 18:16:36 +00:00
Bill Spitzak
be101a57e6 Fl_Repeat_Button removes the timeout if it is deactivated or hidden
while it is still held down.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@739 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-20 04:27:24 +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
Michael R Sweet
5e57d3cc12 Added missing README file...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@724 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-15 17:37:42 +00:00
Michael R Sweet
c4cc8d6693 Fixed typos...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@722 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-15 17:19:47 +00:00
Michael R Sweet
fbe24c3b80 Updated for FLTK 1.0.5.
Added EPM distribution list file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@721 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-15 17:05:50 +00:00
Michael R Sweet
aa9c028aeb Added Fl_Roller fix from 2.0 tree.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@719 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-15 16:07:03 +00:00
Michael R Sweet
9afb77da56 Fixed long-standing bug reported by Rick Sayre in Fl_Browser_ - if the
draw code added a horizontal scrollbar it might not add the vertical one
until the next redraw.

Added FreeBSD to the list of platforms needing the scandir function cast.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-15 15:18:12 +00:00
Bill Spitzak
54a6bda767 The arrow patch is in!
Slightly modified version of the second version submitted.
It reuses the resizing code for the mouse drag and does not turn on the overlay
if it has been toggled off.  Also cleaned up some very hard to understand
code for handling FL_KEYBOARD.

Arrows move the selected widgets by 1 pixel
Shift moves the right+bottom edge of the selected region
Ctrl moves by the current grid step

Also typing the letter 'o' in a window is a shortcut to toggle the overlay
on and off.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-10 16:40:17 +00:00
Bill Spitzak
820654ccd6 Does not write "extern foo *bar" declarations twice.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-08 06:05:00 +00:00
Bill Spitzak
7f60ccd9ad Added missing FL_EXPORT to Fl_Window::resize()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-27 08:27:42 +00:00
Bill Spitzak
6b07587d74 Now correctly draws XPM files with 16-bit color indexes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@674 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-25 05:37:40 +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
1706466f04 Added inline function make_visible(n) to scroll it to show line n.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-20 07:54:36 +00:00
Bill Spitzak
fb52f23826 You can make virtual destructors
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-17 05:33:12 +00:00
Michael R Sweet
eed1f2a359 Fixed compile error with gcc 2.95 - the "d" string needed to be cast to
(void *) in both menus...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-09 14:38:40 +00:00
Michael R Sweet
81241af1cf Don't need ::write_declare, just write_declare...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@642 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-09 13:53:55 +00:00
Michael R Sweet
1e4abdc8d0 Dropped #pragma from x.H - first, it isn't supported by the 5.3 compilers,
and second, we have (I thought) a check in the configure script for this
anyways...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-09 13:53:21 +00:00
Michael R Sweet
018667ce16 Fixed configure.in for HP-UX - wasn't detecting vsnprintf and snprintf
properly (needed to use AC_CHECK_FUNC and fixed uversion string).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@640 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-09 13:35:04 +00:00
Bill Spitzak
7508ce1e31 It crashed when a group with exactly 1 child was deleted.
Overlay on a single buffered Fl_Gl_Window is faked more accurately when
there is no overlay hardware.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-09 06:19:33 +00:00
Bill Spitzak
467e73ed0b Added Chrisophe Kalt's patch to add "extern "C"" to functions
if desired.

Added Chrisophe Kalt's patch to let you create Fl_Pack.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@638 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-05 09:01:25 +00:00
Bill Spitzak
16a999efd0 Fixed so that a public declaration like #include "Foo" is written to the
header file in the correct order, before anything written by an later
object in the fl file.  It used to write the extern callback definitions
first, this would fail if they used a type that was in the header file.
This also simplified the (still messy) code by getting rid of the
write_declare() virtual function.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@637 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-05 08:01:40 +00:00
Bill Spitzak
243525a903 Put in a meta tag that is supposed to stop search engines from searching
the documentation (this is so a search for fltk does not produce hundreds
of hits on the documentation).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-31 08:01:20 +00:00
Bill Spitzak
a7ae9b3c49 String output (for images in the C code) does not produce trigraphs
(the ??x sequences) by accident.  It also should produce somewhat
shorter output by using only 1 or 2 digits in some \oct characters
and using string constant pasting ("") to shorten some sequences.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@634 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-31 08:00:09 +00:00
Michael R Sweet
bc5a58036a Fixed link to XPaint...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@633 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-29 13:26:02 +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
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
Carl E. Thompson
ae621ef778 Fixed core dump when drawing with a font but it hadn't been previous set.
Carl


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@625 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-21 01:21:49 +00:00
Carl E. Thompson
4da7a06300 Removed patch - didn't fix problem.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@624 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-12 12:22:45 +00:00
Michael R Sweet
4acc49c207 Testing a possible Fl_Menu_::add() bug fix...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@623 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-12 11:59:03 +00:00
Michael R Sweet
38e5cf7db0 Added inline deactivate() method that calls Fl::remove_timeout()
for Fl_Repeat_Button.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@622 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-10 23:16:13 +00:00
Michael R Sweet
52cd3040d1 Fl_Decl_Type::write_code1() didn't work for class destructors.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-09 15:04:47 +00:00
Michael R Sweet
5dadca9c90 Added "delete local_array[]" to Fl_Menu_Item::insert().
Moved value_->hide() in Fl_Tabs::value() before show to avoid bug when
there is only 1 child (fix from Petr Vilim).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@620 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-07-06 16:16:38 +00:00
Michael R Sweet
701141bcfe Added inline destructor that calls Fl_Browser::clear() method...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-06-20 14:38:12 +00:00
Michael R Sweet
971dc6583b Was escaping characters from 0x80 to 0x9f, but these are used by the
PostScript and Windows ISOLatin1 encodings (and the X11 fonts which use
them...)  Commented the code out for now...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-06-16 15:14:42 +00:00
Michael R Sweet
fbc03d29f1 Put curley braces around selection clear code to work around
VC++ variable scoping bug...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-06-12 15:09:19 +00:00