summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2018-03-09Improve X11 (16-bit) clipping of lines and rectangles.Albrecht Schlosser
In FLTK 1.3.x only horizontal and vertical long lines with endpoints outside the 16-bit coordinate space could be drawn with proper X11 coordinate clipping. Now arbitrary lines are clipped so they can be drawn with X11 functions. All rectangles are clipped as well (as in 1.3). Todo: The code needs better documentation and clipping of polygons, circles, curves etc. is still missing. The next step should be the clipping of polygons... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12725 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-09Android: move Android specific platform events to FL/android.HMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12724 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-09Windows: remove necessity to compile with -DFLTK_HIDPI_SUPPORT to make WIN32 ↵Manolo Gouy
FLTK apps DPI-aware. At this point, Windows FLTK apps detect HighDPI displays and rescale their GUI accordingly. They also all reply to ctrl/+/-/0/ keystrokes to enlarge/shrink/reset their windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12723 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-08Fix X11 clip region outside 16-bit coordinate space.Albrecht Schlosser
This is the first commit of X11 16-bit coordinate space (clipping) fixes. More to follow... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12722 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Cleaning FLTK namespaceMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12721 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: specific event for Android. Use Fl::add_system_handler() and ↵Matthias Melcher
Fl::event(), for example: FL_ANDROID_EVENT_LOW_MEMORY git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12720 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: moved all Android code from the main app into the driver system. ↵Matthias Melcher
All non-driver-FLTK code and main app are now Android-free. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12719 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: using wait_for_expose to sync screen and windowsMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: improvements to Fl:flush() implementation. Initial draw, no wasted ↵Matthias Melcher
draw cycles. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12717 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-06Windows: complete support for GUI rescaling.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12713 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-05Android: moved to IDE directory.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12711 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-05Android: drawing behaves nice enough. Fl::flush seems to bring the expected ↵Matthias Melcher
results, although optimization is required at some point. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12710 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-05Android: more cleanup. Trying to solve the problem of undefined screen ↵Matthias Melcher
buffer content. Moved gradlew.bat into gradlew.zip to make some svn's happy. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-04Android: beautified the Fl_Android_Application interface.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12708 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-03Android: reorganizingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12707 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-03Android: case of .h and .HMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-03Android: need more source filesMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12705 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02Set svn properties on new Android source files.Albrecht Schlosser
The Android example files in directory Android/... are not touched. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12702 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02More Android changes.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12699 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02Adding crude Android native screen driverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12695 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-25Replace calls to Fl_Surface_Device::set_current() by calls to ↵Manolo Gouy
Fl_Surface_Device::push_current() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12690 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-20Remove unnecessary #ifdef _WIN32Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12682 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-20Remove Fl::run_also_windowless() and FL::wait_also_windowless() from planned ↵Manolo Gouy
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-16Remove Fl_Window_Driver::current_cursor() and its platform-specific forms ↵Manolo Gouy
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-09Windows: fix fl_overlay_rect() when scaling factor value is > 2Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Replace "WIN32" with "_WIN32" or "Windows".Albrecht Schlosser
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-09Fix fl_read_image() under MacOS platform when GUI is rescaled.Manolo Gouy
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-08Move xxx_also_windowless member functions from Fl_System_Driver to ↵Manolo Gouy
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-07STR#3450: Draw text with OpenGL using textures on all platforms.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-06Add support for detection and processing of clean program termination request.Manolo Gouy
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-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
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-18X11+pango: correct y position of text in line that was bad for some ↵Manolo Gouy
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-09Fl_Sys_Menu_Bar under MacOS: prevent the FLTK object from receiving events.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12629 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-09Put a default implementation of parse_color() in Fl_Screen_Driver and only ↵Manolo Gouy
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-05Make Fl_Quartz_Graphics_Driver treat line width similarly with lines and loopsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12622 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-05Some cleaning in commentsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() - continuedManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12610 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() when ↵Manolo Gouy
reading from scaled offscreen buffer git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-26Continue support for GUI rescaling under MacOS: fix fl_XXX_offscreen() ↵Manolo Gouy
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-23Continue support for GUI rescaling under MacOS: fix Fl_Overlay_Window.Manolo Gouy
This patch also improves by simplification the code of class Fl_Quartz_Image_Surface_Driver: because, under the driver model, there's a separate graphics content for the display and for each offscreen buffer, it's possible to reverse the drawing orientation (draw from top to bottom) once at offscreen creation. It's thus no longer necessary to reverse orientation in Fl_Quartz_Graphics_Driver::restore_clip() specifically for offscreen buffers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12603 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-19Scaling capability under MacOS platform: fix capture of scaled window.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12602 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-19Fix Fl_GDI_Graphics_Driver::uncache(Fl_RGB_Image*,...) that did not delete ↵Manolo Gouy
correctly the cached offscreen object. This bug was detected by a test program that rotates an SVG image. But it's not related to SVG, and concerns any Fl_RGB_Image on the WIN32 platform. It was introduced when image support was modified according to the driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12600 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18STR#3437 : Support display of windows in tabbed form as in MacOS 10.12 SierraManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12596 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18STR#3320 continued: make sure there's no undrawn space between nested ↵Manolo Gouy
rectangles and images. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12595 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18STR#3444: Add MacOS support for application rescaling (not quite complete)Manolo Gouy
With this, most MacOS FLTK app can be scaled with command/+/-/0/ keystrokes. A scaling problem remains, visible in test/cube, where the "Test" string is not positioned correctly. GLUT apps can also be scaled (across platforms). SVG images are re-rasterized after app scaling for optimal drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12594 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-07Further simpler code to initialise the MacOS-specific implementation of ↵Manolo Gouy
Fl_Sys_Menu_Bar_Driver git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12586 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-04Make Fl_Sys_Menu_Bar class usable in static initializers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12579 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-30MacOS: use rounded bottom corners when drawing windowsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12574 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-17Replace remaining calls of getenv() with fl_getenv().Albrecht Schlosser
Note: don't use fl_getenv() in Fl_System_Driver and derived classes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-11Refactor Fl_WinAPI_System_Driver string conversion and more.Albrecht Schlosser
Remove duplicated code by using local (static) string conversion functions. This makes the code better maintainable and removes redundancies. Rename some variables (particularly one-letter names) to more useful names, minor code reformatting to be more compatible with the CMP. To do: check for potential memory leaks, maybe free temporary buffers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12556 ea41ed52-d2ee-0310-a9c1-e6b18d33e121