Commit Graph

9298 Commits

Author SHA1 Message Date
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
Albrecht Schlosser
01ea77ed88 Refactor class Fl_Image_Reader to FLTK coding style
... and separate constructors for memory reader with and w/o length
argument for better documentation.
2021-10-01 19:03:02 +02:00
Albrecht Schlosser
66c0bf4811 Make Fl_Image_Reader::name() 'const' (#271)
Thanks to @wcout for finding this.
2021-09-28 16:07:49 +02:00
Albrecht Schlosser
32e02a6e8d Fix potential memory leak in GIF image reader (#271)
This could happen if a read error or end of file was encountered.
2021-09-28 15:11:55 +02:00
Albrecht Schlosser
b6a69db9a6 Rename 'fileno()' method to 'get_fileno()' for MinGW
See fltk.coredev thread "fltk-1.4 fluid build broken on 32-bit mingw"
https://groups.google.com/g/fltkcoredev/c/W9LWbsNuGZg/m/MW1BVAkeAgAJ

This regression was introduced in commit c8c1f51db7 in an
attempt to fix a Visual Studio (MSVC) warning but broke "old" MinGW
builds that define 'fileno' as a macro.
2021-09-28 12:40:43 +02:00
Albrecht Schlosser
e0d630ed72 Add error checking and improve constructor of Fl_BMP_Image
- use new features of Fl_Image_Reader (read error and EOF checks)
- add length argument to constructor reading from memory
2021-09-27 19:26:04 +02:00
Albrecht Schlosser
1d847fec00 Fix and improve Fl_GIF_Image (issue #271, #274)
- add error and EOF checks
- fix transparent pixel index outside ColorMap (#271)
- fix Fl_GIF_Image decoder bug (#274)
- add Fl_Image_Reader::skip(unsigned int)
- use new skip() method in GIF reader
2021-09-27 19:22:48 +02:00
Albrecht Schlosser
4075a14715 Clarify return values and fix a minor issue (#271)
Fix: Fl_Image_Reader::seek() would not clear the error flag when
reading from memory.
2021-09-25 20:19:51 +02:00
Albrecht Schlosser
bc0d18c1bb Enable error and EOF check in class Fl_Image_Reader (#271)
This is part 1 and a prerequisite for the fix of issue #271.
It enables the user of this internal class (Fl_{BMP|GIF}_Image)
to test for read errors and EOF (end of file) while reading.

The method used to read data from memory got an optional third
argument 'const long datasize = -1)' to limit the size of the
memory block of data provided to the image reader. Default is -1
which means "unlimited" (backwards compatibility).

Using only two arguments (w/o size limit) is deprecated and should
only be done if the data size is not available.
2021-09-25 19:33:22 +02:00
ManoloFLTK
0f12e96d13 macOS platform: facilitate use when another toolkit handles the system menu. 2021-09-24 17:56:35 +02:00
Albrecht Schlosser
c3857517b0 Improve documentation chapter "Basics"
Add '-ldl' to example command line and other minor changes
2021-09-21 20:29:02 +02:00
Albrecht Schlosser
54213b95fe Doxygen docs: convert doxygen input file to current version
CMake only: "current" version means the doxygen version available
on the system where docs are generated.

Todo: do the same for autoconf/make builds.
2021-09-21 20:28:02 +02:00
Albrecht Schlosser
a774e120bc Update nanosvg library to latest upstream version
commit ccdb1995134d340a93fb20e3a3d323ccb3838dd0
Merge: 3cdd4a9 419782d
Author: Mikko Mononen <memononen@gmail.com>
Date:   Fri Sep 3 21:24:42 2021 +0300

    Merge pull request #198 from ctrlcctrlv/CVE_2019_1000032

    Fix decimal values in color fields (nsvg__parseColorRGB, nsvg__parseColorHex)
2021-09-13 19:31:27 +02:00
Albrecht Schlosser
828d3dd722 Fix malloc/delete mismatch (X11 only) 2021-09-12 13:37:53 +02:00
Albrecht Schlosser
cc0657d7a7 Improve documentation of Fl_Image (Issue #272)
Try to explain what count() returns and what data() contains which
can be different by image type.
2021-09-09 17:53:54 +02:00
Greg Ercolano
9e0f140f0a Remove stray tab 2021-09-01 10:05:36 -07:00
Albrecht Schlosser
0f57e272a7 Fix MSVC 'fileno' warning in example program (#109) 2021-08-31 18:12:41 +02:00
Albrecht Schlosser
ef86d9aced Fix more MSVC warnings in test apps (#109)
- test/checkers.cxx
 - test/cube.cxx
 - test/offscreen.cxx
 - test/unittest_simple_terminal.cxx
 - test/utf8.cxx
2021-08-31 17:49:31 +02:00
Albrecht Schlosser
e5310144b7 Fix MSVC 'GLfloat' warnings in test apps (#109) 2021-08-31 17:18:18 +02:00
Albrecht Schlosser
2b29e921db Fix MSVC compiler warnings in test/icon.cxx (#109)
Also:

- remove unnecessary 'size_t' conversions from FL/fl_casts.H
- add reverse conversions from integer types to 'void *'
2021-08-31 16:52:54 +02:00