Commit Graph

152 Commits

Author SHA1 Message Date
Matthias Melcher
acf6c881d3 Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03 22:54:29 +00:00
Manolo Gouy
22af09dae7 Mac OS: support for high resolution OpenGL windows.
Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.

The documentation explains in more detail how to write cross-platform
FLTK code supporting high resolution OpenGL windows on retina displays.

The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 09:59:37 +00:00
Manolo Gouy
597ac17bda Mac OS: added Fl::event_x_pixel() and Fl::event_y_pixel() that return the mouse event position
in pixel units that differ from FLTK units for OpenGL windows mapped to a retina display.
On non Mac OS platforms, these are synonyms of Fl::event_x() and Fl::event_y().
The example/OpenGL3test demo program is modified to call these new functions.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10941 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 16:17:37 +00:00
Albrecht Schlosser
43e4f8a661 Fix doxygen comment of Fl::abi_check()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10875 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-24 09:55:18 +00:00
Albrecht Schlosser
4cea3aee0c Fix box background drawing for deactivated widgets (STR #2907).
Two new static methods have been introduced:

  - Fl::box_color(Fl_Color c) returns the bg color dependent on the
    widget's state (inactive_r()).
  - Fl::set_box_color(Fl_Color c) sets the correct bg color dependent
    on the widget's state by calling fl_color(Fl::box_color(c)).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10781 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-09 00:10:44 +00:00
Lauri Kasanen
03f69c0dd5 Add support for Fl::copy(..clipboard = 2..)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10731 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-18 09:10:06 +00:00
Manolo Gouy
0b3471658d Documentation: replaced characters by bytes as the correct unit
of Fl::event_length() when pasting text.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10678 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-05 20:05:46 +00:00
Albrecht Schlosser
579783def0 Fix doxygen docs of previous commit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10675 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 16:51:37 +00:00
Albrecht Schlosser
36385a4b56 Add Fl::abi_check() method to test if the runtime ABI version is correct.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10674 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 16:21:52 +00:00
Albrecht Schlosser
94ddbc1995 Add FL_ABI_VERSION, FL_API_VERSION, Fl::abi_version(), and Fl::api_version().
The new constants are the API and ABI versions in int format, resp.
The new static methods return the compiled-in API and ABI versions, resp.

FLTK_ABI_VERSION is deprecated, but still defined (same as FL_ABI_VERSION).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10673 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 15:36:04 +00:00
Manolo Gouy
07eaf2810a Added version information to Doxygen comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19 13:14:15 +00:00
Manolo Gouy
f3a84c0ee5 Changed OpenGL support for the Mac OS X platform: use cocoa instead of deprecated AGL.
All changes are mac-specific, except a very minor change in file src/gl_draw.cxx
where string drawing wrongly claimed to support @symbol, not possible
because symbols are drawn using non-GL primitives.

Unchanged application code can use the new FLTK code.
In addition, the new code allows mac applications to draw OpenGL scenes
at high resolution on so-called 'retina' displays, but this requires some
support from app code. They must call, before opening GL windows,
Fl::use_high_resolution(1);
and change their glViewport() calls as follows
glViewport(0, 0, pxel_w(), pixel_h());
This uses 2 new member functions of the Fl_Gl_Window class,
pixel_w() and pixel_h() returning the window dimensions in pixel
units, that is, twice the w() and h() when the window is mapped
on a retina display.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-20 07:19:23 +00:00
Albrecht Schlosser
278fafb2f3 Separate and improve documentation of overloaded Fl::event_state() methods.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10470 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-25 14:18:23 +00:00
Albrecht Schlosser
3e1da3012a Remove Fl::*sleep() method family, as discussed in fltk.coredev.
Hopefully this doesn't break Windows or Mac OX IDE builds, please help
testing.

Short story: these functions showed compatibility problems, lacked some
quality (regarding interruption by signals), and maybe more.

This is a combined commit that reverts three (3) svn commits. The following
lists are extracted from git, but show the svn revisions and files:

    Remove Fl::*sleep() family, part 1: revert svn r 10287.

:100644 100644 a988702... 794920f... M	ide/Xcode4/FLTK.xcodeproj/project.pbxproj

    Remove Fl::*sleep() family, part 2: revert svn r 10151.

:100644 100644 cf839e6... bfde9c4... M	ide/Xcode3/FLTK.xcodeproj/project.pbxproj
:100644 100644 794920f... c0c772a... M	ide/Xcode4/FLTK.xcodeproj/project.pbxproj

    Remove Fl::*sleep() family, part 2b: revert svn r 10151 (continued).

:100644 100644 bfde9c4... abf2922... M	ide/Xcode3/FLTK.xcodeproj/project.pbxproj

    Remove Fl::*sleep() family, part 3: revert svn r 10150.

:100644 100644 b469018... e76a3e5... M	FL/Fl.H
:100644 100644 7bb7899... 4d4755d... M	ide/VisualC2008/fltk.lib.vcproj
:100644 100644 9d9a2cf... 334aef8... M	ide/VisualC2008/fltkdll.vcproj
:100644 100644 5533a54... e30058b... M	ide/VisualC2010/fltk.lib.vcxproj
:100644 100644 e49f691... 1259c87... M	ide/VisualC2010/fltk.lib.vcxproj.filters
:100644 100644 946f31a... d53ab80... M	src/CMakeLists.txt
:100644 000000 fed36fd... 0000000... D	src/Fl_sleep.cxx
:100644 100644 3d9656c... 3b265f9... M	src/Makefile
:100644 100644 6eadbcb... 5dd5872... M	test/sudoku.cxx


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10419 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-30 16:05:22 +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
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
Manolo Gouy
baebff2227 STR #3088: make Fl_Native_File_Chooser use the standard GTK file dialog when available.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-07 12:01:59 +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
Fabien Costantini
54b0123eab Added a new portable sleep API(ABI compatible). Now features a flexible multi-usage sleep() api accepting decimals, msleep() for millisecs only, usleep() for microsecs. Updated Makefiles, cmakefiles, vs2008, vs2010 with the new Fl_sleep add-on. Documented new API. still needs to be added in Xcode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10150 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-21 04:10:12 +00:00
Greg Ercolano
ebef1faf26 Hmm, reverted some of my doc changes in r10134 -- could swear the option
in question also affected widget focus in a broader way, but apparently not..



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10136 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-29 07:48:46 +00:00
Greg Ercolano
3a14af20b3 Small doc modifications to clarify Fl::OPTION_ARROW_FOCUS
and interrelate docs for Fl_Input_::tab_nav().



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-29 02:56:34 +00:00
Albrecht Schlosser
a6a51c1444 Rename Fl::scheme_is() to Fl::is_scheme().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-31 21:51:53 +00:00
Albrecht Schlosser
ea23ff1b63 Small documentation fixups.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 14:00:43 +00:00
Albrecht Schlosser
1aba94f136 New method Fl::scheme_is(const char *name).
This is a convenience method to support easier implementation of
scheme-specific code in draw() methods and elsewhere.

Also improved Fl::scheme(const char *name) documentation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10075 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 13:29:15 +00:00
Greg Ercolano
5d4fed1ef9 STR #2860: Mods for full screen support.
Applied the fltk-1.3.x-screen_num.patch



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9982 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-22 02:33:17 +00:00
Greg Ercolano
4e6779bc49 Added code example for ossman's new add_clipboard_notify(),
and updated CHANGES.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-13 22:57:30 +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
Manolo Gouy
914e7f9b09 Mac OS text input: removed the Fl::marked_text_length() function that's not necessary.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-02-08 11:58:19 +00:00
Manolo Gouy
482c4a5e0a Mac OS: added support for the text input feature introduced in OS 10.7 "Lion" where pressing and holding
some key opens a window with possible accented characters. This feature is used by the Fl_Input_ and
Fl_Text_Editor widgets. User-defined text input widgets can optionally use this feature, but the default
behavior is to not use it. Fl_Secret_Input turns it off, for example.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-01-13 15:25:37 +00:00
Manolo Gouy
cf672dba0d Mac OS text input: defined a small API that user-defined text editing widgets can use to signal marked text.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9774 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-24 11:45:07 +00:00
Manolo Gouy
702b452540 Fix STR#2857: screen_xywh() mouse pointer functions may initially return wrong data.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9701 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-10-18 12:56:31 +00:00
Albrecht Schlosser
c28adce903 Fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9338 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-10 21:18:35 +00:00
Fabien Costantini
8809c5d65d Fixed build error in msvs because Fl ref to FULLSCREEN enum was not accessible in Fl_Widget. new inline is_fullscreen() getter has been implemented to avoid a build error with (at least) msvc compilers. Fixed a ton of warnings / problems when bilding on windows 64 bits target with ms toolchain. cleaned up about 200 warnings raised when building win74 targets.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05 05:12:30 +00:00
Manolo Gouy
0b6f546b0f Added support for the additional key of ISO keyboards (aka 102-key keyboards) named FL_Iso_Key.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-26 16:54:54 +00:00
Manolo Gouy
2df4196d8b About STR#2600 : some code factorization.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9101 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-30 13:09:06 +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
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Manolo Gouy
ea020f0081 Fix STR #2640: Fl::w() and Fl::h() are documented to return the width and height of the
main screen's work area (system-occupied space excluded); Fl::screen_xywh() functions
instead compute the full width and height of a screen.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8724 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-23 18:01:29 +00:00
Albrecht Schlosser
281489f849 Documentation updates and typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-30 12:07:52 +00:00
Manolo Gouy
dfc067ecfc Fix STR #2587: under Xlib, the X input method must be reset by the Fl::compose_reset() function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-21 16:32:37 +00:00
Manolo Gouy
7aa48e19b9 Fix STR #2575: use the screen that intersects most of the window when made fullscreen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8515 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-12 21:36:21 +00:00
Manolo Gouy
dc8edfc216 Fix for STR #2543: Fl::lock() function now returns an int that allows to detect whether
threading is available on the platform.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-06 19:46:11 +00:00
Manolo Gouy
d4007d5b06 Replaced /* \file by /** \file so Doxygen sees it.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-06 10:07:28 +00:00
Manolo Gouy
f832f4af57 Reorganized Doxygen docs of Fl::event_is_click() functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8333 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-30 08:18:52 +00:00
Manolo Gouy
d51f3b0898 Reorganized Doxygen docs of Fl::grab() functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8332 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-30 08:06:06 +00:00
Manolo Gouy
23ab3ff119 Corrected typo in Doxygen doc (again).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8323 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-28 08:37:49 +00:00
Manolo Gouy
12f064a121 Corrected typo in Doxygen doc
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8322 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-28 08:20:34 +00:00
Matthias Melcher
60eae78679 Slightly changed the event dispatch functions to allow for exception handling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8318 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-26 19:14:38 +00:00
Matthias Melcher
7b832a512e Added Fl::event_dispatch() which can add a function to FLTK that monitors all events before they reach Fl::handle(). STR 2532
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-25 19:54:09 +00:00
Albrecht Schlosser
1c38a0f2f7 Tweaks to silence more MS compiler warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8300 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-22 22:38:55 +00:00