summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib
AgeCommit message (Collapse)Author
2021-03-26Remove X11-specific code from platform-independent Fl_PostScript.cxxManoloFLTK
2021-03-21Remove unnecessary system includes from public headersAlbrecht Schlosser
Add includes of system headers in the implementation files where necessary.
2021-03-13Fast pango (#201)ManoloFLTK
* Cache single unicode character widths under Xft+Pango
2021-03-11Unification of scaled coordinate calculations in class ↵ManoloFLTK
Fl_Scalable_Graphics_Driver Most coordinate calculations are done with the new inline function int Fl_Scalable_Graphics_Driver::floor(int coord) that is used by both the Windows and X11 platforms.
2021-03-02X11 platform: Accurately control RGB image drawing with GUI scaling.ManoloFLTK
2021-03-01Remove duplicated code between derived classes of Fl_Graphics_Driver - cont'd.ManoloFLTK
2021-03-01Remove duplicated code between derived classes of Fl_Graphics_Driver.ManoloFLTK
2021-02-16Fix whitespace errors (no code changes)Albrecht Schlosser
- remove trailing whitespace - convert tabs to spaces (configure.ac)
2021-02-16Use <config.h> when appropriate.ManoloFLTK
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.ManoloFLTK
2020-11-24Fix for issue #163: Improve Xrender scaling qualityManoloFLTK
2020-11-20Fix for issue #159 - continuedManoloFLTK
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-19Remove compilation warnings about signed/unsigned comparison.ManoloFLTK
2020-11-19Fix for issue #159.ManoloFLTK
2020-11-12Fix for issue #155 - continuedManoloFLTK
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-10-28Pango ps (#148)ManoloFLTK
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-08Fl_Xlib_Font_Descriptor does not need char glok[64] when USE_XFT is onManoloFLTK
2020-08-01Remove unneeded strdup from example, fold tabsGreg Ercolano
2020-08-01Implement + deploy fl_strdup()Greg Ercolano
2020-07-30Fix use of an SVG image in Fl_Tiled_Image when display is rescaled.ManoloFLTK
2020-07-28Fix for issue #119. Drawing artefacts for SVG images without XRender.ManoloFLTK
Xlib: Drawing SVG images in scaled mode without XRender has drawing artefacts.
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- 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-03-20Rewrite Fl_Xlib_Graphics_Driver::get_font_name() with less lines of code.ManoloFLTK
2020-03-20Fix Fl::get_font_name() under X11+Xft-PangoManoloFLTK
2020-01-15Fix uninitialized vars in calls to fl_clip_box() (issue #6)Albrecht Schlosser
The main fixes are only to avoid static code analyzer warnings reported in issue #5, but there are also minor bug fixes included. These bug fixes are more of theoretical concerns though. Close #6.
2020-01-09Fix X11 RTL text clipping (STR 2798) - part 2Albrecht Schlosser
Yet another fix for RTL text...
2020-01-08Improve X11 coordinate clipping for text (STR 2798)Albrecht Schlosser
Text outside the 16-bit X11 coordinate space must be clipped before calling X11 draw functions, otherwise text might appear anywhere in the window because X11 would "truncate" the coordinates instead of proper clipping (X11 handles only 16-bit coordinates).
2019-11-08X11 + pango: Sort font names ignoring case.ManoloFLTK
2019-11-07Reorganise use of virtual member function Fl_Surface_Device::end_current()ManoloFLTK
2019-11-01Fix HiDPI support under X11 to read/draw RGB image from/to display.ManoloFLTK
2019-09-11Fix use of Xrender extension with old, 16-bit framebuffers.ManoloFLTK
Subject "Bug in 1.4 Displaying PNG under x64 Kernel x86 app." in fltk.general contains a report by Darren Legge that presents the problem, and a later post stating the code modification does fix the problem.
2019-06-06Add one argument to Fl_Screen_Driver::read_win_rectangle()ManoloFLTK
The new argument gives the window to be captured, or NULL to indicate capture from the current offscreen. Calling this function becomes easier because less dependent on global variables.
2019-06-06Fix in Fl_Xlib_Graphics_Driver::font_unscaled() necessary when changing ↵ManoloFLTK
drawing surfaces
2019-06-03X11+Pango: fix case when function pango_font_get_glyph_extents() failsManoloFLTK
2019-06-02X11+Pango: font names visible in the fonts and utf8 apps are usable for ↵ManoloFLTK
Fl::set_font(Fl_Font, const char*)
2019-05-30X11+Pango: call pango_font_description_from_string() less oftenManoloFLTK
Previously, each time fl_font(fnum, fsize) was called, functions pango_font_description_free() and pango_font_description_from_string() would be called. Now, pango_font_description_from_string() is called only once, the first time an Fl_Font is used.
2019-05-25Call virtual member Fl_Surface_Device::end_current() when necessaryManoloFLTK
Rename member function Fl_Surface_Device::end_current_() to end_current(), set it protected, and make it called by the destructor of all classes derived from Fl_Surface_Device that re-implement end_current(). This way, end_current() runs equally if Fl_Surface_Device()::pop_current() is called before or after the drawing surface is deleted.
2019-04-10Use the new Fl_Surface_Device::is_current() virtual functionManoloFLTK
2019-04-10Remove useless member functions Fl_XXX_Copy_Surface_Driver::w() and h()ManoloFLTK
2019-04-10New virtual member function bool Fl_Surface_Device::is_current()ManoloFLTK
2018-12-04Define useful implementations of Fl_Graphics_Driver::push_no_clip() and ↵ManoloFLTK
pop_clip().
2018-06-27Remove a few useless 'friend' statements.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Screen_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Doxygen only: fixed all block comments starting with an asterisk to ↵Matthias Melcher
space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12Remove public member function Fl_Window_Driver *Fl_Window::driver() so class ↵Manolo Gouy
Fl_Window_Driver is not in FLTK public API. This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win). The purpose is to have class Fl_Window_Driver outside from FLTK ABI. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09Remove a bunch of useless #include <FL/Fl_Printer.H> statements.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12909 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06Make member function Fl_Image_Surface::get_offscreen_before_delete() be private.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12904 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-01Make virtual void Fl_Surface_Device::end_current_() have no argument because ↵Manolo Gouy
none is used. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12889 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-26Simplify API for Fl_Image_Surface::Fl_Image_Surface(int w, int h, int ↵Manolo Gouy
high_res, Fl_Offscreen off) with non-null offscreen. The caller no longer needs to call Fl_Image_Surface::get_offscreen_before_delete() before object deletion, because the object destructor knows the offscreen has not been created by the Fl_Image_Surface constructor. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12874 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-25class Fl_Xlib_Image_Surface_Driver : Remove unused member variable.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12871 ea41ed52-d2ee-0310-a9c1-e6b18d33e121