Commit Graph

5573 Commits

Author SHA1 Message Date
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 "€" 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
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
a47c907fca Fix for STR #3424 and for issue #160 2020-11-22 10:16:21 +01:00
Albrecht Schlosser
f519aceb85 Update dependencies 2020-11-21 13:20:26 +01: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
ManoloFLTK
3ec51f0b80 Remove unnecessary function call when macOS ≥ 10.6 2020-11-19 15:59:48 +01:00
ManoloFLTK
f56d43c9f6 Rename private member function with trailing underscore. 2020-11-19 15:59:48 +01:00
ManoloFLTK
0f6fb2ab5a Add comment about detection of macOS "Big Sur" 11.0 at run-time. 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
2931c29689 Replace virtual Fl_RGB_Image::cache_size() by virtual Fl_Image::cache_size() 2020-11-17 11:23:35 +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
a4bacf83c4 Fix for issue #155 - continued
Restores proper separation of what is in libfltk and what is in libfltk_images
2020-11-12 14:50:57 +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
df9749e6a8 Fix for issue #155 "SVG rendering spoiled by scaling". 2020-11-10 21:03:48 +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
ManoloFLTK
9bd65d5993 Remove compilation warning that HAVE_DLFCN_H is undefined. 2020-11-10 15:51:54 +01:00
ManoloFLTK
b35010595a Simpler code and doc of Fl::screen_scale(int n, float factor) 2020-11-07 12:44:06 +01:00
ManoloFLTK
0d594319c1 Add extra argument to Fl_SVG_File_Surface constructor.
This makes processing of the underlying FILE object consistant by classes
Fl_SVG_File_Surface, Fl_EPS_File_Surface and Fl_PostScript_File_Surface.
2020-11-03 18:05:18 +01:00
ManoloFLTK
98a4e49204 Fix possible memory leak in 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-11-02 13:13:53 +01:00
engelsman
f0af606708
Save fl_file_chooser directory on cancel (STR 3225) (#110)
* save fl_file_chooser directory on cancel (STR3225)

by default, the fl_file_chooser() starts in the current directory
if no filename is given, but the directory is reset to the "system
directory" if the dialog is cancelled without choosing a file.
This patch saves and restores the directory if no file is chosen.

See also https://www.fltk.org/str.php?L3225

* add fl_file_chooser() reinitialization comments
2020-11-02 11:38:30 +01:00
ManoloFLTK
1761523c9e Add Fl_PostScript_File_Device::close_command(Fl_PostScript_Close_Command cmd)
Also expand Doxygen doc of class Fl_Printer for the X11 platform.
2020-11-01 09:26:40 +01:00
ManoloFLTK
b540c65081 X11+GTK: remove warning when native file chooser runs on Wayland 2020-10-30 17:00:30 +01:00
ManoloFLTK
70da3a34b0 Fix PostScript driver for fl_draw_image(buf,X,Y,W,H,D,L) with negative D or L 2020-10-29 15:37:20 +01:00
ManoloFLTK
56318163e3 Cairo-based PostScript: fix image tiling 2020-10-29 10:32:17 +01:00
ManoloFLTK
bfb64aa01e Remove the "Print" window meant for debugging. 2020-10-28 17:34:05 +01:00
ManoloFLTK
8accc6e840
Pango ps (#148)
Use cairo-PostScript to output PostScript when pango is available.

This allows to draw in vectorial form any script.
Before, only the Latin script could be drawn to PostScript in vectorial form.
2020-10-28 17:19:05 +01:00
ManoloFLTK
f718943e6f Minor fix in doc of the Fl_Image_Surface constructor. 2020-10-14 13:36:50 +02:00
ManoloFLTK
966e15fe37 Simpler implementation of Fl_Quartz_Image_Surface_Driver::image() 2020-10-14 09:56:53 +02:00
ManoloFLTK
0d8385a652 Simpler macOS implementation of capture of window titlebars. 2020-10-12 21:05:38 +02:00
ManoloFLTK
5830226aab Change procedure to capture window titlebar for macOS ≥ 10.15
That is necessary to support macOS Big Sur because previous procedure
did not work for tabbed windows. The new procedure is potentially
usable from macOS 10.5, but tested at this stage for macOS ≥ 10.15.
2020-10-11 10:43:01 +02:00
ManoloFLTK
1a841795d1 Fl_Xlib_Font_Descriptor does not need char glok[64] when USE_XFT is on 2020-10-08 11:57:34 +02:00
ManoloFLTK
de4a5765bc Fix for issue #145 and for unbundled macOS apps. 2020-10-05 18:20:25 +02:00
ManoloFLTK
1e73216405 Fix issue #145: Native file dialog on macOS in the absence of another FLTK window. 2020-10-05 11:54:02 +02:00
ManoloFLTK
0c55cd1aca Create Fl_X11_System_Driver::dlopen_or_dlsym() for run-time addresses.
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-10-04 08:21:07 +02:00