Commit Graph

234 Commits

Author SHA1 Message Date
Albrecht Schlosser
d92be3f5f1 Reduce "deprecated function" compiler warnings (STR #2913).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-05 16:51:24 +00:00
Manolo Gouy
f1b2c92fce STR#3093 continued: deleted the Fl_Shaped_Window class. Instead, added new member function Fl_Window::shape(Fl_Image*)
that gives a non-rectangular shape to a standard window. The benefit is that it works with Fl_Double_Window and Fl_Menu_Window as well.
It also works for free with Fl_Gl_Window on the X11 platform only.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-21 14:10:36 +00:00
Albrecht Schlosser
ada02ea752 Fix memory leak (STR #3069).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10323 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-19 16:28:16 +00:00
Pierre Ossman
1c7409e0a1 Add methods to enable and disable the system's input methods.
This needs to be done from FLTK as it affects the window interaction,
which FLTK is largely responsible for.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:44:35 +00:00
Pierre Ossman
5101a8ea1c Remove commented out, alternative IM code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10313 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:40:46 +00:00
Pierre Ossman
e145df2165 Add methods to intercept low level system events.
This gives applications the means to handle some low level
integration with the system that might otherwise not be possible
without modifying FLTK itself.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:17:56 +00:00
Pierre Ossman
952369163f Revert r3215. The original issue it "fixed" is no longer
reproduciable, and the change causes the wrong symbol to be
generated for Ctrl-minus. STR 264.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-12 12:38:07 +00:00
Lauri Kasanen
523c657f2e Robustness fix for the first window
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-05 13:14:16 +00:00
Lauri Kasanen
005bfa4294 Fix cross-window focus throwing on X11, similar to the Mac case. STR #3129
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-05 12:33:35 +00:00
Lauri Kasanen
9905a47ffb Cache created X11 cursors until program exit.
Each set_cursor was taking 0.5ms, due to libXcursor having to open, parse, and close
cursor theme files. Other toolkits likewise cache created cursors.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-29 11:23:44 +00:00
Manolo Gouy
8997131377 Added the Fl_Shaped_Window class to support windows of arbitrary shapes.
The new class is fully Doxygen-documented.
Added an example program (example/shapedwindow.cxx) that exercises the new class.
Modified all IDE-supporting files accordingly.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-27 11:55:57 +00:00
Lauri Kasanen
bbc8782b6a Move Xutf8.h to src/, update includes, refresh makedepends
This is an internal header.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-23 08:41:58 +00:00
Lauri Kasanen
64dd5df141 Enable symbol visibility on Linux, bringing a shared libfltk on par with Windows.
Also drops the size of libfltk.so nicely.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10236 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-21 12:29:48 +00:00
Lauri Kasanen
d9505e1b24 Mark a few symbols static. This is the bulk from STR #3111.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-21 12:13:47 +00:00
Pierre Ossman
f58b1a91b3 Add ability to set custom icons for windows. STR #2816.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:39:32 +00:00
Pierre Ossman
332dc1b7ac Add method to set any custom cursor, based on a Fl_RGB_Image object.
Also change our fallback cursors to use this method, so that fallback
cursors are handled in a platform independent manner. STR #2660.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:17:57 +00:00
Pierre Ossman
7057e56c28 Behave better when it comes to modal windows. Primarily this
makes sure that windows are decorated better when a modal window
is active. STR #2802.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-11 14:09:28 +00:00
Pierre Ossman
0cfc2554c6 Support for full screen over multiple monitors.
The API follows that of EWMH, which gives you a good control
over which monitors to use.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-11 09:10:53 +00:00
Manolo Gouy
e3959bbaff Fixed D&D to FLTK broken by recent commits.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-01 17:21:37 +00:00
Manolo Gouy
9b79cb89f7 Fixed source formatting error.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-01 07:20:03 +00:00
Manolo Gouy
50405942b5 Restore D&D of filenames that was broken in recent commits.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10179 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-01 07:17:15 +00:00
Manolo Gouy
44c2ca6521 Fl::clipboard_contains(): handle now properly the case when there's nothing in the clipboard.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10176 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-29 15:28:04 +00:00
Manolo Gouy
ecb31ba5e8 Removed compilation warning about signed/unsigned comparison.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 21:19:29 +00:00
Manolo Gouy
8b62acc266 Added required #include <time.h>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10161 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 18:27:55 +00:00
Manolo Gouy
07dd8ba328 Added copy/paste from/to FLTK applications of graphical data.
Added Fl_Image_Surface class to draw into an Fl_Image object.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 16:47:21 +00:00
Greg Ercolano
d175f860db Fixed casing issue for code comment: XkbSetDetectableAuto*R*epeat()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10118 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-03-13 16:57:52 +00:00
Albrecht Schlosser
ef952dfa53 Fix crash when Fl_Window::flush() is called before show() (STR #3028).
The fix is twofold:
 (1) if Fl_Window::flush() is called, this is ignored silently
 (2) if Fl_Window::make_current() is called directly, but the window
     is currently not shown(), then the program will be terminated
     with an error message.
The latter is necessary because returning from make_current() would
leave the program in a state where it would expect to have a valid
drawing context.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-07 00:09:52 +00:00
Pierre Ossman
9d2da70d04 32-bit properties are always represented by a long. Using
unsigned causes us to read the wrong values on x86_64.
The length is also defined as the number of 32-bit values,
not the number of bytes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-14 15:57:45 +00:00
Albrecht Schlosser
e77c0cd47c Small addition to fix for STR #2985 - see comment in source file.
Fixes a small potential of another leak.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9998 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-09 11:46:36 +00:00
Greg Ercolano
2082d7e197 Fixes STR# 2973: collection of Sun compiler fixes.
Applied str_2973_r9979_sun-fix-warnings-7.patch (with small mods)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9980 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-21 16:41:23 +00:00
Greg Ercolano
2fc6c3a39b Fixes STR #2985: prevent memory leaks with XGetWindowProperty()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-20 03:36:02 +00:00
Greg Ercolano
578310dd0f Fix Solaris warnings mentioned by Micha on fltk.coredev Sep 16 '13
in thread entitled "Re: STR 2636, clipboard notification".



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-16 12:02:40 +00:00
Pierre Ossman
1d6cc80d59 STR 2636. Add ability to get notifications whenever the
clipboard changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-11 12:54:40 +00:00
Greg Ercolano
c3a84e475f Small comment mods regarding Fl_mac.cxx -> Fl_cocoa.mm
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-06 16:35:05 +00:00
Greg Ercolano
8f8c52939e Fixes STR#2930:
Applying Chris's patch to fix d+d of text selections from Firefox/Thunderbird -> FLTK.
    Also applied Greg's fix for d+d of utf8 text in same use case.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9824 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-02-14 18:40:04 +00:00
Albrecht Schlosser
da9c3af38a Fixed access of protected member (STR #2903)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9750 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-12 17:27:23 +00:00
Manolo Gouy
9788ee6709 Fix STR #2859: after a window resize refused by the window manager, the window becomes freezed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9699 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-10-16 15:35:34 +00:00
Manolo Gouy
5e5fb530a2 Fix for STR#2877: try to load libXrandr.so.2
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9695 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-10-04 17:08:23 +00:00
Manolo Gouy
cbcf0c9312 Fixed STR #2644: support horizontal wheel movement under X11 and MSWindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9624 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-21 08:52:29 +00:00
Manolo Gouy
25bfd177ef Fix STR#2855: improved detection of screen configuration changes under X11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9600 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-14 08:36:43 +00:00
Fabien Costantini
36c52ce810 Fixed even more warnings in Fl_x.cxx & utf8Wrap.c
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-24 02:44:21 +00:00
Manolo Gouy
08ce2e07d3 Fix STR#2641: true fullscreen windows that cover all their screen including menu bar, task bar, dock.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-23 16:47:53 +00:00
Manolo Gouy
32d4bc4099 Fix STR#2810: removed all uses of function Fl_Device::class_name().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-18 18:48:29 +00:00
Manolo Gouy
67fdcb8fa3 Fix STR #2779: clang-detected error
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-11-29 14:41:33 +00:00
Manolo Gouy
23e38f1980 Exploit the HAVE_DLSYM and HAVE_DLFCN_H preprocessor variables defined by configure
to control usage of dlopen/dlsym system calls.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9128 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-04 16:56:09 +00:00
Manolo Gouy
f309c395fc STR#2600 again: under X11, dynamically load the libXrandr shared library.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9123 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-04 09:21:47 +00:00
Manolo Gouy
e3b758c6f0 Fix STR#2724: #if HAVE_XRANDR instead of #ifdef
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9115 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-01 17:33:02 +00:00
Matthias Melcher
8e95ba0700 STR 2713: less restrictive XClass handling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-01 15:53:57 +00:00
Manolo Gouy
9bdc310346 Fix STR#2600 : screens configuration changes are now detected under all platforms.
Requires the RandR X extension.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9102 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-30 14:46:08 +00:00
Manolo Gouy
d9cda5c3aa Fix STR#2695 & 2697: correct computation of work areas with multiple screens.
This introduces 3 new functions
static void Fl::screen_work_area(X,Y,W,H)
static void Fl::screen_work_area(X,Y,W,H,mx,my)
static void Fl::screen_work_area(X,Y,W,H,screen_no)
that compute screen work areas and are used by FLTK to position menu windows.

The Fl::x(),y(),w(),h() functions are made consistent across platforms: they return
the origin/size of the work area of the main screen (as far as possible, see below).

On the Mac OS platform, all screen functions reflect changes in screen number and 
positions without requiring the application to restart.

On the X11 platform, I did not find an API to compute the main screen work area
in all conditions. What's used does compute the correct work area when there's
a single screen, but not when there are several, because it returns an area that
encompasses all screens. The implemented workaround is that Fl::x(),y(),w(),h() 
and Fl::screen_work_area(X,Y,W,H,0) return the exact work area when there's 
a single screen, and return the full screen area when there are several.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-29 16:04:24 +00:00