Commit Graph

1009 Commits

Author SHA1 Message Date
Albrecht Schlosser
4858882e1e CMake: simplify create_example macro
- move target (demo) specific code from macro to CMakeLists.txt
- refactor macOS specific code for a cleaner structure
- improve documentation

Note: CMake ignores platform specific code like creating bundles on
other platforms, hence the entire code could be simplified (less
conditional code)
2020-07-20 11:02:01 +02:00
Albrecht Schlosser
df683013d2 Restore tabs in html test file
These tabs were intentional and had been replaced with spaces
in the big whitespace fix.

This file is an exception!
2020-07-20 10:32:59 +02:00
Albrecht Schlosser
956a3bb160 CMake: simplify copying of test and demo files 2020-07-18 16:07:30 +02:00
Albrecht Schlosser
c380a91361 Windows: add icon to sudoku.exe (PR #36)
The changes proposed by Tadej Panjtar (tpanj) were obsolete WRT
current Git repo. Thanks to tpanj anyway, I did also apply the
simplifications of sudoku.rc.
2020-07-16 12:25:51 +02:00
ManoloFLTK
13c1923b2a Restore file icons to 3 macOS test apps who have one 2020-07-15 17:06:05 +02:00
Albrecht Schlosser
720b84ef9d CMake: refactor and reformat CMake files
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015)
- indent all CMake files according to the CMP (2 col.)
- refactor FLTK version number definitions and usage
- unify CMake and autoconf/configure variable names:
  - FL_VERSION -> FLTK_VERSION
  - FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR
  - etc. for _MINOR_ and _PATCH_, respectively
  - note: this does not affect FL_VERSION etc. in source code
- generate "export headers" for all libraries (experimental: OFF)
- port some forgotten goodies from branch-1.3 to master
- merge and improve macro 'create_example' (WIP)
- remove "temporary" options and code for older CMake versions
- include and use 'GenerateExportHeader' (experimental, WIP: OFF)
  - note: created header files are not yet used
- build only *one* DLL with Visual Studio (tested, works)
  - similar to the bundled IDE projects in 1.3.x
- add some dynamically linked test/demo programs ('*-shared')
  if shared libraries are built (WIP)
- split 'macros.cmake': use one file per macro
2020-07-15 00:34:53 +02:00
Greg Ercolano
7426e762a4 setlocale() added to Fl_File_Chooser demos
This change ensures errors in local language.
See issue #99 for discussion on why this is needed.
2020-07-14 12:52:56 +02:00
ManoloFLTK
2984fe638c Fix for building without print support (GitHub issue #98). 2020-07-11 12:21:25 +02:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
ManoloFLTK
e98d7d8df5 Fix test/help_dialog for CMake building and macOS platform. 2020-07-01 11:02:53 +02:00
ManoloFLTK
8d4b0c15f7 Move class Fl_SVG_File_Surface from libfltk to libfltk_images.
File examples/SVG_File_Surface.cxx is no longer useful because it was a very
partial implementation of what is now class Fl_SVG_File_Surface.
2020-06-29 11:36:09 +02:00
ManoloFLTK
26e6c3f930 Add classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to draw to SVG and EPS.
Test programs device and pixmap_browser use these new classes.
Class Fl_SVG_File_Surface can be optionally made non functional using the
--disable-svg configure option or turning off OPTION_USE_SVG in CMake.
Class Fl_EPS_File_Surface can be optionally made non functional using the
--disable-print configure option or turning off OPTION_PRINT_SUPPORT in CMake.
2020-06-27 09:56:00 +02:00
Albrecht Schlosser
69d58f485a Remove superfluous dependency on forms library
Some of the test programs were linked with libfltk_forms which was
unnecessary. The only one requiring this is the forms demo.

[CMake] reordered linked FLTK libs in dependency order.
2020-06-21 13:39:25 +02:00
Albrecht Schlosser
b8318480f5 CMake: Build static and shared libs side-by-side
Clean up library and variable names.
Remove '_SHARED' suffix from library (output) filenames.

This commit was inspired by David Runge ('dvzrv'), thanks.
See PR #21.

Fixes #21
2020-06-13 14:22:22 +02:00
Albrecht Schlosser
1078b8fe43 Update dependencies
Change sort order using -f (--ignore-case):
  fold lower case to upper case characters
2020-06-13 12:50:06 +02:00
Albrecht Schlosser
95165884b6 Support cross-compilation with autotools
We use the host system's `fluid` when cross-compiling. This must be
executable as `fluid`, i.e. it must be in the PATH or otherwise
defined, for instance as an alias.
2020-06-10 16:24:39 +02:00
Albrecht Schlosser
a686e6eafd test/clock: close both windows together
The new window callback demonstrates how to close all (both) windows
when the user closes one window.
2020-06-01 19:06:40 +02:00
Albrecht Schlosser
46253603de Extend fl_message_position() with 'center' option
Add argument 'center' to position the message box centered over
  the given x/y coordinates.

Add another method to supply a widget or window to center the
  message box over.

Fix documentation and don't use INT_MIN to avoid having to
  include limits.h in user code.
2020-05-07 17:43:04 +02:00
Albrecht Schlosser
c1b2e030c5 Update dependencies and .gitignore 2020-04-28 21:20:01 +02:00
ManoloFLTK
2878fa95ab Add optional argument to Fl_Printer::begin_job() to inform caller when an error occurs.
This solves an issue raised in fltk.general :  Fl_Printer errors - how can I interpret them?
    https://www.fltk.org/newsgroups.php?s38419+gfltk.general+v38427
2020-04-22 16:01:33 +02:00
Albrecht Schlosser
811033af19 Reorganize .gitignore file(s)
Move ignored files in /examples/ and /test/ to their own folders,
i.e. to examples/.gitignore and test/.gitignore, resp.
2020-04-20 14:25:08 +02:00
Albrecht Schlosser
8eda47d411 Fix copyright header 2020-04-08 00:50:42 +02:00
Albrecht Schlosser
8a7d4c9f61 Remove CodeWarrior "support"
Metrowerks CodeWarrior was an ancient macOS compiler (discontinued
since 2005) that defined the macro __MWERKS__. Code using this macro
and several comments have been removed.
2020-03-11 14:38:02 +01:00
Albrecht Schlosser
4c1b92eb52 Implement fl_putenv() as cross-platform putenv() 2020-02-10 12:10:40 +01:00
ManoloFLTK
85256b908f Make test/fullscreen follow what doc of Fl_Window constructor says.
That doc says:
"Top-level windows initially have visible() set to 0 and parent() set to NULL"
and here sw is created as a top-level window, so it must be made visible
either by set_visible() or by show().
2020-02-09 08:43:36 +01:00
Albrecht Schlosser
2a9cdbf252 Add convenience options to glpuzzle demo
The demo exhibits a sometimes annoying /feature/ to spin the entire
puzzle if a user happens to click and/or drag the mouse somewhere on
the puzzle's background rather than on a puzzle piece.

A new command line option '-n' disables this feature entirely.

The extended menu and keyboard commands learned a new option and
keyboard shortcut 'n' => "Normal Position" to stop spinning and
to reset the puzzle to its original position.

The space key is another (hidden) shortcut for 'n'.
2020-01-18 14:40:53 +01:00
ManoloFLTK
ef48a0ddb9 Use cross-platform code to set the window icon. 2020-01-18 13:03:29 +01:00
Albrecht Schlosser
33825df108 Don't include 'src/flstring.h' in menubar demo
src/flstring.h should only be used in library code because it
  includes <config.h>.

Document this fact in src/flstring.h.
2020-01-16 15:59:00 +01:00
ManoloFLTK
2990717d6e Implement Fl_Window::icon() and default_icon() for macOS
The implementation is effective for macOS 10.10 and above.
Demo program test/device uses the new implementation.
2020-01-11 14:57:58 +01:00
Albrecht Schlosser
8c4930a7d7 Upgrade bundled libpng from 1.6.16 to 1.6.37
Release: 1.6.37 - April 14, 2019

For further details see README.bundled-libs.txt.
2020-01-09 19:26:29 +01:00
Albrecht Schlosser
97e30260ec Update dependencies and .gitignore 2020-01-04 01:54:30 +01:00
Albrecht Schlosser
bebb116a06 Update test/Makefile for checkers build with fluid 2020-01-04 01:33:06 +01:00
Matthias Melcher
5bb880dfa2 Creating hires version of Checkers.
PNGs are just scaled but should be replaced with crispier graphics from the original vector files.
2020-01-03 23:12:23 +01:00
Matthias Melcher
7e5d6df711 Added Fluid file to Checkers as a tool to inline the PNG images. 2020-01-03 22:53:56 +01:00
Matthias Melcher
df9eb443f0 Commented out some silly code in the preferences test. 2019-12-31 18:32:30 +01:00
Matthias Melcher
d97836f5dd macOS: fixed all demo programs that need to access resources
MacOS uses bundles instead of executables. CMake creates those bundles in various locations, depending on the generator used (Xcode or Makefiles). I tried to fix all instances where demo apps did not find the resources they needed. This probably must be done for Linux and MSWindows as well.
2019-12-23 14:33:24 +01:00
Albrecht Schlosser
61a86d1941 Improve Cairo demo program
- remove unused variables
- add comments
- center drawn buttons
- make text slightly smaller to fit into button
- reorder button colors (r, g, b)
2019-11-21 15:03:14 +01:00
Albrecht Schlosser
274d49448e Don't use Fl::readqueue() in cube demo
Usage of Fl::readqueue() is not recommended (should be deprecated?),
hence we shouldn't use it in our demo program(s).

To do: remove Fl::readqueue() usage from fluid.
2019-11-08 14:06:35 +01:00
Albrecht Schlosser
28ddf84793 Fix cube demo if OpenGL is not available
(1) Fix a compilation error
(2) Fix high CPU usage
2019-11-08 13:58:28 +01:00
Albrecht Schlosser
50ee013a01 Fix more compiler warnings (STR 3529)
test/colbrowser.cxx:   [-Wformat-overflow=]
test/file_chooser.cxx: [-Wformat-overflow=]

Increase buffer size.
2019-08-29 17:58:24 +02:00
Greg Ercolano
eed1d364d9 Small tooltip improvements for test/tree app 2019-08-25 01:08:12 -07:00
Albrecht Schlosser
44b2b7126c Update dependency system
Try to make `make depend' independent of locale.
2019-06-22 23:42:39 +02:00
Greg Ercolano
d31b89798f Fix missing quotes in CMakeLists.txt change. 2019-06-22 09:50:10 -07:00
Greg Ercolano
5592996ed3 Small fix for build error caught by git's build system. 2019-06-22 09:36:26 -07:00
Greg Ercolano
446c707771 Additional Makefile rules and source files for issue #29.
This adds source png and xcf files for checkers pieces.
Also adds Makefile rules using xxd to convert .png -> .h as requested by Albrecht
in issue #29, (hmm, no comment numbers github?)..message dated "June 22nd 2019 4:22am PDT".
2019-06-22 09:18:37 -07:00
Greg Ercolano
c9c51dbc48 Fix issue #29: Updated buggy/ugly checkers piece icons
OP noticed our one-bit xbm images demonstrated an X11 driver bug
on certain hardware. While it's good that our test programs show the bug
(e.g. test/bitmap), it's bad that our games do.

Removed the 16 xbm files used by checkers which simulated transparency
with dithered images, and replaced with 4 "hexdump" png files that are
cleaner/simpler looking for such lores pieces (46x46 pixels).

Will follow up with a separate commit for the source .png and gimp .xcf
file I used for making the pieces.
2019-06-22 09:02:06 -07:00
Albrecht Schlosser
f78ef314aa Update dependencies
Note: these dependencies are not complete and will likely never be
because they depend on different configurations.
2019-03-28 11:42:09 +01:00
Albrecht Schlosser
debc1a39ce Update dependencies 2019-03-25 13:16:05 +01:00
ManoloFLTK
cf67176b75 Have the fullscreen test program show the screen scaling factor values. 2019-03-06 14:54:51 +01:00
ManoloFLTK
a1b2d54758 Add example of call to Fl_Sys_Menu_Bar::about() 2019-02-24 11:23:38 +01:00