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
Fl_add_idle adds new functions to the end of the queue ring, rather than the
start, so they are executed in the order added, and a callback that adds
itself does not prevent others from being called.
Fluid lets you type in code that starts with '#' for cpp directives.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(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
Fix for Borland or other platforms where GLint != int.
Fixed browser scrollbars so they work if browser is inside a scroll
(it did not update their position to match where they were drawn)
Fl_Output (and non-focused Fl_Input) now scroll in response to position()
calls from the program to show the position. In addition I cleaned up the
horizontal scrolling of Fl_Input to be less screwy, it now never scrolls
if the text actually fits in the widget.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
determine if we should use the built-in hand cursor instead of up-
arrow...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
the title bar!)
Now call MessageBeep() under WIN32 for all popups and XBell() for
fl_alert() under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@885 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1. Browser responds to FL_KEYBOARD as well as FL_SHORTCUT. If you subclass
it to accept focus then keyboard navigation will work. I could not do his full
patch as it broke the file chooser's tab completion and perhaps other programs.
2. Fl_Tile and Fl_Tabs do their callback when the user changes their display.
3. Made some of the private methods of Fl_Browser protected.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@879 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
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
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
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
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
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
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
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
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
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
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
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
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
/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
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
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
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
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
and only clear the selection when it isn't one of the app's windows).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@601 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
WM_DESTROYCLIPBOARD message from coming from our own
window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@589 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Drawing of scrollbars altered somewhat so that the box (if any) goes
around the buttons, this seems to match the design that other toolkits
use. Hope everybody likes this... This required internal changes
to the Fl_Slider and Fl_Value_Slider as well but they should draw
exactly the same.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@587 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
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
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
in on April 8, but it seems to have disappeared from the CVS.
-Carl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@574 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
They act like up/down arrows except they circulate around at the end.
Fixed a typo in fluid that made it not write when() correctly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@559 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
FLUID makefile referenced LDFLAGS, but we only define CFLAGS and CXXFLAGS.
Fl_Browser::item_height() didn't handle blank lines (returned 2 for the
height). Also, didn't use textfont() when figuring out text height.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
including one that was set with menu(). It copies the static menu if
necessary and keeps track of the size of the menu so it can reallocate
the array exactly when necessary.
This should make modifying the items in a menu much more predictable and
usefule.
I don't know if these changes will go cleanly into 2.0. Probably not.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@550 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
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
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
compiled this on BC++ 5.0 upgraded to 5.0B via the two monster patches.
I didn't turn on optimization because my version of BC++ doesn't seem to
do much in the way of optimization (FLUID was only 1k smaller when
optimized for size). VC++ generates smaller code.
The examples that use OpenGL don't work because Borland's linker can't find
"wglShareLists". I'm sure this is a simple problem, but I don't know how
to fix it.
Borland's C++ compiler won't allow you to call main() from C++, so I had
to add a c function in "fl_call_main.c" to call it so that you don't have
to do that WinMain crap. However, when I added this file to the Visual C++
project it converted the whole thing from 5.0 format to 6.0 format. The
files look the nearly identical so I don't think this should be a problem
for 5.0 users, but if it is then you can revert them back to the previous
version and just add this one source file.
Borland really doesn't suck that bad. It doesn't look as polished as VC++
and it refused to supress some warnings for no reason, but I forgot how
much I liked the feel of Borlands compilers... Much more intuitive then
MS VC++.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Updated makefiles and makeincludes to use DSONAME and GLDLIBS.
Updated configure.in to use DSONAME instead of LIBNAME.
Updated editor example code in documentation.
Added ANSI C++ changes to make things compile with the latest EGCS
compiler.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@458 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Includes a real bug that was in Fl_Gl_Window.c (#if WIN32)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Changed a comment in Fl.cxx
Changed valuators demo to remove code to set value() on some widgets and
put the value into the gui box instead.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@421 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
set angle2 < angle1. Deleted the unimplemented direction() control.
Fixed the documentation, this new code allows any 2 values for the
angles as long as abs(a-b)<=360.
git-svn-id: file:///fltk/svn/fltk/trunk@399 ea41ed52-d2ee-0310-a9c1-e6b18d33e121