Commit Graph

390 Commits

Author SHA1 Message Date
Bill Spitzak
07656afb7d Fl_Menu_add of a menu item with the same name as an existing submenu
title would mess up by replacing that menu title, it now adds a new
item.

Fl_Menu::add() of text starting with '/' to a menu is assummed to be a
filename. So "/foo/bar" creates a single menu item. You can also put
filenames into submenus by doing "submenu//foo/bar", this will create
a submenu called "submenu" with an item "/foo/bar". Menu items
starting with "\_" will insert an item starting with '_' rather than a
divider line. These changes make the menus compatable with fltk 2.0.

Another little fix for the BoXX OpenGL overlays.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1460 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-05-19 21:30:23 +00:00
Michael R Sweet
9c19542bd2 Changes for AIX (still have menu problems)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1458 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-05-11 18:37:08 +00:00
Bill Spitzak
38c947bd09 Compiling with -DBOXX_BUGS will work around some problems with the newest
X drivers that BoXX delivers, the problems all affect use of Overlays for
normal X drawing and OpenGL drawing. Normal compilation is unchanged.

The file chooser buttons use user_data() rather than the label to decide
what to do, allowing the label to be somewhat cleaner.

Selection color on X changed to blue, to match what happens on Windows now.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1452 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-05-05 23:39:01 +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
Michael R Sweet
d3afe9c10a Don't use GCC c++ or g++ compiler to build programs, use gcc instead.
Some more anti-warning stuff...

Added --disable-gl option to disable OpenGL support + check.

Added code to stop the configuration if X11 could not be found.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1441 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-25 13:34:43 +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
Michael R Sweet
022ba3679f AIX changes...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1430 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-13 19:13:14 +00:00
Michael R Sweet
b8a8c98f04 Eliminate all compiler warnings (string constants, const'ness, hiding of
class members, empty fl_call_main.c)

Update pixmap functions to accept const * const * or * const * pointers.
(confused? :)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1429 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-13 19:07:40 +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
Bill Spitzak
7b7ca88b49 Fl_has_idle only tested N-1 callbacks and missed one
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-04-13 17:22:43 +00:00
Bill Spitzak
339b9cd8a0 can_do_overlay was missing from WIN32 version
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-03-20 18:02:52 +00:00
Michael R Sweet
3a9d945d07 Use the Multithreaded DLL runtime model for all projects - I haven't found
a system yet that this doesn't work on, and you get smaller executables...

FLUID source needs Windows headers for GetTempPath and MAX_PATH definitions.

Visual C++ complained about the "char **/*argv*/" in CubeMain; added a space
so that */ is not seen.

Include <stdlib.h> to get argc/argv definitions rather than hardcoding
the declarations.  This seems to work in all modes.

Add can_do_overlay() method for WIN32 (seems to work on my TNT card at least)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1416 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-03-15 22:39:57 +00:00
Bill Spitzak
97234fb3e2 Replaced remaining _WIN32 symbols with WIN32
Stuff from work:

Removed reference to unused GL/glu.h header file, which is missing on
some Linux systems.

Fl_Gl_Window has a new method to allow you to get and set the context:

  void Fl_Gl_Window::context(void*, int destroy = 0)
  void* Fl_Gl_Window::context() const;

  Return or set a pointer to the GLContext that this window is
  using. This is a system-dependent structure, but it is portable to
  copy the context from one window to another. You can also set it to
  NULL, which will force FLTK to recreate the context the next time
  make_current() is called, this is useful for getting around bugs in
  OpenGL implementations.

  If destroy_flag is true the context will be destroyed by fltk when
  the window is destroyed, or when the mode() is changed, or the next
  time context(x) is called.

Some cleanup of Fl_Gl_Choice to move most of the system dependent
#ifdefs into Fl_Gl_Choice.cxx.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1413 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-03-14 17:20:02 +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
f27086d068 Make sure menu item array is cleared to avoid uninitialized memory
accesses...

Fixes for manpage rules...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1369 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-02-12 15:34:37 +00:00
Bill Spitzak
4fb627c3d8 fl_curve uses a much better algorithim to figure out how many pieces
to cut the curve into.

Right-ctrl does not delete selected text in Fl_Input, until you type a
composed character.

Added simple fltk.3 and fluid.1 manual pages and "make install" in the
documentation directory installs them.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1361 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-28 06:57:33 +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
d244d063ff APIENTRY doesn't need to be used for the font pointers in glut.H
APIENTRY should appear between the return type and function name.

WIN32 is defined by MSVC++, not _WIN32.  Updated the sources to work
with both.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1343 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-06 15:45:13 +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
0c6010abea Fix for Fl_Scroll redrawing background.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1335 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-11-20 15:30:54 +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
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
710dcef237 Fl_Menu_::add() ignores '&' signs when comparing menu items, so you don't
have to make the shortcuts the same all the time.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1316 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-10-17 07:39:06 +00:00
Bill Spitzak
65cbea2af3 CUA function keys, code submitted by George Yohng <yohng@drivex.dosware.8m.com>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-10-17 07:23:42 +00:00
Bill Spitzak
b56f14d91c Fl::set_fonts() on WIN32 fixed to work before the first window is shown.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1313 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-10-17 07:03:41 +00:00
Bill Spitzak
a5d75b0fcd Fl_Tabs draws the background behind the tabs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1312 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-10-17 06:53:20 +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
77d42ecdd3 Menu titles and buttons in the menubar can be images (allows it to be used as a toolbar)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1306 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-23 08:21:52 +00:00
Bill Spitzak
ec8ebc1ef7 Fixed bit-flipping patterns in WIN32 bitmap code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1304 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-23 07:33:39 +00:00
Bill Spitzak
88076bafd1 Reads selectBackground from the xrdb database to set the selection color.
Adding this to your .Xdefaults will make fltk and Motif programs look
much more Windoze-like:
*selectForeground:              white
*selectBackground:              #000080


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-19 07:53:55 +00:00
Bill Spitzak
33c5896a26 FL_WHEN_RELEASE on Fl_Input will now do the callback when the input
field is hidden, for instance when it is on a tab and the user switches
to another tab.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1302 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-19 07:21:19 +00:00
Bill Spitzak
1a5acb3782 Fl_Gl_Window with an overlay on X always resized any child windows even
if you turned resizable() off because it turned it back on to resize
the overlay window. This patch avoids changing resizable().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1301 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-15 07:52:51 +00:00
Bill Spitzak
9a602688e8 Fix so multiple Fl::add_idle() calls works
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1297 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-05 17:15:48 +00:00
Bill Spitzak
b786f11bc6 The input focus got messed up if you called Fl_Tabs::value(x) and there
was something that took focus on an earlier tab.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1296 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-08-30 05:51:39 +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
fb06bd8019 Patch from Mike Lindner to make the turning on/off of scrollbars on
Fl_Scroll smarter. It appears to work with my own tests. He did not
handle FL_ALIGN_TOP correctly, fixed that.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1285 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-08-12 08:42:12 +00:00
Bill Spitzak
797d78d86c Shortcuts for "buttons" in a Fl_Menu_Bar work again.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1267 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-07-30 00:31:44 +00:00
Bill Spitzak
97a234ff4a While looking at Xdnd I discoverd that jx (or at least their demo program)
cannot paste from fltk programs.  This appears to be because JX barfs if
the pasting program does not respond correctly to the TARGETS XConvertSelection.
I added a response that fltk only can do text and this seems to make it
work.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-07-13 08:51:22 +00:00
Bill Spitzak
ba1d83cf47 Shortcuts for submenu titles in a menubar pop up the submenu (rather than calling the callback)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1250 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-07-11 05:36:39 +00:00
Bill Spitzak
7badf7c216 Buttons with box(FL_NO_BOX) did not draw. Apparently they did in
older versions of fltk, I restored this. (bug 108771)

Removed 8-bit colormap drawing code that was not doing anything in
fl_draw_image due to Mike's changes.  I also made fl_color(r,g,b)
actually allocate the requested color rather than the nearest fltk
color-cube color (this is only done for the first color that maps to a
given entry in the fltk color cube), the result is that pixmaps with a
small number of colors are drawn much more accurately. The resulting
code seems to produce better images and is a good deal smaller!

Fixed makeinclude.in so CFLAGS are used for c source code instead of
CXXFLAGS. (bug 108694)

Better fix for gif files suggested by pauly (bug 108770)

Performance of Fl_Gl_Window may be improved on some types of OpenGL
  implementations, in particular MESA or other software emulators, by
  setting the GL_SWAP_TYPE environment variable.  This variable
  declares what is in the back buffer after you do a swapbuffers.

  setenv GL_SWAP_TYPE COPY

    This indicates that the back buffer is copied to the front buffer,
    and still contains it's old data. This is true of many hardware
    implementations.  Setting this will speed up emulation of
    overlays, and widgets that can do partial update can take
    advantage of this as damage() will not be cleared to -1.

  setenv GL_SWAP_TYPE NODAMAGE

    This indicates that nothing changes the back buffer except drawing
    into it.  This is true of MESA and Win32 software emulation and
    perhaps some hardware emulation on systems with lots of memory.

  All other values for GL_SWAP_TYPE, and not setting the variable,
  cause fltk to assumme that the back buffer must be completely
  redrawn after a swap.

  This is easily tested by running the gl_overlay demo program and
  seeing if the display is correct when you drag another window over
  it or if you drag the window off the screen and back on. You have to
  exit and run the program again for it to see any changes to the
  environment variable.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-07-07 08:38:58 +00:00
Bill Spitzak
a5ae7d54a6 Fix suggested by Stuart Levy to fix scrolling when deleting items from
the browser.

I replaced the -$(MAKEFLAGS) with $(MFLAGS) as per the gmake
documenation.  Apperntly this works with other make programs and
MAKEFLAGS is passed invisibly by gmake, though the documenation is not
too clear...
VS: ----------------------------------------------------------------------


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1245 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-30 04:23:13 +00:00