Commit Graph

1112 Commits

Author SHA1 Message Date
Greg Ercolano
889ab64962 Add Fl_Simple_Terminal for cross platform debugging 2020-07-21 11:11:03 +02:00
Albrecht Schlosser
af7f485e06 Consolidate test/demo for all build systems
This is an attempt to unify the code for all build systems (CMake,
autotools with make), platforms (operating systems) and toolchains
(make + gcc/clang, Visual Studio IDE, Xcode ...) to avoid duplicate
code and clarify the differences for future devs and to simplify
maintenance.

The goal is to minimize the platform specific code.

Much of the new code are comments to describe the different situations.
The main program does now all the "hard work" to construct the paths
necessary to access the other applications and data files.

Use macOS specific code to determine the application path (app_path)
in main() instead of function dobut(), when test apps are activated.

Remove obsolete comments and dead code.

Tested on Windows and Linux with both autotools/configure/make
and CMake with make (Linux + MinGW), Visual Studio.
2020-07-21 11:11:03 +02:00
Duncan Gibson
c132ac564e add resize examples as per STR3433
add example code for creating images for resize.dox
based on Article #415: How does resizing work?
https://www.fltk.org/articles.php?L415

see also https://www.fltk.org/str.php?L3433
2020-07-20 14:08:47 +02:00
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
Albrecht Schlosser
c92f992380 CMake: Cairo demo must also be built w/o Cairo
The Cairo demo program (test/cairo_test.cxx) can and should be built
even if Cairo is not configured with CMake as it is done with
autotools (configure/make).

The message window shown when Cairo support is not available has been
improved (is more explicit and has a window title).
2019-02-12 15:09:42 +01:00
Albrecht Schlosser
773a257421 Reformat according to the CMP (whitespace only)
Preparing for some minor mods...
2019-02-12 14:55:43 +01:00
Albrecht Schlosser
024064cb4e Remove duplicate source from Makefile (and sort it)
It's easier to notice duplicate files if they are sorted.
2019-02-09 15:39:41 +01:00
Matthias Melcher
7d9d7dd7b8 Fixed all Pixmaps to be '*const' (STR #3108). 2019-02-05 00:14:37 +01:00
Matthias Melcher
c97990e517 Removed all shadow lint in header files (STR #2714). 2019-02-02 22:29:53 +01:00
Matthias Melcher
452a410a3e STR #2714: remove new shadow lint for MacOS 2019-02-02 17:47:55 +01:00
Albrecht Schlosser
bb91970122 Update dependencies (now sorted)
The main dependencies (makedepend files) are now sorted alphabetically
with one dependency per line.
2019-01-18 16:27:32 +01:00
Albrecht Schlosser
80ad88555f Sort makedepend files for better comparability
The intention is to improve (and minimize) diffs when dependencies
are changed and `make depend' is executed.

(1) use `makedepend ... -w 20'
(2) `sort -u' the resultant file with some more "magic".

(1) makes sure that there is only one dependent file per line,
(2) makes lines unique since `makedepend' can output one file
    many times which is redundant and makes diffs hard to read.

This uses 'mv', 'grep', and 'sort' in all FLTK library Makefiles.
Image libraries are intentionally left for a later update.
2019-01-18 15:44:24 +01:00
Albrecht Schlosser
9177c6e4cc Fix dependencies (STR 3506)
test/fracviewer.cxx wouldn't be compiled if the ABI version was
changed with configure and `make' was executed w/o `make clean'.
Add 'fracviewer.cxx' to list of source files to fix this.

Also add missing unittest_scrollbarsize.cxx to dependencies of
unittests.o.

Finally run `makedepend' to update dependencies.

Note: cherry-picked from branch-1.3 and adjusted to fit master (1.4)
2019-01-18 14:09:44 +01:00
Matthias Melcher
2f0e45e7a7 Android CMake: icons, docs, more apps 2019-01-17 21:29:24 +01:00
Matthias Melcher
111985665d Andoird CMake: trying to autocreate Fluid files 2019-01-17 00:49:44 +01:00
Matthias Melcher
563baced13 Android CMake: fix, more autogenerated files
Fixed a bug that would cause an error is Android Build was NOT
defined. Creating list of test targets automatically.
2019-01-16 02:12:29 +01:00
Matthias Melcher
6de1c93e54 Android CMake: macro for multiple tests
Added a macro that creates the IDE files for a named test.
This is just a rough layout and will only work for the
simpelest of test targets.
2019-01-16 01:25:59 +01:00
Matthias Melcher
a4fc8b06e1 Fixed typo in test/Cmake 2019-01-15 01:32:26 +01:00
Matthias Melcher
b450cea7e2 Android: starting to use CMake to build AndroidStudio files. 2019-01-15 01:22:18 +01:00
Matthias Melcher
bf48acdbe5 Adding documentation for '@N', inactive color. 2018-12-29 02:16:40 +01:00
Matthias Melcher
c099837a3e Also testing # as a format_char() 2018-12-29 02:08:40 +01:00
Matthias Melcher
95ab1dd73e Fixing STR #2901, wrongly escaping the formatting character code in Fl_Browser. 2018-12-29 02:03:49 +01:00
Matthias Melcher
29fe0c43df Remove obsolete condition to make static analysis happy. 2018-12-29 01:19:51 +01:00
Albrecht Schlosser
2153a93430 Fix line endings.
Note: we recommend `git config core.autocrlf true'.
2018-12-20 19:42:17 +01:00
Albrecht Schlosser
7458281545 Rename README files to README.txt (and several similar files).
Files without '.txt' suffix can't be handled well by Windows (users),
hence renaming such text files to *.txt makes FLTK more "Windows-friendly".

There are a few exceptions (this is intentional): README and other files
in bundled libraries (maintained upstream) are not changed.
2018-12-10 16:50:56 +01:00
ManoloFLTK
6c876189d8 Fix MacOS-specific regression appeared with move to git when building test with configure.
The svn contained empty directories, e.g., test/blocks.app/Contents/MacOS/
Git apparently can't store empty directories.
The test/Makefile is modified to create these directories at build-time.
2018-12-09 16:34:49 +01:00
ManoloFLTK
d087bae685 These binary files should not be committed. 2018-12-09 16:00:20 +01:00
ManoloFLTK
04f03ff056 Necessary for correct app bundles 2018-12-09 15:53:40 +01:00
Albrecht Schlosser
474d6e2393 Fix 'fluid.app' for case sensitive macOS file systems.
Change 'Fluid.app' to 'fluid.app'.

Also changed documentation and (https) links in modified files.
2018-12-04 14:20:33 +01:00
Greg Ercolano
d65a5a073c Control resizing behavior of UI buttons
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13099 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-29 19:59:57 +00:00
Greg Ercolano
554d7d3639 Tooltip for browse button, and include a fallback label if icon not found.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-29 19:33:11 +00:00
Greg Ercolano
cfe555f410 Print both returned path and relative path in tty.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-29 18:33:37 +00:00
Albrecht Schlosser
bf19362179 Add missing Fl_Cairo_Window constructors (STR #3160).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-07-27 09:05:12 +00:00
Manolo Gouy
305e5dd21e Try dummy commit
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-07-02 15:21:57 +00:00
Albrecht Schlosser
d490abdce3 Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27 20:44:46 +00:00
Matthias Melcher
b1598dc703 Removed macro FL_PORTING, as it has been more confusing than helpful.
The original intention of FL_PORTING was to mark all places in the
source code where changes are required to port FLTK to a new platform.
Thanks to the driver system, this approach has become somewhat
misleading, so I removed all references.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 17:04:18 +00:00
Matthias Melcher
7e8687f8c8 Android: listed all remianing issues with all test programs
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12961 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 22:24:40 +00:00
Matthias Melcher
e1bf7b9202 Android: Clearing the desktop when a window is hidden.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12949 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-19 16:29:20 +00:00
Manolo Gouy
396e4f41cf Check also proper RGB image deletion after use.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12924 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-22 08:39:39 +00:00
Manolo Gouy
4ede9cec29 New Fl_Image_Surface::rescale() class function and document equivalence between Fl_Offscreen-based and Fl_Image_Surface-based approaches.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12907 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-07 13:43:28 +00:00
Manolo Gouy
c6109d9a18 Deprecate Fl_Image_Surface::highres_image() because Fl_Image_Surface::image() is enough now images are scalable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12905 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06 15:59:08 +00:00
Albrecht Schlosser
2e9ba0a10e Update fluid (.fl) files.
src/Fl_Help_Dialog.fl: Add one missing declaration.

Other files: update (fluid -u) and update source (fluid -c).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12887 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-01 10:58:16 +00:00
Albrecht Schlosser
efc3ec1b7b Remove unnecessary dependency on FL/Fl_Rect.H.
Fl_Rect.H is no longer included by Fl_Group.H to avoid unnecessary
dependencies on Fl_Rect.H. Currently it is only needed to access the
array returned by the protected method bounds().

Also clarified documentation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12827 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-12 12:58:10 +00:00
Albrecht Schlosser
5e98a9e292 Remove unused variable, update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12826 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-10 21:10:53 +00:00
Greg Ercolano
bf0c9d4c6a Added global Fl::visible_focus() checkbox.
Also fixed tab navigation order of some widgets, and +/1 heights with a few checkboxes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12822 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-05 19:52:37 +00:00
Matthias Melcher
f49267e85b Android: Drawing RGB image data on the fly via callback
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12818 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-01 16:06:12 +00:00
Greg Ercolano
309d9a61b9 Added Fl::menu_linespacing() to solve STR# 2927.
Method name follows Fl_Tree::linespacing().
Implemented similarly to Fl::scrollbar_size(), since its use crosses Fl_Menu_Item and 'menuwindow' classes.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12815 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-31 17:17:37 +00:00
Matthias Melcher
42555053a1 More Android changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12699 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02 20:03:04 +00:00
Manolo Gouy
3266594e91 Fix 2 typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12673 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-17 13:58:47 +00:00
Manolo Gouy
5f553ebd2a OpenGL apps need to use Fl_Gl_Window::pixel_w() and pixel_h() when calling glViewport() to support GUI scaling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12667 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-15 07:02:26 +00:00
Albrecht Schlosser
52ae3582a2 Replace "WIN32" with "_WIN32" or "Windows".
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32".
Replace "WIN32" in text and documentation with "Windows".
Replace "MSWindows" with "Windows".

To do: README.Windows.txt (and maybe other documentation as well)
needs updates.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 14:39:42 +00:00
Albrecht Schlosser
42d8aba117 Replace FL/x.H with FL/platform.H - step 2 (STR #3435).
This second step replaces FL/x.H with FL/platform.H in all source files.
Dependencies have been adjusted as well.

This commit completes the replacement of FL/x.H with FL/platform.H.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31 21:17:17 +00:00
Albrecht Schlosser
cc595ce4ed Replace FL/x.H with FL/platform.H - step 1.
This first step replaces FL/x.H with FL/platform.H but keeps a small
FL/x.H that #include's FL/platform.H for backwards compatibility.
Documentation sources in documentation/src/*.dox have been fixed,
but references in other source files need to be fixed in another step.
Dependencies have been adjusted.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12640 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31 17:46:48 +00:00
Albrecht Schlosser
a000e12d6c Fix invalid porsche1.xpm file.
test/pixmaps/porsche1.xpm was likely an experimental version of file
test/pixmaps/porsche.xpm. I fixed it instead of removing because it
looks nice as well.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12634 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-16 03:05:35 +00:00
Albrecht Schlosser
7aef0cad39 CMake: enable building FLTK in a subdirectory of another project.
Basically replace CMAKE_XXX_DIR with CMAKE_CURRENT_XXX_DIR where
XXX = SOURCE or BINARY.

Patch proposal by cleanrock, FLTK PR #4:
https://github.com/fltk/test-only/pull/4

Patch modified to fix target dirs for test programs and doxygen docs.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-10 20:49:03 +00:00
Manolo Gouy
d361de4d0d STR#3437 : Support display of windows in tabbed form as in MacOS 10.12 Sierra
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12596 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18 15:19:15 +00:00
Albrecht Schlosser
0a61f9d739 Improve schemes unittest (add selection colors to buttons).
Use check and radio buttons with different selection colors to
verify selection colors with different schemes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12590 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-13 18:30:19 +00:00
Greg Ercolano
310c545179 Fixes STR#3428: allows command line to specify alternate html file on Mac platform
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12568 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-19 01:18:16 +00:00
Albrecht Schlosser
853a716610 Replace remaining calls of getenv() with fl_getenv().
Note: don't use fl_getenv() in Fl_System_Driver and derived classes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-17 17:25:33 +00:00
Manolo Gouy
f300e00f79 Proper return value from test window::handle() when the event is not processed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12562 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-17 06:52:27 +00:00
Albrecht Schlosser
f3896460d6 Replace chdir() with new wrapper fl_chdir().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12558 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-12 18:00:45 +00:00
Greg Ercolano
a20d472faf Updated scrollbar size's instructions, increased font size.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12542 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-04 06:11:45 +00:00
Greg Ercolano
127147ca97 Addresses STR# 3423; adds missing scrollbar_size() methods and honors global Fl::scrollbar_size().
Includes mods to unittest's scrollbar size test.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12538 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-02 21:14:40 +00:00
Greg Ercolano
3256932e2a test/valuators demo modified to use Fl_Simple_Terminal.
Also added missing callback to show Fl_Spinner values.

Improved callback messages to indicate which widget's value is being displayed.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12537 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-02 03:03:12 +00:00
Greg Ercolano
68f07db58a Added Fl_Simple_Terminal widget, and mods to test+example programs (STR #3411).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12506 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-17 00:28:56 +00:00
Albrecht Schlosser
a8b58f6b79 Replace inappropriate usage of __WATCOM__ with _MSC_VER.
Note: this is in parts temporary since some of the functions redefined
for Visual Studio will be replaced with fl_*() functions in later commits.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-15 10:46:16 +00:00
Albrecht Schlosser
aff3a0ac12 Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12493 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-13 15:00:06 +00:00
Albrecht Schlosser
66b1690aa8 Replace remaining calls to getenv() with fl_getenv().
... except in driver code that uses Fl_System_Driver::getenv().

Todo: Check if all remaining calls of getenv() in driver code are correct
or might use ::getenv() to avoid one calling level for optimization.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12492 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-13 14:58:30 +00:00
Greg Ercolano
73f1c43474 Fixed seemingly random whitespace..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12482 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-06 23:30:07 +00:00
Manolo Gouy
0b797d704c Fl_SVG_Image class: add support for compressed .svgz image files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12477 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 16:26:51 +00:00
Manolo Gouy
7a9d5be6cb Undo commit at r.12475 that is not adequate.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12476 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 12:21:46 +00:00
Manolo Gouy
5e6bf76b0a Fl_SVG_Image class: add support for compressed .svgz image files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 11:46:33 +00:00
Greg Ercolano
213b955442 Added control for when() to test browser's callback behavior.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12462 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-19 17:17:44 +00:00
Manolo Gouy
1a28d85dc3 Add new Fl_SVG_Image class to support scalable vector graphics images using the (modified) nanosvg software.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12413 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-03 13:14:25 +00:00
Albrecht Schlosser
fa5851b292 Fix typos (comments and documentation).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12406 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-28 11:10:01 +00:00
Manolo Gouy
52249a960d Associate gl_font() and gl_draw() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12405 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-27 08:01:55 +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
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
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
Albrecht Schlosser
d9460d787b Update dependencies (makedepend).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-07 19:42:12 +00:00
Albrecht Schlosser
90a6c3eb35 Remove obsolete comment, fix code formatting.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-05 13:41:16 +00:00
Albrecht Schlosser
3eb6b7ea58 CMake: replace improperly used variables with correct ones.
CMake variables FLTK_SOURCE_DIR and FLTK_BINARY_DIR are only defined
if the project name is exactly "FLTK" (all uppercase). These variables
are generated (set) by CMake as <PROJECT_NAME>_SOURCE_DIR etc.

The correct variables are CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR,
respectively, which are always defined.

This commit enables future changes of the FLTK project name, e.g. to
"fltk" or "fltk-1.4.0" (a versioned project name), if we like...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12281 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-29 17:51:27 +00:00
Manolo Gouy
f2c27b5090 Add void fl_scale_offscreen(Fl_Offscreen &ctx) to support the rescaling of an offscreen buffer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12240 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-18 17:26:34 +00:00
Albrecht Schlosser
a1d3936554 Allow to disable shadows in Fl_Clock and derived widgets.
As discussed on 2017-05-15 in fltk.general, thread "Fl_clock".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12237 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-15 15:30:52 +00:00
Albrecht Schlosser
3ec23df83a Fl_Help_View: fix table header in help_dialog.html (STR #3227).
The html code in the example (test/help_dialog.html) was broken.
Fixing the example html code was enough, no code changes needed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12220 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-21 21:10:12 +00:00
Albrecht Schlosser
680631b834 Fix dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-19 10:53:04 +00:00
Albrecht Schlosser
3311119335 Fix svn attributes of *.c, *.cxx, *.cmake and others.
- set svn:keywords Id
- set svn:eol-style native


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-12 15:12:35 +00:00
Albrecht Schlosser
5544404f7a Enable Up/Down keys in Fl_Spinner if input has focus (STR #2989).
Previously Up/Down keys worked only if one of the buttons was pressed
before so that it had the focus.

test/valuators.fl: The second Fl_Spinner widget (FL_FLOAT_INPUT) now has
wrap mode disabled whereas the first one (FL_INT_INPUT) uses wrap mode
(default, compatible with FLTK 1.3.x and older).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-10 21:47:08 +00:00
Albrecht Schlosser
843183478b Fix tab group positions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12183 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-05 14:43:03 +00:00
Manolo Gouy
3ce40f3faf Reset offscreen surface when the window is hidden.
This is necessary for compatibility with rescaling, so line widths are also rescaled.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12175 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-19 15:42:31 +00:00
Albrecht Schlosser
1e5826e84b Add radio buttons to unittests_schemes in 4th tab.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12172 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-11 16:39:19 +00:00
Albrecht Schlosser
16774ddc4e Rename test/help demo program to test/help_dialog.
This change avoids a name conflict with CMake's auto-generated target 'help'
for "Unix Makefiles", "Ninja", and supposedly other generators as well.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-08 02:06:52 +00:00
Manolo Gouy
e7356529bb Allow ESC to close window and don't transmit CTRL character to fl_draw()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12167 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-26 08:13:19 +00:00
Manolo Gouy
6645a6b225 It is better to reset the line width after having finished to draw with a modified width.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12146 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-14 18:38:01 +00:00
Manolo Gouy
43935dffeb Add static void Fl_Surface_Device::push_current(Fl_Surface_Device *new_current) and pop_current() to set/unset the current drawing surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-07 15:09:52 +00:00
Manolo Gouy
e5d53b026c Test program "device": add several calls to image destructors to exercise them.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12126 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-30 07:12:29 +00:00
Albrecht Schlosser
6d4b93e9c7 Finally remove FLTK_ABI_VERSION preprocessor macro from code.
FLTK_ABI_VERSION has been renamed to FL_ABI_VERSION in FLTK 1.4.0.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12121 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-19 01:20:53 +00:00
Albrecht Schlosser
49a2e4206e Fix test/native-filechooser help display artefact (STR #3349).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-06 10:48:40 +00:00