summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-06-01Divide virtual Fl_Screen_Driver::open_display() in a platform-specific part ↵Manolo Gouy
followed by a platform-independent part. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12245 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-21Fix Visual Studio build with HiDPI support.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-18Add void fl_scale_offscreen(Fl_Offscreen &ctx) to support the rescaling of ↵Manolo Gouy
an offscreen buffer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12240 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-05-15Allow to disable shadows in Fl_Clock and derived widgets.Albrecht Schlosser
As discussed on 2017-05-15 in fltk.general, thread "Fl_clock". git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12237 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-15Improve and clarify Fl_Clock documentation.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12236 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-11Added some example code to Fl_Gl_Window::draw() docs..Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12235 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-06De-duplicate code to load pointer to the TransparentBlt() system function at ↵Manolo Gouy
run-time. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12234 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-05Fix erroneously cased include file namesManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12233 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-04Added Fl_Table docs for how to deselect.Greg Ercolano
Issue raised by Mich Paw today on fltk.general. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-02Add Doxygen documentation for fl_create_bitmask() and fl_delete_bitmask().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-26Fl_Table was missing doxygen docs for several public + protected members.Greg Ercolano
Solves STR# 3381. Also: standardized doxygen comment style in both files; > /** */ doxygen commenting > 2 space indent Removed some confusing non-doxygen comments, and rewrote some confusing ones. Removed old license info Matt had imported from my original 2002 widget.. there was no reason for it to be in there; the Fl_Table code inside FLTK is licensed under the FLTK GPL license, no need for the extra noise in the docs. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12228 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-25Remove Fl_Translated_GDI_Graphics_Driver and have its functions performed by ↵Manolo Gouy
Fl_GDI_Graphics_Driver. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12227 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-24Slight improvement of Fl_Image_Surface::image()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12224 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-24Allow the use of Fl_Image_Surface::image() also when the Fl_Image_Surface ↵Manolo Gouy
object is not the current drawing surface. This fixes an issue uncovered in a thread of fltk.general entitled fl_pop_clip: clip stack underflow! warning on X11 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12222 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-11Fix Windows CreateDC/DeleteDC mismatch (STR #3373).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12217 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-19Fix dependencies.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12212 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-17Revert temporary fix (attempt) introduced in svn r11644.Albrecht Schlosser
The fix in src/Fl_Input.cxx in svn r11644 was an attempt to fix the Visual Studio (Windows) build because CMake would sometimes not find the correct header files, but this attempt opened a path where the variable 'legal_fp_chars' was not initialized. The (hopefully) correct fix will follow in my next commit... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12208 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17Fix Linux build after removal of Fl_Translated_Xlib_Graphics_Driver.cxxAlbrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12207 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
2017-03-14Give platform-independent default implementation to Fl_System_Driver::gettime()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-13Set missing svn properties.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-13Fix include file case (patch from Haiku port, thanks).Albrecht Schlosser
Ref.: https://github.com/mmuman/fltk-test-only.git, commit 59c3cfbdf0412fb30f8312ed9ddd96f5affd2f0a by François Revol. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-12Remove superfluous semicolon.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12194 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-12Fix svn attributes of *.c, *.cxx, *.cmake and others.Albrecht Schlosser
- set svn:keywords Id - set svn:eol-style native git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-11Separated Fl_Input_Choice.H and Fl_Input_Choice.cxx (STR #2750).Albrecht Schlosser
As proposed in STR #2750 and #2752: only status quo, i.e.: - no new method Fl_Input_Choice::maximum_size(int) (STR #2750 and #2752) - no handling of FL_Down key to open menu (STR #2752) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-10Enable Up/Down keys in Fl_Spinner if input has focus (STR #2989).Albrecht Schlosser
Previously Up/Down keys worked only if one of the buttons was pressed before so that it had the focus. test/valuators.fl: The second Fl_Spinner widget (FL_FLOAT_INPUT) now has wrap mode disabled whereas the first one (FL_INT_INPUT) uses wrap mode (default, compatible with FLTK 1.3.x and older). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-10New method Fl_Spinner::wrap(int) to set wrap mode at bounds (STR #3365).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-09Separated Fl_Spinner.H and Fl_Spinner.cxx (STR #2776).Albrecht Schlosser
Also removed deprecated (misspelled) method names mininum() and maxinum(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07Have all Fl_Clock objects in a single FLTK app tick approximately at the ↵Manolo Gouy
same time. Before this change, clocks can tick at any point within a second, so 2 clocks can appear to disagree on the time they give (by less than a second). To see that, run the clock test program, icons one of the clocks, and uniconize it just before the other clock will tick. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07Add to Fl_System_Driver support for measuring time with split second resolution.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07Fix tab alignment.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-06Fl_Tabs: improve tab label drawing (STR #3075, STR #3076).Albrecht Schlosser
New method Fl_Tabs::tab_align() supports icons in tabs (STR #3076). This commit also enables drawing labels of Fl_Window children (STR #3075). Setting tab_align(FL_IMAGE_NEXT_TO_TEXT) draws images (icons) in the tab labels if the child has an image(). Currently this draws the image() even if the child is deactived (so it should presumably draw the deimage()). Todo: Label measurement and Fl_Windows as children still need fixups. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12185 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-05Simplify Fl_Tabs label drawing code (remove code duplication).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12184 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-27Improve label alignment docs and border case implementations.Albrecht Schlosser
Make clear that some alignment bit combinations are "illegal" and yield undefined behavior that can be changed without notice. Fix label alignment in some border cases where illegal bit combinations like FL_ALIGN_LEFT and FL_ALIGN_RIGHT or FL_ALIGN_TOP and FL_ALIGN_BOTTOM are both set, respectively. Todo: There appears to be inconsistent handling WRT these "illegal" cases, for instance with inside labels as opposed to outside labels, such that the behavior seems to be unpredictable. See test/label.cxx. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-25Fix typo (case) in include file name.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-22Avoid potential crash occurring after calling win->show(0,0)Manolo Gouy
See [fltk.general] Drawing to Fl_Offscreen received signal SIGSEGV, Segmentation fault. that is unrelated to Fl_Offscreen but caused by calling win->show(0,0). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12179 ea41ed52-d2ee-0310-a9c1-e6b18d33e121