Commit Graph

5612 Commits

Author SHA1 Message Date
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
Albrecht Schlosser
135b8b9c86 Update dependencies 2021-02-18 12:55:51 +01:00
Albrecht Schlosser
6236d4d466 Remove redundant definition of FL_CFG_GFX_OPENGL 2021-02-18 12:34:30 +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
b3f0b853a5 Documentation: remove Doxygen warnings of undeclared members. 2021-02-17 08:39:15 +01:00
ManoloFLTK
6dce15bfe3 Include config.h rather than config_lib.h in fl_open_uri.cxx 2021-02-17 08:39:15 +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
32f7973073 Remove FL_CFG_SYS_POSIX preprocessor variable from Fl_get_key.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
35812f474b Include <config.h> in Fl_Gl_Window.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
1d44c57747 Fix lowercase error in filenames. 2021-02-16 12:34:30 +01:00
ManoloFLTK
1f9c80854c Remove FL_CFG_WIN_X11 preprocessor variable from Fl_Native_File_Chooser_GTK.cxx 2021-02-16 12:08:56 +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
Albrecht Schlosser
bbaec9bd88 Update CMake and make files, minor edits only
There are no functional changes to be expected, mostly formatting
and comments.
2021-02-15 19:45:20 +01:00
ManoloFLTK
9fad601401 Remove compilation warnings issued by Visual Studio 2019. 2021-02-13 21:13:04 +01:00
ManoloFLTK
5ade8fcb09 Fix for issue #185 "Shared Image reload() loses initial dimensions" 2021-02-12 07:32:49 +01:00
Albrecht Schlosser
c7dc112d2e Fix missing export of fl_scroll() (issue #186) 2021-02-12 00:45:25 +01:00
Albrecht Schlosser
ff0543524b Fix X11 copy-paste and drag-and-drop target selection (#182)
Select the "best" target rather than a random one out of a list of
suitable targets. The old target selection algorithm would sometimes
select the wrong target and hence retrieve unexpected data.

This could happen in both copy-paste and drag-and-drop operations.

Note: backported to 1.3.6 (git current) as well
      (commit 7ce6d2cf5d).

Closes #182.
2021-02-11 15:51:37 +01:00
ManoloFLTK
ed5854d65a Fix for issue #185 in Fl_Shared_Image::reload()
This fix updates Fl_Shared_Image::reload() to account for the data_w() and data_h()
image members.
2021-02-11 09:12:12 +01:00
Albrecht Schlosser
d53d6f3bce Fix potential NULL pointer dereference 2021-02-10 14:11:04 +01:00
ManoloFLTK
818a2ab838 Windows scaling support: fix after WM_MOVE and in mouse_event()
The fix in mouse_event() makes sure the scale factor of the receiving window is correct
when distinct screens have distinct scale factor values.

The fix after WM_MOVE event makes sure a subwindow-containing window in a
multiple-screen desktop having distinct scale factor values is correctly rescaled.
2021-02-10 10:19:08 +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
7fdac3790a Windows: fix scaling problem in Fl_Tile.
The problem was visible with test/tile for fractional scaling values when
moving the vertical division.
2021-01-25 08:01:42 +01:00
Albrecht Schlosser
fba4d58509 Fix Fl_Help_View::find() (issue #179)
Fix search (string comparison) which had a few different issues.
Document the function, arguments, and details about string matching.

To do: correctly match complex HTML entities like "&euro;" with
Unicode code points >= U+0080 (UTF-8 multi byte encoding).
2021-01-08 14:57:34 +01:00
ComputerNerd
34da17cd85 Set errmsg to exterr instead of err which will always be zero. 2020-12-13 21:15:47 -06:00
ManoloFLTK
4f29313a80 Windows scaling: fix redraw after partial expose events.
Under XP (at least), WM_PAINT events occur where information of where to redraw
is mostly given by the system, in the window's update region. When the GUI is scaled,
that information must be un-scaled and then added to Fl_X::i(window)->region, for the
adequate part of the window to be painted.
2020-12-03 15:08:59 +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
4171cbe0be Windows scaling: fix computation of border sizes.
The corrected error was to use, e.g.,
  int dx = W - w->w() * s;
which does not produce the desired integer value.
The correct writing is :
  int dx = W - int(w->w() * s);
2020-12-01 16:58:08 +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
4291e9497b Fix for issue #123 - macOS platform 2020-11-27 17:49:49 +01:00