Commit Graph

896 Commits

Author SHA1 Message Date
ManoloFLTK
ce142e80df Fix fl_endpoints() for macOS platform that was not effective. 2021-03-13 20:06:28 +01:00
ManoloFLTK
368f18016c
Fast pango (#201)
* Cache single unicode character widths under Xft+Pango
2021-03-13 19:21:25 +01:00
ManoloFLTK
569fec25e0 Unification of scaled coordinate calculations in class 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-03-11 16:05:32 +01:00
ManoloFLTK
e19bfc0d8f Windows platform: accurate drawing area of RGB images with scaled GUI. 2021-03-02 12:11:30 +01:00
ManoloFLTK
42aa31b900 X11 platform: Accurately control RGB image drawing with GUI scaling. 2021-03-02 10:07:06 +01:00
ManoloFLTK
b771ee53b9 Remove duplicated code between derived classes of Fl_Graphics_Driver - cont'd. 2021-03-01 15:47:30 +01:00
ManoloFLTK
0623a8d4b9 Remove duplicated code between derived classes of Fl_Graphics_Driver. 2021-03-01 15:11:00 +01:00
ManoloFLTK
81a4b7329c Remove warnings about hidden virtual member functions. 2021-03-01 11:20:15 +01:00
ManoloFLTK
88a3f7b7be Rename fl_remove_scale() to fl_override_scale() as discussed in fltk.general
Re: Can custom box type functions handle their own high-DPI screen scaling?
2021-02-27 08:18:01 +01:00
ManoloFLTK
5bd467fa17 Add fl_remove_scale()/fl_restore_scale() to transiently draw without scaling factor.
This new API is a response to this message in fltk.general :
Can custom box type functions handle their own high-DPI screen scaling?
2021-02-25 11:07:07 +01:00
ManoloFLTK
bef46b5cb8 Improve precision of GUI scaling for Windows platform. 2021-02-24 14:52:47 +01:00
ManoloFLTK
28aaa4d4ce Simplify source code of Fl_GDI_Graphics_Driver::draw_rgb(Fl_RGB_Image *,…) 2021-02-22 11:34:14 +01:00
ManoloFLTK
dd75da6351 Remove VS compilation warnings about implicit type conversions. 2021-02-21 21:34:27 +01:00
ManoloFLTK
e387dbd30c Remove VS compilation warning messages about implicit type conversions. 2021-02-21 19:15:39 +01:00
ManoloFLTK
842cbf0f10 Fix for issue #192: focus box drawing incorrectly on OSX (e.g. 10.10.5) at scales >100% 2021-02-21 18:08:33 +01:00
Albrecht Schlosser
a274e1488b Fix #include statements, remove unnecessary includes 2021-02-21 14:04:44 +01:00
ManoloFLTK
32f926c360 Remove use of static global var gl_fontsize inside virtual member Fl_Gl_Window_Driver::alpha_mask_for_string() 2021-02-19 15:03:32 +01:00
Albrecht Schlosser
389760c1c6 Remove #include ".../config_lib.h" from remaining sources
... except src/Fl.cxx

Fl.cxx uses the FL_CFG_* macros to define the values of runtime
configuration options. This is now the only usage of config_lib.h.

Todo: we can probably implement these runtime config vars in another
way and finally remove config_lib.h.
2021-02-18 13:11:47 +01:00
ManoloFLTK
f333191312 Make clear we're calling a member function of class Fl_WinAPI_System_Driver. 2021-02-18 08:29:02 +01:00
ManoloFLTK
9fdd675eab Remove FL_CFG_SYS_POSIX and FL_CFG_SYS_WIN32 preprocessor vars from Fl_lock.cxx 2021-02-16 16:28:57 +01:00
ManoloFLTK
b709b2a2d3 Remove FL_CFG_WIN_COCOA preprocessor variable from Fl_Tree_Prefs.cxx 2021-02-16 15:50:15 +01:00
ManoloFLTK
bf95eb1c09 Remove FL_CFG_SYS_POSIX preprocessor variable from fl_open_uri.cxx 2021-02-16 15:50:15 +01:00
ManoloFLTK
1298bf00f5 Remove FL_CFG_WIN_COCOA preprocessor variable from Fl_Sys_Menu_Bar.cxx 2021-02-16 15:50:15 +01:00
ManoloFLTK
98265d81a2 Remove FL_CFG_WIN_X11 preprocessor variable from Fl_own_colormap.cxx 2021-02-16 15:50:15 +01:00
Albrecht Schlosser
e182c8bcd5 Fix whitespace errors (no code changes)
- remove trailing whitespace
- convert tabs to spaces (configure.ac)
2021-02-16 14:21:13 +01:00
ManoloFLTK
d51481f95e Remove FL_CFG_SYS_WIN32 preprocessor variable from fl_draw_pixmap.cxx 2021-02-16 11:58:15 +01:00
ManoloFLTK
5f3d8bc634 Include <config.h> when possible - continued. 2021-02-16 11:23:57 +01:00
ManoloFLTK
d93fc2bfa6 Use <config.h> when appropriate. 2021-02-16 11:08:59 +01:00
ManoloFLTK
06793c50fb Create virtual Fl_RGB_Image* Fl_Gl_Window_Driver::capture_gl_rectangle() 2021-02-16 10:26:52 +01:00
ManoloFLTK
1adaa3def2 Create classes Fl_XXX_Gl_Window_Driver according to driver model. 2021-02-16 09:29:13 +01:00
ManoloFLTK
a723c0e889 PR #174: Skip the call to MonitorFromRect when it is not needed. 2021-02-15 21:07:24 +01:00
ManoloFLTK
9fad601401 Remove compilation warnings issued by Visual Studio 2019. 2021-02-13 21:13:04 +01:00
ManoloFLTK
8eed8b9600 Scaling support under Windows: fix fullscreen window mode.
When scale was > 1, fullscreen window did not cover the task bar,
as seen with test/fullscreen.
2021-02-01 13:25:39 +01:00
ManoloFLTK
871e7063a2 Windows: restore "checkers" app that was damaged after handling of issue #155. 2021-01-25 18:58:05 +01:00
ManoloFLTK
d1c7caec3b Improve Fl_Graphics_Driver::cache_size() when GUI is scaled.
The change lets this function enlarge the size only when strictly necessary
for image tiling.
2020-12-02 14:39:49 +01:00
ManoloFLTK
67bb631bd9 Scaling for Windows and X11: support rectangular loops. 2020-11-30 18:50:19 +01:00
ManoloFLTK
ff372c86d8 Fix for issue #123 - Windows platform 2020-11-29 09:48:23 +01:00
ManoloFLTK
f5f9043208 Windows: fix undrawn pixels at right and bottom of scaled windows. 2020-11-29 09:15:04 +01:00
ManoloFLTK
d851106f47 Prevent compilation warning about uninitialized variables. 2020-11-27 09:17:33 +01:00
ManoloFLTK
d7985607d6 Fix for issue #123 - X11 platform
As discussed, only the window position becomes rounded to nearest integer value
when a fractional GUI scale factor is applied.
2020-11-25 09:21:44 +01:00
ManoloFLTK
c684505407 Fix for issue #163: Improve Xrender scaling quality 2020-11-24 10:05:36 +01:00
Greg Ercolano
a41d8c0e60 Fix issue #162 2020-11-22 18:18:02 -08:00
ManoloFLTK
aa9e2e888e Fix for issue #159 - continued
Changes here concentrate the fix within static function alpha_blend() and thus
are visible only when drawing transparent images under X11 platform
without Xrender.
2020-11-20 10:33:46 +01:00
ManoloFLTK
aa140973a3 Remove compilation warnings about signed/unsigned comparison. 2020-11-19 16:13:02 +01:00
ManoloFLTK
e52e057cdf Fix for issue #159. 2020-11-19 15:59:48 +01:00
Albrecht Schlosser
5cb72ef065 Fix whitespace and minor formatting issues 2020-11-17 16:11:03 +01:00
ManoloFLTK
c227edef39 Fix for issue #155 - continued
This fix takes care of the Windows platform.
2020-11-13 10:02:43 +01:00
ManoloFLTK
231159e16c Fix for issue #155 - continued
The issue lies in details how floating point scaled coordinates are converted
to integer values and its impact on the drawing of large SVG images.
This commit fixes the X11 platform.
The macOS platform is immune because drawing uses floating point
coordinates.
The Windows platform still needs fixing.
2020-11-12 07:46:12 +01:00
ManoloFLTK
7b6d0a8196 Restore building with --disable-svg 2020-11-10 15:51:54 +01:00
ManoloFLTK
08b36fe4c8 Remove useless typedef declaration. 2020-11-10 15:51:54 +01:00