Commit Graph

9317 Commits

Author SHA1 Message Date
ManoloFLTK
7e484c614c Fix for [fltk.coredev] reentrant calls with Fl_Window::resize 2021-11-24 10:35:18 +01:00
Albrecht Schlosser
1ce3a84e9f Refactor and improve "Print front window" dialog
src/print_button.cxx: "Print front window" implementation (new file)

This is compiled and activated if USE_PRINT_BUTTON is defined.

The feature can be fine controlled by environment variable
  'FLTK_PRINT_BUTTON' (see docs in source file).
2021-11-19 18:50:53 +01:00
Albrecht Schlosser
0b8eabd184 Disable confusing debug info in clipboard viewer demo
Windows only, depends now on macro DEBUG_CLIPBOARD_DATA.
2021-11-19 18:29:34 +01:00
Albrecht Schlosser
4d31c5bd4f Fix doxygen docs of fl_draw_check()
.. as pointed out by Ian in fltk.coredev. Thanks.
2021-11-19 14:29:46 +01:00
Albrecht Schlosser
e6683d48e9 Disable check mark debugging 2021-11-18 15:14:22 +01:00
Albrecht Schlosser
ca89f48c0b Add "Save PNG" feature to clipboard viewer demo 2021-11-18 14:20:24 +01:00
Albrecht Schlosser
0bc06e8f1a Reformat and move clipboard demo from examples to test folder
The clipboard demo is more a test program than an example and very
useful even if the examples are not built.

Also update dependencies.
2021-11-18 13:44:41 +01:00
ManoloFLTK
4a2833b104 Clearer GUI for test/device 2021-11-18 10:57:12 +01:00
ManoloFLTK
02754e43ce Fix Fl_Window::decorated_w() in some X11 situations. 2021-11-17 15:00:21 +01:00
Albrecht Schlosser
55f3df268c Fix remaining VS compiler warnings in example programs 2021-11-16 21:25:54 +01:00
Albrecht Schlosser
5810edaf84 Fix remaining VS compiler warnings in test programs 2021-11-16 21:25:19 +01:00
ManoloFLTK
f0ff8a5083 Merge remote-tracking branch 'refs/remotes/origin/master' 2021-11-16 15:03:46 +01:00
ManoloFLTK
397226b75d Add use of fl_capture_window() by test/device
Also, rename fl_capture_window_part() to fl_capture_window().
2021-11-16 15:03:36 +01:00
Albrecht Schlosser
796a9bf23e
Merge pull request #292 from Albrecht-S/prefix-bundled-libs
Prefix bundled libs. This fixes issues #232 and #289 and STR 3514 (https://www.fltk.org/str.php?L3514).
Parts of this fix are based on the work of GitHub user @darealshinji who provided instructions to create the jpeg header file with prefixes in STR 3347 (https://www.fltk.org/str.php?L3347). Thanks.
2021-11-16 13:12:46 +01:00
Albrecht Schlosser
af0bb7e6c9 Add rectangle drawing functions with Fl_Rect 2021-11-16 00:30:34 +01:00
Albrecht Schlosser
b2979b6425 Reformat to FLTK style, improve documentation
No code changes.

Replace '#define fl_clip ..' with an inline method.
2021-11-16 00:02:16 +01:00
Albrecht Schlosser
e4d8b94102 Add fl_draw_check() to draw better check marks (issue #68)
This new function can and should be used to draw check marks
in widgets that need it, e.g. Fl_Check_Browser (issue #68) and
Fl_Check_Button.
2021-11-15 14:41:31 +01:00
Albrecht Schlosser
46cbc31de2 Use "symbol prefixing" in bundled libs (part 3 of 3)
Add prefix 'fltk_z_' to bundled zlib.

Update dependencies.
2021-11-14 19:33:20 +01:00
Albrecht Schlosser
3c407bd588 Use "symbol prefixing" in bundled libs (part 2 of 3)
Add prefix 'fltk_' to bundled libjpeg.
2021-11-14 19:31:49 +01:00
Albrecht Schlosser
3cbf11af8d Use "symbol prefixing" in bundled libs (part 1 of 3)
Add prefix 'fltk_' to bundled libpng.
2021-11-14 19:31:25 +01:00
Albrecht Schlosser
d96c980d29 Fix "failed to build with pango libarary" (issue #291)
The error was reported for "centos 6 with devtoolset-6 installed
which contains gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3)".

The fix includes the missing header files *and* makes sure that the
correct conversions (to size_t) take place as in
src/drivers/PostScript/Fl_PostScript_image.cxx.
2021-11-14 13:06:25 +01:00
Albrecht Schlosser
654e20ff8b CMake: Build fluid when cross-compiling 2021-11-11 23:11:06 +01:00
Albrecht Schlosser
6d1f5608ba Support all image depths (1-4) in fl_write_png() 2021-11-11 20:58:09 +01:00
Albrecht Schlosser
500e470d39 Refactor fluid: make fl_write_png() public
The new function fl_write_png() was moved to its own file and is now
publicly available ("exported") so other programs can use it.

This function was used in fluid to write a window screenshot (.png)
together with a template (.fl) to preferences storage.
2021-11-09 20:36:23 +01:00
Albrecht Schlosser
5c5244b162 Fix a fluid crash when writing a template screenshot
We need to show() the window before we call fl_read_image() if it
is not shown yet, otherwise fluid would crash.
2021-11-09 19:36:26 +01:00
Albrecht Schlosser
5e7eede311 Add missing files (executables) to .gitignore files 2021-11-08 19:44:40 +01:00
Albrecht Schlosser
ff4288fc2b Add new resize examples to Makefile, update dependencies 2021-11-08 17:48:57 +01:00
Albrecht Schlosser
e457fe8601
Merge pull request #165 from engelsman/dox-resize-example5
Add new resize example to test and dox.
Add new resize examples to demo menu, remove figure numbers (by Albrecht).
2021-11-08 17:29:21 +01:00
Albrecht Schlosser
75240c9a32 Add new resize examples to demo menu, remove figure numbers
Adding only 2 of 3 new examples is intentional (9 per menu level).

Figure numbers have been removed in all the HTML docs recently for
better maintainability.
2021-11-08 16:19:48 +01:00
Duncan Gibson
7407d9c8d0 Add new resize example to test and dox (PR #165)
add example(s) showing Albrecht's innovative overlap resizable
technique to the "How does resizing work?" documentation and tests

See "resizable question" original discussion thread under:
https://www.fltk.org/newsgroups.php?gfltk.general+v:39635
2021-11-08 16:18:58 +01:00
ManoloFLTK
76a3ded549 Fix for issue #279 about detecting early retina with GL windows. 2021-11-05 15:21:56 +01:00
Albrecht Schlosser
a0654b59ac Fix X11 build with FLTK_CONSOLIDATE_MOTION turned off 2021-11-05 13:12:52 +01:00
Albrecht Schlosser
0ad192a27b Make "FLTK_CONSOLIDATE_MOTION" user-definable (issue #76)
This undocumented macro is used on X11 and macOS platforms to
consolidate mouse move events, i.e. to collect some events and send
them later as one event. The old macro name CONSOLIDATE_MOTION has been
renamed to FLTK_CONSOLIDATE_MOTION since it is now a "global" symbol.

Users can define FLTK_CONSOLIDATE_MOTION in their build system, e.g.
on the compiler commandline, as 0 or 1 to disable or enable this
feature, respectively.

In FLTK 1.3 the default was 0 (OFF) on macOS and 1 (ON) on X11.
In FLTK 1.4 the default is always 0 (OFF).
2021-11-05 12:46:21 +01:00
ManoloFLTK
995a48dd00 Consistently make Fl_Paged_Device::begin_page call Fl_Surface_Device::push_current. 2021-10-31 14:20:04 +01:00
ManoloFLTK
96034b5657 Add documentation of Fl_Surface_Device::end_current(). 2021-10-31 06:47:28 +01:00
Albrecht Schlosser
4d88fb6fbc Fix focus box drawing on X11 (partial fix for issue #156)
This fixes focus box drawing on X11 for some broken graphics
drivers with line width zero as discussed on issue #156 titled
"Incorrect rendering on Alpine Linux".

This title is not entirely correct. The issue has been observed on
other Linux distros as well if the "modesetting" driver is in effect.

This does not fix rectangle drawing (missing pixels) in general which
is obviously caused by a similar or the same driver issue.
2021-10-27 21:05:28 +02:00
Albrecht Schlosser
14f842708d Fix indenting, whitespace errors and dependencies
(no code changes)
2021-10-27 20:52:08 +02:00
ManoloFLTK
b6b1fcce41 Test wether preprocessor variable __BLOCKS__ is defined 2021-10-22 19:48:31 +02:00
ManoloFLTK
77b3557f3a Allow compiling with compiler without "blocks" support.
This corresponds to PR#284.
2021-10-22 18:33:56 +02:00
Albrecht Schlosser
1afbbb4aef Documentation updates (formatting)
no code changes
2021-10-17 13:39:40 +02:00
Albrecht Schlosser
8863ef7901 Avoid multiple definition of macro __fl_attr()
This could happen if both FL/fl_ask.H and fluid/Fl_Type.h were
included in the same file.
2021-10-17 12:24:39 +02:00
Albrecht Schlosser
6c2bc5b02f Fix a typo 2021-10-06 22:16:47 +02:00
Albrecht Schlosser
3ee8864bfc Simplify and fix the code of Fl_Scroll::bbox()
Declare Fl_Scroll::bbox() and Fl_Scroll::recalc_scrollbars() 'const'.
These methods don't change the Fl_Scroll widget.

Use Fl_Scroll::recalc_scrollbars() in Fl_Scroll::bbox() to simplify
the code and to avoid code duplication.

bbox() can now be called at any time and returns the correct values,
no matter if draw() has been called before.
2021-10-06 18:35:00 +02:00
Albrecht Schlosser
cf20474d7c CMake: Simplify adding test programs for developers
The intention is to make it more convenient for developers to add
one or more test programs for their tests by editing only one
variable (extra_tests).
2021-10-06 18:17:55 +02:00
ManoloFLTK
a6f02f86fa Attempt to use "git commit --amend" 2021-10-06 11:14:56 +02:00
ManoloFLTK
d2c41924a6 macOS: "Fix fullscreen window level corner cases"
This corresponds to changes of PR#277 (Author: Samuel Mannehed)
2021-10-06 11:11:59 +02:00
ManoloFLTK
802eb5468b macOS: "Fix fullscreen window level corner cases"
This corresponds to changes of PR#277
2021-10-06 09:48:18 +02:00
Albrecht Schlosser
10da46a5a6 Improve documentation about library build folders and more
lib/README.txt: clarify where built libraries are located

documentation/src/basics.dox: clarify (C++) compiler command usage
  and improve documentation of the fltk-config script
2021-10-04 14:42:32 +02:00
Albrecht Schlosser
cc82b742be Improve GIF error handling, terminate on some errors
There's not much we can do if we find unknown data in the main
parser loop. The best we can do is terminating.

If we find a GIF trailer (0x3b) this means logical end of file.
If we get there in the main loop the GIF file is empty (no image).

This behavior is consistent with many other image viewers including
browsers (Firefox and Chrome).
2021-10-02 18:40:36 +02:00
Albrecht Schlosser
59836fb19f Separate Fl_GIF_Image constructors with and w/o length arg
Document clearly that reading from memory w/o the length argument
(old constructor) is discouraged (deprecated).
2021-10-02 18:40:32 +02:00