Commit Graph

11581 Commits

Author SHA1 Message Date
ManoloFLTK
15d9a350bf Restore IMPORTED_TARGET in pkg_check_modules command for libdecor 2024-04-18 20:51:10 +02:00
ManoloFLTK
e6957fc2f5 Allow libdecor package version ≥ 0.2.0 with FLTK_USE_SYSTEM_LIBDECOR 2024-04-18 19:32:47 +02:00
Albrecht Schlosser
3fc8875756 Add missing 'x11.H' to exclusion list (STR 2728) 2024-04-18 17:33:57 +02:00
Albrecht Schlosser
bb45198413 Test public headers for shadowed variables (STR 2728)
This program is built only when using CMake and a GNU or Clang
compiler to detect shadowed variables in header files.

Developers should fix such warnings whenever they see them during the
build to avoid user reports.
2024-04-18 17:13:09 +02:00
Albrecht Schlosser
2c21e520f4 Fix potential compiler warnings in public headers [-Wshadow]
These warnings would be issued if users compiled their programs with
diagnostics '-Wshadow' turned on using gcc, clang, and maybe other
compilers.
2024-04-18 16:27:29 +02:00
Matthias Melcher
14a5187fa7 FLUID: Add cast to avoid warning #956
User Data of grid menu items was missin fl_intptr_t
2024-04-17 20:40:10 +02:00
Matthias Melcher
240d8d21df Fix dangling reference to FLUID docs. 2024-04-17 20:25:19 +02:00
Albrecht Schlosser
8ca1e0ca03 Fix 'int Fl_Menu_::value()' if item is in a submenu (STR 3241)
More precise: ... if the last picked item is in a "detached submenu",
i.e. in one addressed by another menu item with the FL_SUBMENU_POINTER
flag set.

Also: document *why* this is the case, and what the result value is.
2024-04-17 19:14:59 +02:00
Matthias Melcher
fd791a068e
Separate FLUID user documentation, screen shot automation (#936)
* CMake integration, no autotiools
* alignment panel is now correctly renamed to setting panel
* source view is now correctly renamed to code view
* Merge FLTK FLUID docs into FLUID user manual.
* Add two simple entry tutorials
* Remove FLUID chapter form FLTK docs.
* GitHub action to generate HTML and PDF docs and
  make the available as artefacts
2024-04-17 17:51:32 +02:00
Albrecht Schlosser
b4cf1a9824 Fix and improve generation of fltk-config (#954 and more)
Parts of this commit fix the usage of CMake targets in the generation
process of fltk-config modified by PR #954.

The rest improves handling of variables used to generate fltk-config,
removes obsolete comments, documents variables like GLLIBS etc. which
had to be done anyway.
2024-04-14 19:15:08 +02:00
Jordan Williams
5417ea5f1f
CMake: Use imported targets for PkgConfig packages (#954)
This carries include directories and the required link flags.
Several libraries brought in through pkg_check_modules aren't linked correctly using the _LDFLAGS variables.
Instead, they link the libraries directly with `-l`.
This is problematic because it doesn't properly pull in the actual directory of the library being linked when it is not in a system library directory.
Likewise, the necessary include directories for several of these targets aren't properly set either.
Linking against the imported targets automatically pulls in the necessary include directories.
2024-04-14 19:07:15 +02:00
Matthias Melcher
2818a36064 Add example to fl_arc docs. 2024-04-14 14:09:02 +02:00
Albrecht Schlosser
e9e5f4bdb1 Remove "MS" from "MS Windows" in docs code, and comments
The system (platform) is called "Windows", "MS Windows" doesn't make
much sense. I removed "MS" for consistency.
2024-04-13 21:49:27 +02:00
Jordan Williams
a6651e10ff
CMake: Improve detection of the GLU library and GL/glu.h header file (#953)
* CMake: Improve detection of the GLU library and GL/glu.h header file

Locate the GLU library and header independent of the GL library and header locations.
Add the GLU header location to necessary target_include_directory calls.

* CMake: Locate and use the GL include directory

Find the GL include directory and use it in target_include_directories calls.
2024-04-12 15:58:57 +02:00
Albrecht Schlosser
5de880ae81 Fix "Support for NetBSD", part 4 (#944)
Add missing return statement to replacement function for trunc().

Closes #944
2024-04-12 13:28:33 +02:00
Albrecht Schlosser
feec8f9fb1 Remove remaining references to xdbe on X11
This option has been removed in 1.4.0 because it was unreliable
and rarely used.
2024-04-11 14:15:38 +02:00
Albrecht Schlosser
05a95e146b Fix Fl_Terminal::handle_unknown_char() for plot_char() (#948)
- Add 'int Fl_Terminal::handle_unknown_char(int drow, int dcol)'
  to write the "unknown" character to the intended display position.

- Define Fl_Terminal::unknown_char as a static variable to avoid
  redundancy. In the future this might be overridden by users.
2024-04-09 12:53:12 +02:00
Albrecht Schlosser
265e5cd77b Improve CMake build configuration summary
- simplify and unify build option output
- alignment can be changed in only 2 macros in CMake/fl_summary.cmake
- output system library location of image libraries if applicable
2024-04-08 18:56:40 +02:00
ManoloFLTK
ba7b2427b6 Make Fl_GTK_Printer_Driver recognize more paper sizes
also, make clear the B* paper size names are from JIS not ISO.
2024-04-08 17:24:38 +02:00
ManoloFLTK
2662cad50b Improve Fl_GTK_Printer_Driver::begin_job() 2024-04-08 16:29:25 +02:00
ManoloFLTK
5b802be52b Add Tabloid paper size to menu_print_page_size array 2024-04-08 11:19:14 +02:00
Greg Ercolano
31170c4731 Rename putchar() to plot_char() (#944)
Some old platforms (NetBSD, AIX) implement the common stdio "putchar()"
function as a global macro which poisons the global namespace, preventing
all C and C++ programs from using "putchar()" as a function or method.

There was a long thread about this in fltk.coredev during the period
Mar 25 2024 ~ Apr 4 2024, subject "RFC: Fl_Terminal::putchar() in public API"
as to why we have no choice but to not use putchar() as a method name.
2024-04-06 23:36:04 -07:00
Albrecht Schlosser
2f1b8fc726 CMake: Fix detection of trunc() for Windows 2024-04-05 18:45:59 +02:00
ManoloFLTK
fe6ab4ebc2 Fix documentation example of the FL_FUNCTION_CALLBACK_#() macro 2024-04-05 10:57:46 +02:00
Albrecht Schlosser
9d9646fb12 Fix compiler warning, part 2 of #946 2024-04-04 23:40:29 +02:00
Albrecht Schlosser
3ac16f1dc4 Fix compiler warning, part 1 of #946 2024-04-04 22:59:08 +02:00
Greg Ercolano
06e495f262 Add NULL check to UNIX save_file() (#945) 2024-04-04 10:03:35 -07:00
Matthias Melcher
f779097c96 FLUID: fix possible null pointer. GitHub #945 2024-04-04 17:43:40 +02:00
ManoloFLTK
39c1386ba7 Improve use of fl_create_print_window() under Windows 2024-04-04 16:36:51 +02:00
ManoloFLTK
6763b357f4 Improve use of fl_create_print_window() under X11 2024-04-04 12:01:04 +02:00
Albrecht Schlosser
61de837cb0 Update misc/README.txt 2024-04-02 17:03:40 +02:00
Albrecht Schlosser
05ddf0f600 Move test/fromdos.c to misc/fromdos.c where it belongs
This is a test file for developers only. Use with caution.
2024-04-02 17:02:01 +02:00
Albrecht Schlosser
e5c4c1415b Add replacement for potentially missing trunc() (#944)
- add configure + CMake checks to define HAVE_TRUNC in config.h

- src/Fl_Timeout.cxx: add local replacement function
2024-04-02 16:03:29 +02:00
Albrecht Schlosser
7a879568b3 Improve support for NetBSD (#944)
- fix gcc version check for FL_DEPRECATED macro

- fix #include for select() on NetBSD < 3.0 (#944)

For more info please see GitHub Issue #944
2024-04-02 16:03:00 +02:00
Albrecht Schlosser
16cd29fd6d Remove dead code/comment: HP-UX 9.x not supported
README.Unix.txt documents that HP-UX 11.11 is required
2024-04-02 15:12:45 +02:00
ManoloFLTK
1bc5680472 Fix error in Fl_PostScript_File_Device::begin_page() under Pango
This fixes the bug reported in fltk.general "Fl_Printer bug?"
2024-03-30 17:21:11 +01:00
ManoloFLTK
b4b98c5d57 macOS: Avoid possible crash in makeMainWindow when another win is modal 2024-03-28 18:20:38 +01:00
Albrecht Schlosser
5666ec0ff0 Fix "Support for AIX" - part 2 (#942)
Add missing file counter increment, thanks to @michaelbauerle.
2024-03-25 17:07:42 +01:00
ManoloFLTK
4742d830be CMake for macOS platform: improve handling of -framework link arguments 2024-03-24 08:48:45 +01:00
ManoloFLTK
1434bc2bd0 Replace lround() calls by round() calls in class Fl_Anim_GIF_Image (#942) 2024-03-24 08:12:11 +01:00
ManoloFLTK
f01dec8eb3 Remove duplicated #include <config.h> directive 2024-03-24 07:53:03 +01:00
ManoloFLTK
97d2836f5e macOS: remove deprecated use of property allowedFileTypes in class NSSavePanel
The recommended replacement requires macos ≥ 11.0 and a new framework: UniformTypeIdentifiers
2024-03-23 17:16:57 +01:00
ManoloFLTK
f3640a7312 Add necessary #include <config.h> directives 2024-03-23 17:00:03 +01:00
Albrecht Schlosser
1c910720bf Fix "Support for AIX" (#942)
Slightly modified patch from @michaelbaeuerle (issue #942).
2024-03-22 20:38:03 +01:00
ManoloFLTK
34a881482a Add comments giving cairo version required for each cairo call if > 1.0 2024-03-22 16:11:38 +01:00
ManoloFLTK
86f4a6fc8e Remove "-no-pie" link option also from configure-based builds 2024-03-21 16:18:00 +01:00
Albrecht Schlosser
b53b2b6e11 CMake: Remove "-no-pie" build option
libdecor/build/Makefile: unused anyway (previously used building demos)

src/CMakeLists.txt: broke some user builds, see fltk.general, thread
  "-no-pie in FLTK Libraries build." (Mar 17, 2024).

Todo: check usage of "-fPIC" (libdecor builds)
2024-03-21 14:27:29 +01:00
ManoloFLTK
b0b20cdecc Remove unused macro definitions 2024-03-20 23:26:48 +01:00
Albrecht Schlosser
b3b051240e Add missing include file (#939) 2024-03-20 17:41:08 +01:00
Albrecht Schlosser
2001132f4a Add configure option to build tests only on request (#940)
Option: ./configure --disable-test   build test programs (default=yes)

Thanks for the patch(es) to @michaelbaeuerle.

I added `make test` to be able to build the test programs from the
FLTK root directory if FLTK was configured with --disable-test.
2024-03-20 17:24:12 +01:00