Commit Graph

42 Commits

Author SHA1 Message Date
ManoloFLTK
4ae905cc9d Change prototype of virtual Fl_Graphics_Driver::pango_font_description(). 2022-07-20 08:37:21 +02:00
ManoloFLTK
536c32ee99 Fl_Cairo_Graphics_Driver: simpler way to construct the PangoLayout object. 2022-07-18 22:58:02 +02:00
ManoloFLTK
2327ede74c Add explanatory comments about text handling by Fl_Cairo_Graphics_Driver. 2022-07-11 12:11:04 +02:00
ManoloFLTK
f097141662 Move member q_width from class Fl_Font_Descriptor to Fl_Quartz_Font_Descriptor.
That's because this member is used only in Fl_Quartz_Font_Descriptor.
2022-07-06 10:18:40 +02:00
ManoloFLTK
c6659c9a29 Fl_Cairo_Graphics_Driver: fix issues in string width computations when scaling applies.
The implemented approach is to create and use the pango_layout_ object only relatively
to an unscaled cairo context. With this, the pixel width of a drawn string equals
the sum of the widths of its characters.
2022-07-06 10:05:00 +02:00
ManoloFLTK
c6516673ee New member Fl_Cairo_Graphics_Driver::bitmap_to_pattern() to avoid code duplication. 2022-06-12 09:04:22 +02:00
ManoloFLTK
a7de80d6f7 Fix for issue #447: dotted focus rectangles are a little "ragged" with some scales. 2022-06-04 11:44:21 +02:00
ManoloFLTK
b78035624d Fl_Cairo_Graphics_Driver: fix GUI rescaling.
The solution to avoid blurred graphics when the GUI is scaled is to turn off
cairo antialiasing when drawing horizontal and vertical lines and rectangles.
2022-05-27 08:58:35 +02:00
ManoloFLTK
a118732f7c Improve rectf() and push_clip() under cairo and GUI scaling. 2022-05-25 16:05:36 +02:00
ManoloFLTK
170a9d8e1f Approximate result of pango_font_metrics_get_height() for Pango < 1.44 2022-05-05 12:20:24 +02:00
ManoloFLTK
af91083a7f Fl_Cairo_Graphics_Driver: simpler code with early calls to cairo_surface_destroy().
Add also replacement for pango_font_metrics_get_height() which requires Pango 1.44
2022-05-05 11:34:10 +02:00
ManoloFLTK
7d5d2af547 Cairo: reduce vertical offset for text position needed by Fl_Text_Display. 2022-05-04 08:28:12 +02:00
ManoloFLTK
9082c44cd0 Issue #438 : Wayland: Text drawing different from Xft version - cont'd. 2022-05-02 19:40:43 +02:00
ManoloFLTK
049cef17f7 Set line height as computed by Pango. 2022-05-02 12:41:20 +02:00
ManoloFLTK
85cf597765 Keep the PangoLayout member private in class Fl_Cairo_Graphics_Driver. 2022-05-02 11:05:23 +02:00
ManoloFLTK
71dedbc886 Issue #438 : Wayland: Text drawing different from Xft version - cont'd. 2022-05-01 09:44:20 +02:00
ManoloFLTK
cf1c8b1125 Fix for issue #438 : Wayland: Text drawing different from Xft version - cont'd. 2022-04-30 16:37:28 +02:00
ManoloFLTK
5341f0e45e Add explanatory comments about text size and vertical position. 2022-04-29 16:34:47 +02:00
ManoloFLTK
1b513d3f00 Fix for issue #438 : Wayland: Textdrawing different from Xft version. 2022-04-29 13:10:40 +02:00
ManoloFLTK
8808d11578 Create member function Fl_Cairo_Graphics_Driver::set_cairo(). 2022-04-25 10:22:23 +02:00
ManoloFLTK
285e8e843a Create Fl_Cairo_Graphics_Driver::handle_dummy_cairo(cairo_t *cr). 2022-04-23 16:15:05 +02:00
ManoloFLTK
d992a12403 Merge remote-tracking branch 'refs/remotes/origin/master' 2022-04-01 14:36:41 +02:00
ManoloFLTK
a53efd73d7 Fix regression introduced with d9a6ec8 visible in test/scroll. 2022-04-01 14:36:33 +02:00
Albrecht Schlosser
e91d65cd2f Fix whitespace errors (no code changes) 2022-03-31 16:00:11 +02:00
ManoloFLTK
d9a6ec88e4 Add support of Fl_Region to the Cairo graphics driver
and remove it from the Wayland graphics driver.
2022-03-31 10:36:01 +02:00
ManoloFLTK
427e4dbc7a Remove platform-dependent type Fl_Bitmask (not in documented public API). 2022-03-24 10:00:01 +01:00
Albrecht Schlosser
fa84b58cd5 Fix silly MSVC 2010 parser warnings
Code like "void copy(const char */*stuff*/, ...)" would issue the
warning "'*/' seen outside comment" which is formally true but ...

These warnings don't appear with newer MS compilers, but I fixed them
anyway.
2022-03-21 17:03:13 +01:00
ManoloFLTK
2d833a54fd Move initialisation of X11 and Wayland built-in font names to fl_???_platform_init.cxx 2022-03-14 15:28:38 +01:00
ManoloFLTK
9e4c7aa77c Restore building for X11 platform + Pango (issue #405). 2022-03-10 09:09:29 +01:00
ManoloFLTK
f97fbffa7b Move all font stuff to Fl_Cairo_Graphics_Driver from Fl_Wayland_Graphics_Driver. 2022-03-09 08:46:49 +01:00
ManoloFLTK
5b1d1e2470 Some reformatting and fix else reach in Fl_Cairo_Graphics_Driver::transformed_vertex. 2022-03-08 09:30:32 +01:00
ManoloFLTK
9e7f49f56f Add missing member initialisation in Fl_Cairo_Graphics_Driver constructor. 2022-03-07 08:34:49 +01:00
ManoloFLTK
f8db18597a Complete class Fl_Cairo_Graphics_Driver using Fl_Wayland_Graphics_Driver 2022-03-06 19:47:06 +01:00
ManoloFLTK
08e59770aa Remove compiler warnings about unused parameters (issue #307) - cont'd 2021-12-09 11:40:55 +01:00
ManoloFLTK
596a937530 PostScript output: initialise member variables in Fl_Cairo_Graphics_Driver constructor.
Also, remove inadequate Fl_Surface_Device::push_current(this) call in Fl_Posix_Printer_Driver::begin_job().
2021-12-02 10:54:40 +01:00
Albrecht Schlosser
d96c980d29 Fix "failed to build with pango libarary" (issue #291)
The error was reported for "centos 6 with devtoolset-6 installed
which contains gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3)".

The fix includes the missing header files *and* makes sure that the
correct conversions (to size_t) take place as in
src/drivers/PostScript/Fl_PostScript_image.cxx.
2021-11-14 13:06:25 +01:00
Albrecht Schlosser
6ac305a508 Remove compiler warnings '-Wextra-semi' (see also PR #266)
I compiled with `-Wextra-semi -Werror=extra-semi` on Linux and Windows
(cross-compiled on Linux) and removed all "extra semicolon" warnings
I could find. I didn't check on macOS (yet).

Note: Linux configured with and w/o Pango but not w/o Xft. Compilation
with other options (e.g. Cairo) might still emit such warnings.
2021-08-27 14:52:43 +02:00
ManoloFLTK
78aa959ab9 Fix Fl_Cairo_Graphics_Driver::rect and Fl_Cairo_Graphics_Driver::rectf 2021-04-14 13:59:16 +02:00
ManoloFLTK
ef41409759 Add guard against multiple inclusion of header file. 2021-03-27 19:05:29 +01:00
ManoloFLTK
4657e988f7 Remove X11-specific code from platform-independent Fl_PostScript.cxx 2021-03-26 07:52:21 +01:00
Albrecht Schlosser
a620ef5b37 Fix Linux build with --enable-pango 2021-03-15 15:06:23 +01:00
ManoloFLTK
1fbcae13bd Create class Fl_Cairo_Graphics_Driver.
That class is extracted from inside Fl_PostScript_Graphics_Driver and might
become handy in the future.
2021-03-15 14:09:50 +01:00