summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib
AgeCommit message (Collapse)Author
2017-08-20Simplify using Fl_XXX_Graphics_Driver::copy_offscreen() instead of ↵Manolo Gouy
Fl_Scalable_Graphics_Driver::copy_offscreen_unscaled() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12395 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-15Fl_XXX_Surface_Driver::set_current() : call Fl_Surface_Device::set_current() ↵Manolo Gouy
first to get fl_window right. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12383 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-14Remove unnecessary #include statements and compilation guards.Albrecht Schlosser
Currently src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver.cxx wouldn't contribute any code to the lib, but it is kept for future extensions. This file is no longer compiled (see src/CMakeLists.txt and src/Makefile). Tested (only) under Windows and Linux. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-14Make 'driver' header include guards more standard.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-13Fl_Xlib_Graphics_Driver::set_fonts() with Pango: handle case when 'Regular' ↵Manolo Gouy
is not alone in face name. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12378 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-13Fl_Xlib_Graphics_Driver::set_fonts() with Pango: account better for variety ↵Manolo Gouy
of possible font styles. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-12Fix error: invalid conversion from ‘const char*’ to ‘char*’ ↵Manolo Gouy
[-fpermissive] git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12376 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-12Improve Fl_Xlib_Graphics_Driver::set_fonts() when using Pango to build ↵Manolo Gouy
standard FLTK font names prefixed with I,B, or P. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12375 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-27Exact computation of scaled clipping region for X11 platform.Manolo Gouy
Each rectangular component of the clipping region is transformed exactly as by Fl_Xlib_Graphics_Driver::rectf_unscaled() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12272 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-21Move line_width_ protected member variable from Fl_Xlib_Graphics_Driver to ↵Manolo Gouy
Fl_Scalable_Graphics_Driver git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12269 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-06X11 platform: Accurate box graphics at wide range of scaling factor values.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12254 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-01Additional check in Fl_Xlib_Graphics_Driver::font_unscaled(Fl_Font, ↵Manolo Gouy
Fl_Fontsize) to recognize if current font is unchanged. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-22X11 + Pango platform: improve text drawing with angle.Manolo Gouy
Make sure that text length computed without angle is equal to text length drawn with angle. This property is essential so that rotated text appears at controlled location at both ends. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12244 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-22Fix warnings: 'Fl_Xlib_Graphics_Driver::scale' hides overloaded virtual ↵Manolo Gouy
function [-Woverloaded-virtual] git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12242 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-17Introduce HiDPI + rescaling support for the X11 platform (+ partial support ↵Manolo Gouy
for WIN32) Corresponds to STR #3320 1) HiDPI support consists in detecting the adequate scaling factor for the screen on which FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct value of this factor at startup (see more details below). Environment variable FLTK_SCALING_FACTOR can also be used to set this value. 2) Rescaling support consists in changing the scaling factor of all FLTK windows in reply to ctrl/+/-/0/ keystrokes. More details for the various platforms : - X11: Support is very advanced. Some details need still to be improved. Automatic detection of the correct starting value of the scaling factor works well with the gnome desktop. The present code contains no support for this on other desktops. FLTK_SCALING_FACTOR provides a workaround. -WIN32: Support is incomplete at this point, although many test applications have partial or complete HiDPI and scaling support. The current value of the system's scaling factor is correctly detected at application startup. Apps respond to changes of this value in real time. Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable at compile time. This way, standard builds produce a code with the default WIN32 HiDPI support, that is, where all graphics goes to an internal buffer that gets enlarged by the system and then mapped to the HiDPI display. To experiment with (or develop) the new HiDPI support requires a modified build procedure in which FLTK_HIDPI_SUPPORT is defined at compile time. When the support will be complete, the requirement for the definition of this preprocessor variable will be removed. The present commit contains support for a single scaling factor. Eventually, per-screen scaling factors should be implemented, as done for X11. - MacOS: this commit does not give new HiDPI for this platform. Eventually, window rescaling in reply to command/+/-/0/ is desirable. Per-screen scaling factor makes no sense on this platform because the OS itself takes care of the difference between the resolutions of traditional and retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-25Add an argument to the private, virtual member function void ↵Manolo Gouy
Fl_Surface_Device::end_current_(). The X11 platform uses this argument to restore the correct clipping state after drawing to an Fl_Image_Surface object. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-24Remove unused variable from class Fl_Xlib_Image_Surface_Driver.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12225 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-24Undo change at r.12221 because it's done at r.12222 in a cross-platform fashion.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12223 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-23Fix Fl_Image_Surface::image() as discussed in fltk.generalAlbrecht Schlosser
See thread "fl_pop_clip: clip stack underflow! warning on X11" started on Thu, 20 Apr 2017. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12221 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-12Fix for STR#3374: Crash with pango enabled when changing default fontManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12218 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-07Fixed typo in warning message.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12215 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17Account for translation also in non-Pango code section.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12211 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17Create Fl_Xlib_Graphics_Driver::scale_and_render_pixmap() to draw depth-4 or ↵Manolo Gouy
scaled RGB images using Xrender. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12210 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17The new Fl_Xlib_Graphics_Driver::draw_scaled() member function must also ↵Manolo Gouy
account for possible translation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12206 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17Remove class Fl_Translated_Xlib_Graphics_Driver and move its processing to ↵Manolo Gouy
Fl_Xlib_Graphics_Driver. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12205 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17Fix the projective transformation matrix used for Xrender-based scaled image ↵Manolo Gouy
drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12201 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-16Add scaled image drawing to the X11 platform using Xrender.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-23Fix CMake config.h and compiler warnings.Albrecht Schlosser
Fixed warnings: -Wsign-compare, -Wunused-but-set-variable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21X11 platform: Add optional use of the pango library to draw text, gaining ↵Manolo Gouy
the possibility to draw text in any script supported by Unicode. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21Fix Fl_Xlib_Graphics_Driver::delete_bitmask() : the pixmap argument is to be ↵Manolo Gouy
deleted by XFreePixmap(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-09Simpler code path for a member function calling another member function of ↵Manolo Gouy
same class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-07Add static void Fl_Surface_Device::push_current(Fl_Surface_Device ↵Manolo Gouy
*new_current) and pop_current() to set/unset the current drawing surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-30Remove Fl_Image_Surface::end_current() to be called after usage of the ↵Manolo Gouy
drawing surface. This ensures API compatibility with FLTK 1.3 where Fl_Surface_Device->set_current() is used to change the current drawing surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12125 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-28X11 platform: fix STR#3353 and correct drawing of depth-2 RGB images when ↵Manolo Gouy
XRender extension is present. Fl_RGB_Image's of depth-2, that is, monocolor and transparent, were not drawn using the XRender extension, when present, as are depth-4 images. With this change they are. A by-product of this change is that it fixes an erroneous drawing (STR#3353) that occurred when the image expands outside the window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12124 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-19Remove change at r.12120 because STR#3353 note #6 shows it is not OK.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12122 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-18Fix for STR#3353: bad depth-2 image drawing when the window is resized ↵Manolo Gouy
smaller than the image. The problem is specific to the X11 platform. The cause is that depth-2 images were not considered in a previous change (r.10628) that introduced transparent image drawing with alpha blending. Depth-2 images can be processed just as depth-4 images with alpha-blending. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12120 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-18X11 platform: Fl_RGB_Image::mask_ is always 0, so remove code to process ↵Manolo Gouy
mask_ in Fl_Xlib_Graphics_Driver. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12119 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-18Remove commented out code for what used to be : static int start_rgb()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12118 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-16Replace global fl_line_width_ used only by X11 platform by ↵Manolo Gouy
Fl_Xlib_Graphics_Driver::line_width_ git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12114 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-05Slightly improve the parameter list of member function int ↵Manolo Gouy
Fl_Graphics_Driver::start_image(...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03Rename Fl_Bitmap::start() to Fl_Bitmap::prepare().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03Factorize repeated code across platform-specific graphics drivers and image ↵Manolo Gouy
types git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12077 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-02Replace declarations such as "friend class Fl_Xlib_Graphics_Driver;" by ↵Manolo Gouy
platform-independent declarations. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-07Remove Fl_Xlib_Graphics_Driver::global_gc() because identical to ↵Manolo Gouy
Fl_Graphics_Driver::global_gc() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12019 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-25X11: More explicit warning when using rotated text w/o Xft.Albrecht Schlosser
The warning is issued to stderr only once (previously: every time rotated text was used). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-23Move font-related member functions from Fl_Screen_Driver to Fl_Graphics_Driver.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-22Rewrite Fl::set_fonts(), Fl::get_font_sizes(), Fl::get_font_name() under the ↵Manolo Gouy
driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-21Remove a block of header comments in the middle of the file.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-21Restore building with X11 but not XftManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11963 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-12Remove code requiring config.h from public header FL/x.HManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121