Commit Graph

4796 Commits

Author SHA1 Message Date
Matthias Melcher
42555053a1 More Android changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12699 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02 20:03:04 +00:00
Matthias Melcher
abbd7b9918 CMake rules to integrate Android drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12696 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02 16:35:59 +00:00
Matthias Melcher
b19efed409 Adding crude Android native screen driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12695 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02 16:34:43 +00:00
Albrecht Schlosser
0e60b49b52 Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-25 19:24:45 +00:00
Manolo Gouy
ba5106e758 Replace calls to Fl_Surface_Device::set_current() by calls to Fl_Surface_Device::push_current()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12690 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-25 16:54:21 +00:00
Albrecht Schlosser
7d1488507d CMake: Fix fltk-config for Windows and Unix/Linux.
This update ought to work with

  fltk-config [--use-images] [--use-gl] --compile <c source file>

on both Windows and Unix/Linux when built with CMake. It was tested
under Windows and Linux using fltk-config directly from the build tree,
but it should work as well after installation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12686 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-23 19:41:52 +00:00
Manolo Gouy
a0863e393a Document that fl_mac_set_about() is deprecated, MacOS-specific and replaced by cross-platform Fl_Sys_Menu_Bar::about().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12685 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-22 17:04:37 +00:00
Manolo Gouy
9dce38099a Make forms_timer.cxx platform-independent calling virtual function Fl_System_Driver::gettime().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12684 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-22 06:00:28 +00:00
Manolo Gouy
7aaaf59e15 Remove "#ifdef _WIN32" that made this source file break the separation between platform-independent and -dependent files.
Several other platform-independent source files (e.g., Fl_Browser.cxx, Fl_Group.cxx) use malloc/realloc/free without
including a special header file for the Windows platform. Thus, Fl_Table.cxx can just be likewise.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12683 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-21 06:56:21 +00:00
Manolo Gouy
fb7d2b770d Remove unnecessary #ifdef _WIN32
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12682 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-20 12:48:48 +00:00
Manolo Gouy
31848b8565 MacOS: correct handling of window tabbing/untabbing together with GUI rescaling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12681 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-20 12:09:32 +00:00
Manolo Gouy
06b925964d Remove Fl::run_also_windowless() and FL::wait_also_windowless() from planned public FLTK 1.4 API.
These were introduced at r12647, that is, during development of the 1.4 API.
These functions provided windowless support only on the MacOS platform,
where this can be obtained without those functions.
Windowless support on other platforms would require changing the event 
loop. There's no evidence from STR's there's a demand for windowless mode
on other platforms.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12680 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-20 09:08:38 +00:00
Manolo Gouy
78183fb45b Don't use FLTK's way to support HighDPI screens when the app has set a DPI awareness through a manifest - cont'd.
It's also necessary to prevent FLTK from rescaling windows moved between screens with different DPI's.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12678 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-19 10:18:55 +00:00
Manolo Gouy
288d61a953 Don't use FLTK's way to support HighDPI screens when the app has set a DPI awareness through a manifest.
FLTK reads during fl_open_display() the scaling factor of each screen and uses that to transform
FLTK units into screen units. This change avoids this reading if the app declared to be DPI-aware
though a manifest, a symptom that the app supports HighDPI independently from FLTK.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12677 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-18 16:58:38 +00:00
Manolo Gouy
a401c6c038 Fix Fl_Cocoa_Window_Driver::size_range() to make it support GUI rescaling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12674 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-18 08:04:57 +00:00
Manolo Gouy
1884ebf501 Documentation: fix inconsistency in doc of Fl::wait(double).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12671 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-17 08:00:54 +00:00
Manolo Gouy
5bf7e5ece7 Fix Fl_Cocoa_Screen_Driver::screen_work_area() when the GUI is scaled - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12670 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-16 17:12:23 +00:00
Manolo Gouy
38b924e12b Fix Fl_Cocoa_Screen_Driver::screen_work_area() when the GUI is scaled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12669 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-16 17:10:06 +00:00
Manolo Gouy
0cef82d746 Remove Fl_Window_Driver::current_cursor() and its platform-specific forms that are now unused.
This became unused when window scaling no longer involved window destruction/recreation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12668 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-16 16:24:32 +00:00
Manolo Gouy
838168defc Restore documentation of function Fl_Mac_App_Menu::custom_application_menu_items()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12666 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-12 09:16:04 +00:00
Manolo Gouy
4dde3e5485 Documentation: separate the doc of the 2 versions of Fl::add_fd() as Doxygen mandates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12662 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-10 17:51:17 +00:00
Manolo Gouy
c489f3bf6a Fix error when running Doxygen (continued).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-10 17:49:01 +00:00
Manolo Gouy
f42e2bfc4f Documentation: separate docs of Fl::wait() and Fl::wait(double) as Doxygen mandates.
Also, for Fl::run_also_windowless() and Fl::wait_also_windowless(), mention that
MacOS is a platform supporting the windowless mode and what happens with
platforms that don't support it.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12660 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-10 16:55:25 +00:00
Ian MacArthur
b8ad5c2bd6 Fix trivial typo that was upsetting doxygen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-10 00:02:09 +00:00
Manolo Gouy
0012debf37 After r.12653, it is also necessary to remove Fl_Cocoa_Window_Driver::bitmap_from_window_rect()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 17:26:20 +00:00
Manolo Gouy
6f5340d430 Windows: fix fl_overlay_rect() when scaling factor value is > 2
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 16:59:34 +00:00
Albrecht Schlosser
52ae3582a2 Replace "WIN32" with "_WIN32" or "Windows".
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32".
Replace "WIN32" in text and documentation with "Windows".
Replace "MSWindows" with "Windows".

To do: README.Windows.txt (and maybe other documentation as well)
needs updates.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 14:39:42 +00:00
Albrecht Schlosser
30dad6a4aa CMake: More consistent usage of (IDE) source groups.
Also: add generated header files to project fltk's header files.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 13:59:04 +00:00
Manolo Gouy
c472d5d8b7 Fix fl_read_image() under MacOS platform when GUI is rescaled.
This commit also simplifies the platform-dependent support of fl_read_image():
only Fl_XXX_Screen_Driver::read_win_rectangle() contains platform-specific
code to capture pixels from the current window or from an offscreen buffer.
Platform-independent function Fl_Screen_Driver::traverse_to_gl_subwindows()
captures subwindows that intersect with the area fl_read_image() targets.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12653 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 13:48:22 +00:00
Manolo Gouy
b78b2f7f5f Move xxx_also_windowless member functions from Fl_System_Driver to Fl_Screen_Driver.
Because these functions are related to Fl_Screen_Driver::wait(double)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-08 12:47:40 +00:00
Manolo Gouy
0c8ca7944a Documentation: add \version info to new member functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-08 07:37:43 +00:00
Manolo Gouy
dcc82d8926 STR#3450: Draw text with OpenGL using textures on all platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-07 15:34:44 +00:00
Manolo Gouy
425ab2e8bc Add support for detection and processing of clean program termination request.
The default handling of cmd-Q/Quit program under MacOS was to terminate the
program if all its windows are closed without returning from FLTK's event loop.
This was running against a strong design feature of FLTK that programs
should always complete their event loop and return from main() when cleanly
terminating.

In the new code for the MacOS platform, cmd-Q/Quit program no longer terminates
the program. Instead, the event loop is interrupted and a call to Fl::program_should_quit()
allows to detect that program termination has been requested, if necessary.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-06 17:26:11 +00:00
Albrecht Schlosser
4ebaee0f40 Reorganize nanosvg bundled library.
Rename altsvgrast.h to its original name nanosvg.h and use a new
GitHub fork of nanosvg to maintain FLTK specific patches.

https://github.com/fltk/nanosvg

The diff files (altsvgrast.diff and nanosvg.diff) are no longer necessary
and have been removed. For more information see README.bundled-libs.txt.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12646 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-04 21:39:50 +00:00
Albrecht Schlosser
42d8aba117 Replace FL/x.H with FL/platform.H - step 2 (STR #3435).
This second step replaces FL/x.H with FL/platform.H in all source files.
Dependencies have been adjusted as well.

This commit completes the replacement of FL/x.H with FL/platform.H.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31 21:17:17 +00:00
Albrecht Schlosser
cc595ce4ed Replace FL/x.H with FL/platform.H - step 1.
This first step replaces FL/x.H with FL/platform.H but keeps a small
FL/x.H that #include's FL/platform.H for backwards compatibility.
Documentation sources in documentation/src/*.dox have been fixed,
but references in other source files need to be fixed in another step.
Dependencies have been adjusted.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12640 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31 17:46:48 +00:00
Manolo Gouy
12a2fc2a4d X11+pango: correct y position of text in line that was bad for some non-latin scripts and some pango versions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-18 13:45:45 +00:00
Manolo Gouy
fab28479c7 Avoid crash in Fl_Pixmap::copy() when the source Fl_Pixmap contains bad pixmap data.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-16 06:21:16 +00:00
Manolo Gouy
b47dc05909 Fl_Sys_Menu_Bar under MacOS: prevent the FLTK object from receiving events.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12629 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-09 21:12:35 +00:00
Manolo Gouy
3b437dae8c Put a default implementation of parse_color() in Fl_Screen_Driver and only Fl_X11_Screen_Driver reimplements it.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-09 07:26:49 +00:00
Manolo Gouy
46d8ef2c1d MacOS: More accurate coordinate computation in rect_to_NSBitmapImageRep() when GUI is rescaled.
The modified statement uses the window height in graphics coordinates that has been truncated to
integer at window creation and resize.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12625 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-07 18:16:52 +00:00
Manolo Gouy
8befad4dba Make Fl_Quartz_Graphics_Driver treat line width similarly with lines and loops
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12622 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-05 16:01:39 +00:00
Manolo Gouy
32676b5f56 Some cleaning in comments
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-05 08:16:42 +00:00
Manolo Gouy
8fccb73842 Restore correct fl_overlay_rect() when GUI is scaled (was broken by commit r.12595)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-03 16:28:00 +00:00
Manolo Gouy
d13bb6b40f GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() - continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12610 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27 13:54:52 +00:00
Manolo Gouy
7abda5a59b GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() when reading from scaled offscreen buffer
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27 13:51:41 +00:00
Manolo Gouy
7aa6b582ee Support for GUI rescaling: fix fl_copy_offscreen() to PostScript surface under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12608 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27 11:02:14 +00:00
Manolo Gouy
c6045962db Continue support for GUI rescaling under MacOS: fix test/resize() application - continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12607 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27 07:48:52 +00:00
Manolo Gouy
d6a0e4a010 Continue support for GUI rescaling under MacOS: fix test/resize() application
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27 07:46:50 +00:00
Manolo Gouy
7758d472c2 Continue support for GUI rescaling under MacOS: fix fl_XXX_offscreen() functions and Fl_Image_Surface class
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-26 16:07:51 +00:00