Commit Graph

197 Commits

Author SHA1 Message Date
ManoloFLTK
7104746413 Fix crash in howto-drag-and-drop under macOS 2024-06-11 15:04:48 +02:00
Albrecht Schlosser
76a2c95f07 Fix a typo, trailing whitespace, and dependencies 2023-12-21 14:03:04 +01:00
ManoloFLTK
3e61ec7044 New member function Fl_Image_Surface::mask(Fl_RGB_Image*) 2023-12-04 12:34:44 +01:00
ManoloFLTK
bb7e1635ad macOS: remove a bunch of deprecation warnings 2023-10-09 11:16:36 +02:00
ManoloFLTK
4bf9172a8e Replace internal fl_create_offscreen() calls by new Fl_Image_Surface 2023-04-23 10:03:02 +02:00
Matthias Melcher
a63ad76603
FLUID refactor and macOS warnings removed (#623)
P renamed to g_project
class Project renamed to class Fluid_Project
fixes macOS type cast warnings
2023-01-01 20:05:42 +01:00
Matthias Melcher
44c874b731
Use FL_OVERRIDE for all overridden virtual methods (#611)
FL_OVERRIDE is defined as `override` for C++11 and higher
FL_OVERRIDE is defined as `override` for VisualC 2015 and newer
Don't interfere with Fl_Widget::override()
2022-12-30 19:14:36 +01:00
ManoloFLTK
4de491d02e Make Fl_XXX_Graphics_Driver::create_bitmask() a static member function 2022-11-25 15:53:28 +01:00
ManoloFLTK
699cca8ff4 Make Fl::set_color(r,g,b,a) effective under Wayland and macOS. 2022-09-15 15:01:12 +02:00
ManoloFLTK
71069b8570 Add necessary virtual qualifier to ~Fl_Font_Descriptor() and derived. 2022-09-08 16:04:09 +02:00
ManoloFLTK
95c851fda1 Set Fl_Graphics_Driver::set_color(Fl_Color, unsigned) used by macOS, Wayland and display-cairo. 2022-08-30 07:58:16 +02:00
ManoloFLTK
c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +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
2a5c2322f1 Fix for issue #454 : crash in Fl::get_font_name(). 2022-06-27 13:25:35 +02:00
ManoloFLTK
feb0d918fb Remove arbitrary maximum length of font name. 2022-06-25 20:00:17 +02:00
ManoloFLTK
fb7469c85c Fix for issue #452: Fl::get_font_name failure on OS-X. 2022-06-24 19:50:47 +02:00
ManoloFLTK
02870242ee Move input method support to Fl_Screen_Driver from Fl_Graphics_Driver 2022-06-19 10:23:24 +02:00
ManoloFLTK
f6a93eb060 Remove warnings: comparison of integer expressions of different signedness [-Wsign-compare] 2022-04-06 13:25:17 +02:00
Albrecht Schlosser
9a7af11108 Silence compiler warnings [-Wunused-but-set-variable] 2022-04-03 22:30:59 +02:00
ManoloFLTK
427e4dbc7a Remove platform-dependent type Fl_Bitmask (not in documented public API). 2022-03-24 10:00:01 +01:00
ManoloFLTK
d87b62ea69 Avoid using same name (p) for distinct members of derived classes. 2022-03-21 15:56:50 +01:00
ManoloFLTK
bf5b902180 Rename member Fl_Graphics_Driver::p to xpoint to avoid shadowing. 2022-03-21 14:39:00 +01:00
ManoloFLTK
b549cfaaea Separate platform init functions from platform-specific driver files 2022-03-13 08:56:35 +01:00
Albrecht Schlosser
92e9181a0a Rename FL/fl_string.h to FL/fl_string_functions.h
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).
2022-01-16 19:47:16 +01:00
ManoloFLTK
5bab46940c Re-organize cross-platform support for text input methods.
FLTK 1.3 supports complex text input methods (TIMs) for the 3 platforms
(X11, Windows, macOS). This support has an interface with FLTK that is
common for X11 and Windows, via (undocumented) functions fl_set_spot(),
fl_set_status() and fl_reset_spot().
In contrast, and because it's been developed independently, the
interface between the macOS TIM and FLTK 1.3 is completely different :
static functions FL::insertion_point_location() and Fl::reset_marked_text().

The present change implements a single TIM/FLTK interface
used by all platforms based on functions fl_set_spot() and
fl_reset_spot().

The previous macOS-specific functions FL::insertion_point_location() and
Fl::reset_marked_text() are maintained only for compatibility with 1.3
and deprecated.
2022-01-07 16:34:54 +01:00
ManoloFLTK
db7bb6cd98 Have Fl_Quartz_Copy_Surface_Driver account for current display scaling factor. 2021-08-05 19:21:05 +02:00
ManoloFLTK
b027d2ba57 Windows platform: use GDI+ to antialias oblique lines and curves. 2021-05-31 08:28:06 +02:00
ManoloFLTK
d95dd7acc4 New virtual member function Fl_Graphics_Driver::colored_rectf(). 2021-05-28 13:30:59 +02:00
ManoloFLTK
ce142e80df Fix fl_endpoints() for macOS platform that was not effective. 2021-03-13 20:06:28 +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
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
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
ManoloFLTK
d93fc2bfa6 Use <config.h> when appropriate. 2021-02-16 11:08:59 +01:00
ManoloFLTK
1adaa3def2 Create classes Fl_XXX_Gl_Window_Driver according to driver model. 2021-02-16 09:29:13 +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
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
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -07:00
Greg Ercolano
7514a73ba7 Solves issue #117, memcmp -> strncmp
Closes #117.
2020-07-31 07:00:46 -07:00
ManoloFLTK
889acc7d74 Fix use of an SVG image in Fl_Tiled_Image when display is rescaled. 2020-07-30 17:41:35 +02:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- 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-07-06 20:28:20 +02:00
ManoloFLTK
55132049c7 Complete fix for "[fltk.general] scroll and overlay window" dated 7 march 2020. 2020-03-10 06:37:47 +01:00
ManoloFLTK
a1115f13e3 Improve use of fl_scroll within Fl_Overlay_Window on macOS.
This is a partial fix for "[fltk.general] scroll and overlay window"
dated 7 march 2020.
Mixing of Fl_Scroll and Fl_Overlay_Window is now OK also
on a retina display, but there are still problems when the window
is scaled.
2020-03-08 20:16:34 +01:00
ManoloFLTK
7cb0c2311c Fix computation of Fl_Window::decorated_h() on macOS when screen is scaled. 2020-02-06 16:01:19 +01:00
ManoloFLTK
6aa9357b17 Have Fl_Quartz_Copy_Surface_Driver use retina resolution for resulting bitmap 2020-01-19 12:02:51 +01:00
ManoloFLTK
3265d439f3 Slightly improve Fl_Quartz_Graphics_Driver::copy_offscreen() when macOS ≥ 10.4 2020-01-15 18:18:59 +01:00
ManoloFLTK
2445797e45 Reorganise use of virtual member function Fl_Surface_Device::end_current() 2019-11-07 14:28:20 +01:00