summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-01-101) Replicate in branch-1.3-porting all recent changes of branch-1.3Manolo Gouy
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders() that contains all the platform-specific code of all operations related to drawing window borders and title bars. What is platform-specific and what is not is therefore much clearer, to ease porting. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-10Replicate in branch-1.3-porting a recent change of branch-1.3Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11001 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04Compiling in OS X from the command line goes pretty far for __APPLE__ ↵Matthias Melcher
undefined and FL_PORTING defined. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10995 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04Two more fixes for the command line versionMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10994 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-04Fix typos in #pragma FL_PORTING.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10991 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-31The changes introduced at r.10921 destroyed program-controlled window resizing.Manolo Gouy
This change hopefully repairs that. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31Mac OS: modified CMake config files to allow use of OPTION_APPLE_X11Manolo Gouy
to build an X11-using version of FLTK on the Mac OS platform. This matches the recent support of the --enable-x11 option by the configure script on the mac. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10986 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30Add configure and CMake checks for X11/Xregion.h.Albrecht Schlosser
Configure and CMake now both check if X11/Xregion.h exists on the build system and set HAVE_X11_XREGION_H in config.h accordingly. src/Fl_Pixmap.cxx: modified to use the configure test as proposed by Manolo in fltk.coredev on Dec 13 2015 in thread "Using X11 backend on OS X". git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23Mac OS: It is not necessary to open the display to send theManolo Gouy
+[NSWindow frameRectForContentRect:styleMask:] message (checked on 10.11 and 10.3). Therefore fluid -c will run without opening the display. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23Mac OS: when an app is asked to open a file by Applescript, have it redraw ↵Manolo Gouy
itself without waiting for the next event to come, because AppleScript does not break the event loop. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22Documentation only: removed warnings that appeared with Doxygen 1.8.10Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-21Mac OS: Fix for STR#3268 where a fullscreen window could become relocated Manolo Gouy
behind the menu bar and dock. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-19Trying to find how to best write the // "$Id$" lines in src/Fl_File_Chooser.flManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10973 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-18Running FLTK in static initializers (cont'd):Manolo Gouy
1) Changed the way fluid attaches images to widgets and menu items so it is compatible with running fluid-generated code containing such images in a static initializer. Images are now attached calling a function: widget->image( image_function_name() ); and this function is defined before in fluid-generated code as: static Fl_Image *image_function_name() { static Fl_Image *image = new image_type(......); return image; } 2) Changed src/Fl_File_Chooser.fl so the source code generate by fluid from it is compatible with running in a static initializer. 3) Changed src/Fl_File_Chooser.cxx and FL/Fl_File_Chooser.H to the result of running fluid on src/Fl_File_Chooser.fl git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16Running FLTK in static initializers (cont'd):Manolo Gouy
To make sure that fl_graphics_driver is initialized, it is enough to test whether it is null. This saves the memory cost of a static variable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10971 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16Running FLTK in static initializers (cont'd):Manolo Gouy
the static method Fl_Surface_Device::surface() can be called before main() starts. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15Fix Fl_Browser if text argument to some methods is NULL (STR #3269).Albrecht Schlosser
Fl_Browser::add(), Fl_Browser::insert(), and Fl_Browser::text() didn't test if the provided text argument was NULL, although this was explicitly allowed in the documentation. Also applied some minor documentation fixes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15Mac OS: it is clearer to initialize the fl_fonts global variable in ↵Manolo Gouy
font-related code. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
Mac OS: a more convenient position where to initialize the fl_fonts global variable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
Case of Fl_Native_File_Chooser. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10963 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
On the Mac platform, it is also necessary to change the initialization of the macKeyLookUp array for keyboard events to work in a static initializer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10962 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
For fl_file_chooser() and Fl_File_Chooser objects. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10961 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
On the Mac platform, it's also necessary to initialize the fl_fonts global variable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13Restore the possibility to construct FLTK objects and draw them within ↵Manolo Gouy
static initializers (which run before main() begins in an uncontrolled order). This was failing because calls to drawing functions (e.g., fl_font(f,s);) crashed due to uninitialized fl_graphics_driver global variable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-12Allow compilation with old Mac OS versions + USE_X11 mode with whichManolo Gouy
header X11/Xregion.h is not available. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10958 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-09Mac OS: using true system windows for FLTK sub-Fl_Window's.Manolo Gouy
Improved handling of the situations where a subwindow is created, hidden, the parent window resized, and the subwindow shown, with a new size. This change no longer sends setFrame: or setFrameOrigin: messages to hidden subwindows. Instead, subwindows acquire their correct size and position when they are shown again and Fl_X::map() is called. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10954 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-09Mac OS: the present code asks the system to build the mini window image when ↵Manolo Gouy
a subwindow-less window is miniaturized, and builds itself the image when a window with subwindow is miniaturized. That is mostly OK, but it fails when a window containing a subwindow is miniaturized (a mini image is computed), deminiaturized, the subwindow is removed or hidden, and the window is miniaturized again: the old mini image is used, and that is not appropriate. The solution is to remove the FLTK-computed mini image when a window with subwindow is deminiaturized. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10953 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-07Mac OS: added visibility test necessary after a subwindow-containing group ↵Manolo Gouy
was hidden. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-07Mac OS: removed some code that was duplicated by checkSubwindowFrame run later.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10950 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-03Removed compilation warning with SDKs 10.3 and 10.4uManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10948 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02Mac OS: send the setWantsBestResolutionOpenGLSurface:YES message in Manolo Gouy
Fl_X::create_GLcontext_for_window() where it is directly relevant. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10947 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-11-30Mac OS: fixed possible crash when closing fullscreen GL window with close ↵Manolo Gouy
button of title bar. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-30Mac OS: allow calling Fl_Gl_Window::pixel_w() before the window is shown.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-28Mac OS: support standard Mac OS localization procedure for system menu items.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10935 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-26Mac OS only: added the Fl_Mac_App_Menu::custom_application_menu_items() methodManolo Gouy
that allows customization of the application menu on the Mac platform. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10932 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24Added new method Fl_Copy_Surface::draw_decorated_window()Manolo Gouy
that copies a window to the clipboard together with its title bar and borders. This requires very little new code because the capture of window decorations is shared with the Fl_Paged_Device::print window() method. The device test program is changed to call the new method. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-23WIN32: fixed printing of window borders and title bar on Windows 10Manolo Gouy
by Fl_Paged_Device::print_window(). The GetWindowRect() function gives inadequate results on Windows 10. DwmGetWindowAttributes() from dwmapi.dll gives adequate results. This new function is dynamically loaded at run-time, when dwmapi.dll is available. On Windows XP, dwmapi.dll is not available. On Windows 7, DwmGetWindowAttributes() returns with error, so GetWindowRect() is used. On Windows 10, DwmGetWindowAttributes() computes the correct window full rectangle. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10921 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-19Mac OS: have Fl_Paged_Device::print_widget() print top-level windows with Manolo Gouy
rounded bottom corners as they appear on screen. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10916 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16Mac OS. This simpler algorithm is just as good: remove the constraintManolo Gouy
altogether for subwindows; keep it unchanged for windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10913 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16Corrected typo.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10912 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16Mac OS: with OS 10.11, the (green) window maximize button turns the window ↵Manolo Gouy
fullscreen so it covers the dock and the system menu bar. The default behavior of a subwindow of such a fullscreen window is to be prevented to cover the menu bar (which makes not much sense because this bar is covered by the main window). If the location of the subwindow within its parent window expected by FLTK would have it cover the menu bar, Mac OS moves it down. The subwindow therefore does not lie where FLTK wants it. This patch overrides the adequate method of the NSWindow class to prevent this bad behavior. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10911 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16Fixed typo in Doxygen doc.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-15Mac OS: Added necessary check because a non-FLTK window can be found Manolo Gouy
as child of an FLTK window when turning a window full-screen. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10909 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-13Mac OS X: simplified code for moving and resizing subwindows.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10908 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-11Mac OS X: with OS 10.11 "El Capitan" window capture returns an ARGB image ↵Manolo Gouy
(it used to return RGBA) whereas OpenGL window capture returns RGBA as before. Capturing a window with subwindow(s) requires ARGB <--> RGBA conversion when Quartz and OpenGL windows are mixed. The OpenGL-inside-Quartz case was taken care of before. Here, the Quartz-inside-OpenGL case is properly handled. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10900 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-10Mac OS X: added checks that subwindows do not leak out ofManolo Gouy
enclosing window when they are programmatically resized or moved. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10899 ea41ed52-d2ee-0310-a9c1-e6b18d33e121