The previous version would reposition windows in the screen that currently contains the mouse. That feature made it impossible to position tool windows on a second monitor, etc. .
This change does not affect popup windows which will still pop up in the screen that has the mouse pointer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4559 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Patch provided by Amir Shalem <amir@boom.org.il> in STR#995 .
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4541 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The problem seems to be an idefinite repeat of the WM_PAINT message. The driver sends an internale WM_PAINT (one that does not contain an update region). FLTK then creates a union with the still existin 'i->region' of the OpenGL window, causing yet another WM_PAINT message.
The fix is to not run through the WM_PAINT handler at all if there is no update region (as suggested by Microsoft). This change is definetly debatable, since it does modify some internal FLTK behavior. I will commit it anyways for now, but we should pay very close attention to redraw problems by those who use the svn releases.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4456 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fixed fake_X_wm call on Win32 to return the correct window decoration sizes, even in XP's "Teletubbies" mode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Use fl_yes and fl_no for the Forms emulation, instead of the hardcoded
strings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4283 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is how the bug looks like: load a test project that uses a single buffer window, 'scroll' fails nicely. Compile (in debug mode) and run. If you now quickly drag another window across the fltk window, some white spots will remain unrefreshed. Another great candidate is 'input_choice', but 'fluid's toolbox fails as well.
This fix is part of the WM_PAINT message handler. Instead of validating the whole area that FLTK drew, we now only validate the area that Win32 beleives was damaged. This may be inefficient if we redraw larger areas, but I did not see any refresh errors anymore, which IMHO has priority.
Again, I'd be very happy if other ussers could check for and confirm the bug and the fix.
Thanks!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4244 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Now use new screen_xywh() API for keeping things on the current screen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl::delete_widget() (STR #679)
src/Fl.cxx:
- Post an application message when a window is hidden on WIN32.
src/Fl_win32.cxx:
- Change async select message to WM_APP + 1, and document
our use of WM_APP.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4043 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added DESTDIR support and now remove all man pages for the
"uninstall" target (STR #545)
Fix PNG drawing on buggy WIN32 graphics cards (STR #548)
The configure script didn't propagate the CPPFLAGS environment
variable (STR #549)
The numpad keys didn't work properly on WIN32 (STR #502)
fl_input() and friends now set the input focus to the text field
when the dialog is shown (STR #553)
Fixed background color mixup when drawing Fl_Choice menus (STR
#544)
Fixed MingW makefiles (STR #550)
More VC++ project file tweaking (STR #559)
Fl_PNG_Image didn't use the png_set_trns_to_alpha function when
available (STR #547)
The FL_UNFOCUS event wasn't always sent when switching tabs (STR
#558)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3868 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
#61)
Fl_Double_Window now has a type() value of FL_DOUBLE_WINDOW, to
allow double-buffered windows to process redraws properly on
WIN32 (STR #46)
Added FL_DAMAGE_USER1 and FL_DAMAGE_USER2 damage bits for use by
widget developers (STR #57)
Fl_Help_View didn't support numeric character entities (STR #66)
Menu shortcuts didn't use the Mac key names under MacOS X (STR
#71)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Tabs now uses FL_DAMAGE_SCROLL for damage to
the tabs themselves.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2683 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
different WIN32 message for threading under Windows.
(didn't include the cleanup or release changes)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2336 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
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
- added dnd support for Fl_Group (not tested with X!)
- added dnd support for Fl_Input (not tested with X!)
- no Mac implementation yet!
Go ahead: drag text or a file from the explorer into
a text widget! Tadaa!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1971 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
column width.
Pass UNFOCUS events to parent groups, too (for Fl_Tabs)
Conditionally compile in support for TrackMouseEvent(), since support
for it is spotty at best.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
Fl_Group::handle() didn't pass FL_RELEASE events to
Fl_Browser_ and similar subclasses of Fl_Group; updated to
pass only to widget that should receive the event.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1547 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fix sign of Fl::e_dy to match screen coordinate directions under WIN32.
Note: tooltips not working under WIN32...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1546 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
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
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
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
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
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
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
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
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
Enumerations.H so they are available to any fltk programs.
More fixes to the fake-overlay code in Fl_Gl_Window (it did not work on
Win32 when there were 2 different-sized windows)
Fix to Fl_compose to not quote the Delete key fixed to allow the right-
control key to still be the compose prefix and to allow it to quote
control characters.
OSF1 used the same parameters for scandir as SGI and unlike Linux and
apparently most other Unix's
fl_ask, message, etc windows are resizable, which is useful if you use
them to display arbitrary output from a program.
On Win32 non_modal (but not modal) windows have close and size boxes, as per
popular demand at Digital Domain.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The symbol "table" from fl_cursor.cxx is no longer public
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@997 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
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
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
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
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