summaryrefslogtreecommitdiff
path: root/FL/Fl.H
AgeCommit message (Collapse)Author
2016-03-12Add localization of modifier key names in shortcut labels.Albrecht Schlosser
Modifier key names like Alt, Shift, Ctrl, Meta can now be localized by setting global string pointers. See documentation of fl_shortcut_label(). Port branch-1.3, svn r 11321. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11354 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02Add support for SDL as a base library on OS X.Matthias Melcher
This commit adds the basic setup in CMake to allow SDL as a base library for FLTK on OS X (and probably for other platforms as well). The SDL library driver set is derived from yet another new driver set named 'Pico'. 'Pico' is a base class for a driver that will allow porting of FLTK with the tinyest amount of effort. This implementation of the SDL driver shall be documented very well to explain the porting process. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-24Avoid static initializers to allow FLTK usage in static initializers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11213 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13[Cairo] Remove part of the dependency of FL/Fl.H on config.h.Albrecht Schlosser
To use Fl_Cairo_Window one did not only need to configure with --enable-cairo, but also needed to #include <config.h> before #include <FL/Fl.H>. This commit removes the smaller part of the dependency of the public header file FL/Fl.H on config.h. This needs a better solution in FLTK 1.4.0. The user still needs to define FLTK_HAVE_CAIRO _before_ #include <FL/Fl.H>. Note: This is not compatible with fluid, since fluid _always_ includes FL/Fl.H as the first statement in generated header files. See also the discussion in fltk.general: https://groups.google.com/d/msg/fltkgeneral/_C1OJhMLQl0/pHUFtz9SCwAJ Note: also fixed a typo in src/drivers/X11/Fl_X11_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Moed Fl::visual and System_Scheme to the driverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Details on PORTME items. Move fl_parse_color() to screen drivers.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11Mark places that need to be refactored with // PORTME:Matthias Melcher
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10Basic Screen Driver Structure. LIMBO!Matthias Melcher
Creating the basic structure for a screen driver system. OS X works X11 and WinAPI are in limbo and will be fixed in the next hour or so. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11148 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28Non-changing changes... Attempting to keep the porting branch somehwat ↵Ian MacArthur
in-sync with doc changes in main 1.3.x None of these changes alter the actual code. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-271) Added a new way to detect whether the drawing operation is using the ↵Manolo Gouy
platform's native driver and whether we are printing: virtual int Fl_Graphics_Driver::has_feature(driver_feature feature) This is also because it is not convenient to derive a printer-specific driver with its own implementation of virtual functions when this implementation differs only in one line of code. 2) Solved the problem of inclusion of non public header by the public header FL/Fl_Device.H: bracket this with #if FL_LIBRARY / #endif so this non public header is included only when building FLTK itself. 3) Removed several (but not all) of the FLTK_ABI_VERSION guards that are no longer useful for code targeting FLTK 1.4. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-18Replaced static initializer with Fl_OpenGL_Display_Device.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11008 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-18Fixed stupid typo in variable nameMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11007 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-17Trying to create a more detaild way to configure the library, added runtime ↵Matthias Melcher
information, added an OpenGL graphics driver that renders a button on top of an OpenGL window (see test/cube). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11006 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04Created pseudo code for all FL_PORTED section so that FLTK compiles and ↵Matthias Melcher
links (Xcode, hello, other C flags: -D FL_PORTING -U __APPLE__ -U __APPLE_QUARTZ__) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03Updated platform specific #if's to report unimplemented code when compiling ↵Matthias Melcher
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
2015-12-02Mac OS: support for high resolution OpenGL windows.Manolo Gouy
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-01Mac OS: added Fl::event_x_pixel() and Fl::event_y_pixel() that return the ↵Manolo Gouy
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-10-24Fix doxygen comment of Fl::abi_check()Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10875 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-09Fix box background drawing for deactivated widgets (STR #2907).Albrecht Schlosser
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-05-18Add support for Fl::copy(..clipboard = 2..)Lauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10731 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-05Documentation: replaced characters by bytes as the correct unit Manolo Gouy
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-04Fix doxygen docs of previous commit.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10675 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04Add Fl::abi_check() method to test if the runtime ABI version is correct.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10674 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04Add FL_ABI_VERSION, FL_API_VERSION, Fl::abi_version(), and Fl::api_version().Albrecht Schlosser
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-01-19Added version information to Doxygen comments.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-20Changed OpenGL support for the Mac OS X platform: use cocoa instead of ↵Manolo Gouy
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-11-25Separate and improve documentation of overloaded Fl::event_state() methods.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10470 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-30Remove Fl::*sleep() method family, as discussed in fltk.coredev.Albrecht Schlosser
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-09-15Add methods to enable and disable the system's input methods.Pierre Ossman
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-15Add methods to intercept low level system events.Pierre Ossman
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-06-07STR #3088: make Fl_Native_File_Chooser use the standard GTK file dialog when ↵Manolo Gouy
available. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23Added copy/paste from/to FLTK applications of graphical data.Manolo Gouy
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-21Added a new portable sleep API(ABI compatible). Now features a flexible ↵Fabien Costantini
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-04-29Hmm, reverted some of my doc changes in r10134 -- could swear the optionGreg Ercolano
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-29Small doc modifications to clarify Fl::OPTION_ARROW_FOCUSGreg Ercolano
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-01-31Rename Fl::scheme_is() to Fl::is_scheme().Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21Small documentation fixups.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21New method Fl::scheme_is(const char *name).Albrecht Schlosser
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
2013-09-22STR #2860: Mods for full screen support.Greg Ercolano
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-13Added code example for ossman's new add_clipboard_notify(),Greg Ercolano
and updated CHANGES. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-11STR 2636. Add ability to get notifications whenever thePierre Ossman
clipboard changes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-02-08Mac OS text input: removed the Fl::marked_text_length() function that's not ↵Manolo Gouy
necessary. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-01-13Mac OS: added support for the text input feature introduced in OS 10.7 ↵Manolo Gouy
"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
2012-12-24Mac OS text input: defined a small API that user-defined text editing ↵Manolo Gouy
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-10-18Fix STR#2857: screen_xywh() mouse pointer functions may initially return ↵Manolo Gouy
wrong data. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9701 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-10Fix typos.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9338 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05Fixed build error in msvs because Fl ref to FULLSCREEN enum was not ↵Fabien Costantini
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-03-26Added support for the additional key of ISO keyboards (aka 102-key ↵Manolo Gouy
keyboards) named FL_Iso_Key. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-30About STR#2600 : some code factorization.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9101 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-29Fix STR#2695 & 2697: correct computation of work areas with multiple screens.Manolo Gouy
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