Commit Graph

7744 Commits

Author SHA1 Message Date
Manolo Gouy
c2d5cf4067 Simplify using Fl_XXX_Graphics_Driver::copy_offscreen() instead of 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-20 20:18:15 +00:00
Manolo Gouy
4331fdf46b Remove undesirable statement.
A bug was visible in test/unittests when moving between lines and rectangles.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-20 11:41:53 +00:00
Manolo Gouy
c51cbd0a50 Prevent situation where SetProcessDPIAwareness was called after Fl_WinAPI_Screen_Driver::init().
The effect was that the file_chooser test app did not recognize the window scaling factor.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-19 07:29:26 +00:00
Albrecht Schlosser
b4e434774f Remove unnecessary #include files from Fl_Help_View.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12392 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-18 15:46:20 +00:00
Albrecht Schlosser
3a5e2f074b Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-18 15:18:46 +00:00
Albrecht Schlosser
2828cbde2c Avoid #include's of unrelated system headers in Fl_Table*.H.
Possible side effect: programs that relied upon inclusion of unrelated
system headers by FL/Fl_Table.H or FL/Fl_Table_Row.H may fail to compile.

Removed include files (some only on certain platforms, list may be incomplete):

#include <FL/Fl.H>             // moved to implementation (.cxx)
#include <FL/Fl_Box.H>         // moved to implementation (.cxx)
#include <FL/Fl_Scrollbar.H>   // moved to implementation (.cxx)

#include <sys/types.h>
#include <string.h>            // memcpy
#include <malloc.h>            // WINDOWS only: malloc/realloc
#include <stdlib.h>            // UNIX: malloc/realloc


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12390 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-18 15:16:08 +00:00
Albrecht Schlosser
638fba6020 Documentation: remove unnecessary item from TODO list.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12389 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-18 15:00:06 +00:00
Manolo Gouy
46288a2bdb class Fl_GDI_Image_Surface_Driver: remove member variable 'previous' that is useless.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12388 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-16 15:41:59 +00:00
Albrecht Schlosser
51c788095a Add missing #include "config_lib.h" in Fl.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-15 16:45:38 +00:00
Manolo Gouy
1c818271b1 Complete previous commit at r.12385 that was partial.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12386 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-15 15:26:50 +00:00
Manolo Gouy
d42e7374a5 Update support of rescaling which no longer involves hide/show of the window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12385 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-15 14:52:50 +00:00
Manolo Gouy
108a5e8de2 Complete previous commit at r.12383 that was partial.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12384 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-15 14:44:35 +00:00
Manolo Gouy
6bcadf536f Fl_XXX_Surface_Driver::set_current() : call Fl_Surface_Device::set_current() 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-15 14:30:48 +00:00
Manolo Gouy
f7f2e06fe4 Remove _sgc private member of Fl_GDI_Image_Surface_Driver that is not necessary.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12382 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-15 14:26:25 +00:00
Albrecht Schlosser
ec951ce695 Remove unnecessary #include statements and compilation guards.
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-14 17:10:26 +00:00
Albrecht Schlosser
4198caa780 Make 'driver' header include guards more standard.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-14 15:44:41 +00:00
Albrecht Schlosser
5a9c159350 Remove unnecessary #include statement.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-14 11:42:34 +00:00
Manolo Gouy
01a885f911 Fl_Xlib_Graphics_Driver::set_fonts() with Pango: handle case when 'Regular' 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-13 13:51:14 +00:00
Manolo Gouy
67a63d40e0 Fl_Xlib_Graphics_Driver::set_fonts() with Pango: account better for variety of possible font styles.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-13 11:50:47 +00:00
Manolo Gouy
44a3f9fce9 Fix error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12376 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-12 15:28:44 +00:00
Manolo Gouy
7a6124bda6 Improve Fl_Xlib_Graphics_Driver::set_fonts() when using Pango to build 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-08-12 15:16:35 +00:00
Albrecht Schlosser
7fc5bfc1ca Add tooltips to new draggable-group example program.
... as suggested by Greg.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-12 14:53:39 +00:00
Albrecht Schlosser
f643714879 Add draggable-group example program.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12372 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-05 16:44:49 +00:00
Manolo Gouy
6126e8cb0e Strenghten Fl_WinAPI_System_Driver::paste(): the widget's handle method may change Fl::e_text.
The widget's handle method may change the value of Fl::e_text.
This occurs for instance if this method calls fl_choice().
So, memorize the value of Fl::e_text before, to delete the correct array after the call to the handle method.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12371 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-05 14:25:09 +00:00
Albrecht Schlosser
090f325780 Fix compiler warning [-Wunused-result].
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12370 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-05 09:55:22 +00:00
Albrecht Schlosser
e7af621409 Fix whitespace and comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12369 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-05 09:43:12 +00:00
Manolo Gouy
87b1ff244d Improve Fl_Widget_Surface::print_window_part() with better quality when scaling factor > 1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-31 07:47:48 +00:00
Manolo Gouy
c4e04e4c7f Improve rescaling when window moved across screens: make sure center stays on new screen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12367 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-30 16:21:57 +00:00
Manolo Gouy
5a7a954ebd Fix Fl_Widget_Surface::print_window_part() that was not correct for scaling factor values < 1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12366 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-30 15:19:36 +00:00
Manolo Gouy
16d69ff7aa Fix Fl_Screen_Driver::read_image() that was not correct with scaling factor < 1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12365 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-29 07:36:04 +00:00
Manolo Gouy
c88466928d Replace static protected bool Fl_Window_Driver::is_a_rescale by a private static variable and a public getter.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-28 15:51:05 +00:00
Manolo Gouy
879c4df5bd Fix Fl_Native_File_Chooser::filter_value()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12363 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-28 14:06:18 +00:00
Manolo Gouy
60567b12ef Rewrite Fl_X11_Window_Driver::resize_after_screen_change() to call Fl_Window_Driver::resize_after_scale_change()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12362 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-28 07:46:33 +00:00
Manolo Gouy
bf033e7191 Remove temporary code used for development only.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12361 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-28 07:23:03 +00:00
Manolo Gouy
7bd24a428d IsIconic() is the adequate WINAPI function to detect a minimised window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-27 15:11:33 +00:00
Manolo Gouy
4a85b82ffe Simpler initialisation of the 'scale' local variable in WndProc().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-27 14:48:27 +00:00
Manolo Gouy
3f572e327f Rename Fl_Window_Driver::in_resize_after_scale_change to 'is_a_rescale' which is more expressive.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12358 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-27 14:38:35 +00:00
Manolo Gouy
813bc06b19 Fix window iconize/deiconize when multiple screens with distinct scaling factors.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12357 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-27 08:30:20 +00:00
Albrecht Schlosser
6b24b20966 Fix confusing behavior of class Fl_Text_Selection.
Fl_Text_Selection got a new method length() and returns 0 in length()
and in all offsets (start(), end(), position()) if no text is selected
(selected() == false).

The behavior in FLTK 1.3 and earlier versions (returning undefined
values if !selected()) was confusing.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-26 12:32:13 +00:00
Manolo Gouy
4c999258f1 X11 platform, resize window when moved across screens: remove hide()/show() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-26 07:45:59 +00:00
Albrecht Schlosser
463b3e5d9d Fix blocks demo keyboard handling, add new shortcut.
The blocks demo was unintentionally intercepting ctrl/+ which was
introduced in FLTK 1.4.0 to change scaling for HiDPI screens. Now this
is separated: use ctrl/+/-/0 to change scaling, use '+' alone to change
the game level.

The new keyboard shortcut ALT+SHIFT+H allows users to reset their high
scores without editing the preferences file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12354 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25 18:44:19 +00:00
Albrecht Schlosser
768ba675b0 Fix test/blocks "runaway timer" bug.
Bug #1: When entering the next level an _additional_ timeout was started,
hence multiple timers would run in parallel and increase the game's speed
more than (supposedly) intended.

Bug #2: When the game was over, these additional timers were not stopped,
hence level 1 was never again as slow as it should be.

This is fixed in this commit. Additionally the timer values are defined
as preprocessor macros (constants) for easier fine tuning. To compensate
for the lower speed in higher levels the LEVEL_FACTOR was reduced from
0.95 to 0.90 so the higher levels are slightly faster than without this
fix.

Note: the result of this fix (generally less speed increase per level)
may result in higher scores.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12353 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25 18:15:52 +00:00
Albrecht Schlosser
7aea5b50a0 test/blocks: improve timer test code.
This commit does not change operative code but adds the ability to test
the timer callback under Windows and improves the timer statistics.

The code has been formatted in some parts, but not "everywhere".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12352 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25 17:25:51 +00:00
Manolo Gouy
5a8a2e1ee5 Remove virtual Fl_Window_Driver::reuse_icons() no longer useful after r.12349.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25 15:28:43 +00:00
Manolo Gouy
9c47bc322c Remove Fl_Window_Driver::reuse_cursor() that is no longer used since commit r12349.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25 11:31:19 +00:00
Manolo Gouy
225c3d6da3 Rewrite Fl_Window_Driver::resize_after_scale_change() removing calls to Fl_Window::hide() and Fl_Window::show().
Windows are now rescaled with a call to Fl_Window::resize() which has been slightly modified.
Static member variable bool Fl_Window_Driver::in_resize_after_scale_change is created,
and is true if and only if Fl_Window::resize() is called by Fl_Window_Driver::resize_after_scale_change().
This new flag allows Fl_Window::resize() to perform correctly the rescaling of the window.
Fl_Gl_Window::resize() and Fl_Double_Window::resize() also consult the value of
the Fl_Window_Driver::in_resize_after_scale_change flag.
The platform-specific Fl_WinAPI_Window_Driver::resize() and Fl_X11_Window_Driver::resize()
also use  the Fl_Window_Driver::in_resize_after_scale_change flag.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12349 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25 10:57:24 +00:00
Manolo Gouy
2b529dc25d Remove useless statement.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12348 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-24 15:20:59 +00:00
Manolo Gouy
649a68dc0c Fix incorrect difference between branches 1.3 and 1.4 in an Fl_Overlay_Window constructor.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-24 06:32:26 +00:00
Albrecht Schlosser
8047691006 Update list of files excluded from documentation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12346 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-22 08:43:14 +00:00
Albrecht Schlosser
a8c4f77d50 Improve docs of Fl_Widget::callback() and do_callback().
Clarify that all variants of do_callback() call clear_changed() after
the callback and that 'long Fl_Widget::argument()' may truncate the
user_data value on some (particularly Windows 64-bit) platforms.

Some code has been reformatted and refactored with better variable names,
but there are no effective code changes.

Obsolete, inactive code was removed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-20 15:16:37 +00:00