summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib
AgeCommit message (Collapse)Author
46 hourswipmaxim nikonov
47 hourswipmaxim nikonov
3 dayswip: forkmaxim nikonov
2025-09-19Underline does not appear in some fonts and scales (Windows,X11-noCairo) (#1308)ManoloFLTK
2025-09-19Underline does not appear in some fonts and scales (X11-noCairo) (#1308)ManoloFLTK
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-03-07Fix "fltk autotools build does not link against libXft" (#1202)ManoloFLTK
libXft was erroneously present in the link command when using Pango and Cairo. This is fixed by disconnecting the GUI scaling code from use of Xft. This commit also makes sure that when Wayland is used, pkg-config is available on the build machine. This allows to remove from file CMake/options.cmake code that was labelled with "FIXME".
2025-01-10Fix Fl_{Wayland|Xlib}_{Copy|Image}_Surface_Driver::set_current()ManoloFLTK
Member function Fl_Cairo_Graphics_Driver::set_cairo() needs be called only to initialize the driver. Doing it also later undoes the effect of Fl_Widget_Surface::translate() if used when Fl_Surface_Device::pop_current() calls the overridden Fl_Surface_Device::set_current().
2025-01-08Make draw to image and draw to clipboard behave equally in X11 and WaylandManoloFLTK
2024-11-13Fix Cairo: Rounding issues with Fl_RGB_Image::draw() + Fl_Copy_Surface (#1124)ManoloFLTK
2024-10-08Restore building without Cairo developer files (#1087)ManoloFLTK
2024-10-07Make Pango-handled text accept legacy CP1252-encoded textManoloFLTK
2024-08-26Fix for artefact in X11 1-pixel thick rect drawing with some drivers (#156, ↵ManoloFLTK
#1052)
2024-07-24Fix Fl_Scalable_Graphics_Driver::rect(x,y,w,h) (#1017)ManoloFLTK
2024-07-23Fix "line_style_doc program under X11: join type wrong" - cont'd (#1017)ManoloFLTK
2024-07-23Fix "line_style_doc program under X11: join type wrong" (#1017)ManoloFLTK
2024-03-15STR 3489: fix alpha blending for X11Matthias Melcher
2024-01-19Fix compiler warning [-Wmaybe-uninitialized]Albrecht Schlosser
'buf' could indeed be used uninitialized if the switch statement below was executed with an unknown style (no default case).
2023-12-21Fix a typo, trailing whitespace, and dependenciesAlbrecht Schlosser
2023-12-04Fix compiler warningsAlbrecht Schlosser
fluid/code.cxx: unused variable src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx: function may return address of local variable [-Wreturn-local-addr]
2023-12-04New member function Fl_Image_Surface::mask(Fl_RGB_Image*)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-05 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-04-23Replace internal fl_create_offscreen() calls by new Fl_Image_SurfaceManoloFLTK
2023-04-14Remove duplication of Pango standard font namesManoloFLTK
And move each array of standard font names to appropriate font-related source file
2023-02-14Rename class Fl_Display_Cairo_Graphics_Driver to Fl_X11_Cairo_Graphics_DriverManoloFLTK
2023-01-26Fixing FLUID file corruption from issue #653 (#662)Matthias Melcher
Removing all globals in file writer (#653 ) Fix some static analyser complaints Valgrind: handle width==0 in GfxDrivers on Wayland and X11 Don't use `Fl_Input_::static_value`, it accesses previous buffer that may be deleted Project file write encapsulated, removing globals Encapsulating project file reader, removing states in glbals Project i/o increased source code readability
2023-01-13Fix set_fonts() in Xlib/xft and Cairo Graphics_DriverAlbrecht Schlosser
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx: - fix font_name_process() out of bounds memory access - unify/align font_name_process() code (see also Xlib/xft) - fix font name string allocation src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx - unify/align font_name_process() code (see also Cairo_Graphics) - fix font name string allocation Todo: move common code to Fl_Graphics_Driver or another common file.
2023-01-08 Fix "Xrender blurs adjacent images with bilinear scaling" (#633)ManoloFLTK
Many thanks to @wcout for providing this fix. Xrender now draws images in the same way when tiling images or not when FL_RGB_SCALING_BILINEAR is on. This allows to remove static bool Fl_Tiled_Image::drawing_tiled_image() which becomes unused.
2023-01-01Add a missing FL_OVERRIDE flagAlbrecht Schlosser
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
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-30Fix misleading indentation (warning: [-Wmisleading-indentation])Albrecht Schlosser
2022-11-29Fix for issue [Cairo]: Arrows have a "gap" (#561)ManoloFLTK
The problem to fix is that the arrow drawn by draw_arrow1() in src/fl_symbols.cxx displays a faint clear line between the stem and head of the arrow with the Cairo graphics driver. This occurs because draw_arrow1() draws the arrow in 2 steps (a rectangle + a triangle) and the Cairo driver is configured to use antialiasing when filling polygons. The antialiasing produces the faint line between stem and head. Why does draw_arrow1() draw a rectangle + a triangle rather than a 7-vertex polygon? That's because the X11 graphics driver fails with its polygon- drawing function when the polygon is also rotated: the polygon is drawn empty. We want to keep using antialiasing under Cairo for polygons because the result is better with non horizontal/vertical polygon edges. This implementation changes function draw_arrow1() which draws the arrow as a 7-vertex filled polygon except when the graphics driver returns false for its virtual member function can_fill_non_convex_polygon(). In that situation, draw_arrow1() draws, as before, a rectangle + a triangle. The new, virtual member function can_fill_non_convex_polygon() returns true except for the X11 graphics driver. Therefore, draw_arrow1() is effectively unchanged under the X11 driver.
2022-11-25Make Fl_XXX_Graphics_Driver::create_bitmask() a static member functionManoloFLTK
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-09-08Add necessary virtual qualifier to ~Fl_Font_Descriptor() and derived.ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-25Remove unneeded FL_EXPORT declaration.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2022-08-10Fix Fl_Xlib_Graphics_Driver for drawing tiled images.ManoloFLTK
Conflicting demands arise in the implementation of class Fl_Xlib_Graphics_Driver for drawing images with the XRender library : 1) Issue #163 leads to use a bilinear filter to draw-and-scale images. 2) This tends to blur the edges of drawn areas which is bad for tiled images (that is because the edges get alpha values, even for an opaque source image). This commit resolves the conflict adding a means to detect whether the library is busy drawing a tiled image. If so, the bilinear filter is not applied, drawn areas don't have blurred edges, resulting in a nice tiling. With this commit, these test apps perform correctly: - tiled_image is correct at all scaling factor values also when modified to use a depth-3 or a depth-4 Fl_RGB_Image as tile; - unittests - Drawing Images is correct at all scaling factor values; - pixmap_browser scales correctly up and down JPEG and PNG images.
2022-08-09Fix Fl_Xlib_Graphics_Driver for tiled-depth 3 images.ManoloFLTK
Modifying test/tiled_image to make it use a depth-3 image for tiling (rather than an Fl_Pixmap) shows the filter does require to use PictOpOver as the render op in the XRenderComposite call.
2022-08-09Fix Fl_Xlib_Graphics_Driver for RGB image drawing under XQuartz.ManoloFLTK
2022-07-26Remove redundant Fl_Xlib_Graphics_Driver::scale_bitmap_for_PostScript() ↵ManoloFLTK
under USE_XFT=1.
2022-07-20Change prototype of virtual Fl_Graphics_Driver::pango_font_description().ManoloFLTK
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-03-24Remove platform-dependent type Fl_Bitmask (not in documented public API).ManoloFLTK
2022-03-21Avoid using same name (p) for distinct members of derived classes.ManoloFLTK
2022-03-21Fix for issue #416: Fl_Xlib_Graphics_Driver_font_xft.cxx has a libasan error.ManoloFLTK