Commit Graph

6496 Commits

Author SHA1 Message Date
Manolo Gouy
291cf838bf Allowing to use FLTK objects in static initializers (cont'd).
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-13 13:24:17 +00:00
Manolo Gouy
69644d4032 Allowing to use FLTK objects in static initializers (cont'd).
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-13 10:26:09 +00:00
Manolo Gouy
09cd712c0d Allowing to use FLTK objects in static initializers (cont'd).
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-13 09:51:07 +00:00
Manolo Gouy
cf14f77a90 Allowing to use FLTK objects in static initializers (cont'd).
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-13 09:36:14 +00:00
Manolo Gouy
6bdb661c2a Allowing to use FLTK objects in static initializers (cont'd).
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-13 08:38:16 +00:00
Manolo Gouy
6a608d4862 Restore the possibility to construct FLTK objects and draw them within 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-13 06:55:30 +00:00
Manolo Gouy
fe92bbed66 Allow compilation with old Mac OS versions + USE_X11 mode with which
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-12 15:33:56 +00:00
Manolo Gouy
5090e949fa Added eol-style property.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10957 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-10 16:27:03 +00:00
Manolo Gouy
dde14ee174 Added svn:keywords properties.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10956 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-10 16:25:34 +00:00
Manolo Gouy
3e8556195b Added required header and footer for new source files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10955 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-10 16:20:37 +00:00
Manolo Gouy
8d1d2df0c2 Mac OS: using true system windows for FLTK sub-Fl_Window's.
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-09 12:52:17 +00:00
Manolo Gouy
c7950b30c4 Mac OS: the present code asks the system to build the mini window image when 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-09 10:13:46 +00:00
Manolo Gouy
4bc4736eb7 Replaced call to Fl_Window::resize() by call to Fl_Widget::position() that is enough.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10952 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-08 09:39:42 +00:00
Manolo Gouy
ade095f240 Mac OS: added visibility test necessary after a subwindow-containing group was hidden.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-07 20:10:07 +00:00
Manolo Gouy
caba454f39 Mac OS: removed some code that was duplicated by checkSubwindowFrame run later.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10950 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-07 17:53:26 +00:00
Manolo Gouy
6ccbedb5db Better deployment targets for the Release configuration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10949 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-03 17:27:37 +00:00
Manolo Gouy
f79f70b96a Removed compilation warning with SDKs 10.3 and 10.4u
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10948 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-03 17:18:33 +00:00
Manolo Gouy
58afd21c73 Mac OS: send the setWantsBestResolutionOpenGLSurface:YES message in
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-02 14:22:52 +00:00
Albrecht Schlosser
8a826c257d Fix Doxygen docs of new method Fl_Gl_Window::pixels_per_unit().
Moved the docs up (before #ifdef ...) so they are also generated on
Mac OS X platforms.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10946 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 11:56:25 +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
30e572985b Make clear in the doc that methods Fl_Gl_Window::pixel_w() and pixel_h()
dynamically adjust to windows moved between high and low resolution displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10944 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 18:40:51 +00:00
Manolo Gouy
82f68ac756 Fixed typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10943 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 16:29:23 +00:00
Manolo Gouy
6c9ceb3ab0 Mention new Fl_Gl_Window::pixel_w(), Fl_Gl_Window::pixel_w(),
Fl::event_x_pixel(),  and Fl::event_y_pixel() functions.
Also, put tab at start of lines, as required.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10942 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 16:28:17 +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
Manolo Gouy
f915795453 Documentation: replace TRUE -> GL_TRUE to define glewExperimental
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10940 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 11:44:46 +00:00
Manolo Gouy
403c29267f Mac OS IDE project: localize the application menu of the menubar test app.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10939 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 10:19:36 +00:00
Manolo Gouy
3c82a3d736 Mac OS: Show how to localize the "Preferences…" custom application menu item
of the menubar test app.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10938 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 10:03:23 +00:00
Manolo Gouy
b2f24781d4 Mac OS: fixed possible crash when closing fullscreen GL window with close button of title bar.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-30 13:06:31 +00:00
Manolo Gouy
d74f373552 Mac OS: allow calling Fl_Gl_Window::pixel_w() before the window is shown.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-30 12:46:42 +00:00
Manolo Gouy
792cebf92b Mac OS: support standard Mac OS localization procedure for system menu items.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10935 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-28 13:41:33 +00:00
Manolo Gouy
689d19cda3 Added necessary forward type declaration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-26 17:28:55 +00:00
Manolo Gouy
28355afa15 Mention addition of Fl_Mac_App_Menu::custom_application_menu_items()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10933 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-26 16:40:34 +00:00
Manolo Gouy
ff65dbb5ae Mac OS only: added the Fl_Mac_App_Menu::custom_application_menu_items() method
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-26 16:34:58 +00:00
Manolo Gouy
311bd8971e Mention Fl_Copy_Surface::draw_decorated_window().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10931 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-26 15:37:43 +00:00
Albrecht Schlosser
3666209659 Finish "rename" of *.xcf.gz - delete uncompressed files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10930 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 14:43:20 +00:00
Albrecht Schlosser
bf873db029 Rename *.xcf.gz files to *.xcf_gz instead of uncompressing.
This is intended circumvent the Apache/Subversion protocol issue
described by Ian in the previous few commits.

Todo: If this works we can remove the uncompressed files again ...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 14:37:37 +00:00
Manolo Gouy
b0696db39a Added new method Fl_Copy_Surface::draw_decorated_window()
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-24 14:26:52 +00:00
Ian MacArthur
a2b8700a82 Replace the "renamed" fluid.xcf[.gz] file that
was blocking repository access for checkouts.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10927 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 11:51:06 +00:00
Ian MacArthur
df12bf6c66 Attempting to unblcok repository access.
The Apache server is currently mis-handling
files with a .gz extension, and this causes
checksum errors and blocks checkouts etc.

Renaming the files does not work (it also
fails) but it seems deleting the files, then
adding them back with a "new" name does work.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 11:49:30 +00:00
Ian MacArthur
6091b0e00b Testing to see if changing the file extension
from .xcf.gz to just .xcf (and uncompressing
the file too, of course!) unblocks the repository
access for svn checkouts etc.

Checkouts are currently broken because the
Apache server is mishandling files of .gz
type, and this is causing checksum errors
on file checkouts etc.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10925 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 11:45:54 +00:00
Ian MacArthur
5ffa744bcc Attempting to workaround issue with
repository access.

The Apache server is not handling
files of .gz type the way that SVN
needs and this is blocking any checkouts.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10924 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 11:42:56 +00:00
Manolo Gouy
de37feb6b1 WIN32: fixed printing of window borders and title bar on Windows 10
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-23 21:30:19 +00:00
Manolo Gouy
511ec0bb3d Mac OS: have Fl_Paged_Device::print_widget() print top-level windows with
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-19 16:33:44 +00:00
Manolo Gouy
0d2517331c Mac OS only: simpler definition of the pdfdata private member of the Fl_Copy_Surface class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-18 15:53:46 +00:00
Manolo Gouy
364dfaf802 Mac OS. This simpler algorithm is just as good: remove the constraint
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-16 16:48:01 +00:00
Manolo Gouy
31c9c98434 Corrected typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10912 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16 08:59:33 +00:00
Manolo Gouy
535b477e7c Mac OS: with OS 10.11, the (green) window maximize button turns the window 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-16 08:47:18 +00:00
Manolo Gouy
c319e9bcc9 Fixed typo in Doxygen doc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16 05:34:38 +00:00
Manolo Gouy
ebffeb8edd Mac OS: Added necessary check because a non-FLTK window can be found
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-15 10:45:59 +00:00
Manolo Gouy
ba26f2c194 Mac OS X: simplified code for moving and resizing subwindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10908 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-13 10:55:38 +00:00