summaryrefslogtreecommitdiff
path: root/src/drivers/WinAPI
AgeCommit message (Collapse)Author
2022-03-01Fix default size_range() calculation (issue #392, STR 3352)Albrecht Schlosser
2022-02-03Reorganize classes Fl_System_Driver and Fl_Screen_DriverManoloFLTK
These virtual members are moved from Fl_Screen_Driver to Fl_System_Driver - wait(double) - ready() These virtual members are moved from Fl_System_Driver to Fl_Screen_Driver - copy(const char *stuff, int len, int clipboard, const char *type) - void paste(Fl_Widget &widget, int clipboard, const char *type) - clipboard_contains(const char *type) - clipboard_notify_change() These members are moved from Fl_X11_Screen_Driver to Fl_X11_System_Driver - poll_or_select_with_delay(double time_to_wait) - poll_or_select() and are made virtual in preparation for the introduction of class Fl_Unix_System_Driver.
2022-01-31Consolidate timeout handling across platforms (#379)Albrecht Schlosser
Add Fl_Timeout class Move platform independent code of Fl::wait() to main part - basic timeout handling - Fl::run_checks() - Fl::run_idle() - Fl::idle() - waiting time calculation (next timeout) - remove platform dependent "screen driver" stuff
2022-01-19Fixing and upgrading Fl_Preferences (#374)Matthias Melcher
* Added filename function to Fl_Preferences Static function to get filename before opening. Member to get filename after opening. Bug fixes for memory mapped preferences. * ERROR is a macro on Windows, don't use it * Added Fl_Preferences::dirty(). User can now check if the database will be written when flushed or destroyed. Flush returns a crude error code. * Fl_Preferences::get binary data returns # of bytes read. * Verified group deletion code * Fl_Preferences ignores locale. This will make .prefs files interchangeable between different computers. * Updating the Preferences Mode to ignore locale. * Fixes in docs.
2022-01-16Rename FL/fl_string.h to FL/fl_string_functions.hAlbrecht Schlosser
This is part 1 of the final fix for a previous name clash on case insensitive file systems (fl_string.h vs. Fl_String.H).
2021-12-18Generate FL/fl_config.h rather than FL/abi-version.hAlbrecht Schlosser
... as discussed in fltk.coredev in thread "RFC: introduce public config header <FL/fl_config.h>", see: https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ - Rename abi-version.h to fl_config.h, rename input files, update dependencies, .gitignore, CMake, configure and Makefiles. - Include Cairo options in FL/fl_config.h - Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency. - Include <FL/fl_config.h> in config.h and wherever necessary, fix include order (move FL/Fl.H to the top) and more. - Move USE_X11 to fl_config.h and rename to FLTK_USE_X11 - Do not include <config.h> in Cairo demo program which is no longer required in Cairo programs since FLTK 1.4.0
2021-10-31Consistently make Fl_Paged_Device::begin_page call ↵ManoloFLTK
Fl_Surface_Device::push_current.
2021-06-26Fix a potential memory leak (PR #241)Albrecht Schlosser
This is a hypothetical fix, since the condition `count == 0` may not be true although `doit` has been allocated. In practice this should not be possible since the same loop is executed twice in lines 463++ and 471++. But anyway, here it is...
2021-06-26Fix potential memory leak (#241)fire-eggs
Signed-off-by: Albrecht Schlosser <albrechts.fltk@online.de>
2021-05-26Fix trailing whitespace and formattingAlbrecht Schlosser
2021-05-26Windows: fix fl_system() and fl_execvp() (STR 3438)Albrecht Schlosser
Use correct conversions to Windows "wide character" encoding and use the appropriate wide character functions.
2021-04-13Update Fl_WinAPI_Window_Driver.HDaniel G
Fix copy paste error.
2021-03-21Windows: fix fl_filename_isdir()Albrecht Schlosser
- convert filename from UTF-8 to "Windows wide chars" - use GetFileAttributesW() instead of _stat()
2021-03-11Unification of scaled coordinate calculations in class ↵ManoloFLTK
Fl_Scalable_Graphics_Driver Most coordinate calculations are done with the new inline function int Fl_Scalable_Graphics_Driver::floor(int coord) that is used by both the Windows and X11 platforms.
2021-02-24Improve precision of GUI scaling for Windows platform.ManoloFLTK
2021-02-18Make clear we're calling a member function of class Fl_WinAPI_System_Driver.ManoloFLTK
2021-02-16Remove FL_CFG_SYS_POSIX and FL_CFG_SYS_WIN32 preprocessor vars from Fl_lock.cxxManoloFLTK
2021-02-16Use <config.h> when appropriate.ManoloFLTK
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.ManoloFLTK
2021-02-15PR #174: Skip the call to MonitorFromRect when it is not needed.ManoloFLTK
2021-02-13Remove compilation warnings issued by Visual Studio 2019.ManoloFLTK
2021-02-01Scaling support under Windows: fix fullscreen window mode.ManoloFLTK
When scale was > 1, fullscreen window did not cover the task bar, as seen with test/fullscreen.
2020-12-02Improve Fl_Graphics_Driver::cache_size() when GUI is scaled.ManoloFLTK
The change lets this function enlarge the size only when strictly necessary for image tiling.
2020-11-29 Fix for issue #123 - Windows platformManoloFLTK
2020-11-17Fix whitespace and minor formatting issuesAlbrecht Schlosser
2020-11-02Fix possible memory leak in ↵ManoloFLTK
Fl_WinAPI_Screen_Driver::read_win_rectangle_unscaled() Thanks to "fire-eggs" for spotting it. Also minor optimisations in Fl_X11_Screen_Driver::read_win_rectangle_unscaled() and Fl_Cocoa_Screen_Driver::read_win_rectangle_unscaled(). This closes PR #151.
2020-10-04Create Fl_X11_System_Driver::dlopen_or_dlsym() for run-time addresses.ManoloFLTK
The intent is to gather in a single place of the X11 platform source code all variable elements when using dlopen() and dlsym() system functions (e.g., .so vs .dylib extension name, is RTLD_DEFAULT available, locations to be sought). Member function Fl_System_Driver::load() is created only to support Fl_Plugin_Manager::load().
2020-08-01Remove unneeded strdup from example, fold tabsGreg Ercolano
2020-08-01Implement + deploy fl_strdup()Greg Ercolano
2020-07-14First pass at fixing issue 99Greg Ercolano
A lot of code touched because low level functions needed to pass up error messages reliably, and this had to propagate up the entire driver hierarchy. Tested OK *in English* on: > Linux > OSX 10.10.x > Windows VS2017 > Windows mingw64 I have no way to test on Android, but it might work. TODO: Needs testing in other languages to verify proper UTF8 error messages, esp. with Windows VS, due to complexities with FormatMessage() -- see get_ms_errmsg()
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-06-15Allow using an Fl_SVG_Image object as window icon.ManoloFLTK
Fix for issue #90: Setting an svg image as a window icon causes a segfault.
2020-04-23Update © year.ManoloFLTK
2020-04-23Check for success of the FormatMessageW() call.ManoloFLTK
2020-04-22Match variable type (DWORD) and format specifierManoloFLTK
2020-04-22Add optional argument to Fl_Printer::begin_job() to inform caller when an ↵ManoloFLTK
error occurs. This solves an issue raised in fltk.general : Fl_Printer errors - how can I interpret them? https://www.fltk.org/newsgroups.php?s38419+gfltk.general+v38427
2020-02-10Implement fl_putenv() as cross-platform putenv()Albrecht Schlosser
2020-01-15Fix uninitialized vars in calls to fl_clip_box() (issue #6)Albrecht Schlosser
The main fixes are only to avoid static code analyzer warnings reported in issue #5, but there are also minor bug fixes included. These bug fixes are more of theoretical concerns though. Close #6.
2020-01-03Fixed previous commit for MSWindows.MatthiasM
2020-01-03Linux/MSWindows: improved Fl_Preferences file path checkingMatthias Melcher
2019-12-31Limiting file access for Fl_Preferences.Matthias Melcher
Added Fl_Preferences::file_access() and various flags that make it possible to limit or completely deny file access to the preferences system, either for the core library or for the application or both.
2019-11-02Slightly simpler code to support fl_overlay_rect() on HighDPI screens.ManoloFLTK
2019-10-22Add default value of 0 for 1st arg of member function Fl_Printer::begin_job().ManoloFLTK
2019-08-21Fix a case when fl_read_window() did not capture subwindows correctly.ManoloFLTK
The case was under macOS with a non-GL parent window mapped to a retina display containing a GL subwindow and if the app did not call Fl::use_high_res_GL(1).
2019-07-13Fl_WinAPI_Printer_Driver::end_page(): make sure rotation stops when the page ↵ManoloFLTK
ends
2019-06-18Slightly simpler Fl_WinAPI_Screen_Driver::init()ManoloFLTK
2019-06-16Make FLTK Windows apps "Per-Monitor-V2 DPI Aware"ManoloFLTK
Per-Monitor V2 awareness mode is supported on Windows 10 1703 or above and has window title bars correctly scaled on HighDPI screens. Before this commit, FLTK Windows apps were "Per-Monitor-V1 DPI Aware". FLTK apps detect at run-time whether the V2 mode is possible.
2019-06-06Add one argument to Fl_Screen_Driver::read_win_rectangle()ManoloFLTK
The new argument gives the window to be captured, or NULL to indicate capture from the current offscreen. Calling this function becomes easier because less dependent on global variables.
2019-03-25Replace static void Fl_Window_Driver::default_icons() by virtual ↵ManoloFLTK
Fl_Screen_Driver::default_icons()
2019-03-06Process env var FLTK_SCALING_FACTOR consistently across platforms.ManoloFLTK
The procedure to set screen scaling factors becomes: 1) each screen scaling factor is set to 1 2) the OS is queried according to each platform to get screen scaling factor values 3) The value of FLTK_SCALING_FACTOR, if present, is used to multiply scaling factors