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".
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.
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).
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.
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)
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
... 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
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
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
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
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
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
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
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
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
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
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
Clicking "Rebuild Tree" after "Close All" did not show the widgets
(Fl_Input test, ccc button, D1, D2). This is now fixed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Small size mods to prevent Fl_Help_View scrollbar and wordwrap,
while keeping Albrecht's recent mods.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11948 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fix compilation error under Windows with MS compiler (Visual Studio) only.
Also fix layout and resizing behavior.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11941 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Some of these warnings were benign (code formatting), but one of them
showed a potential bug (zero divide in test/fraciewer.cxx).
Fixed warnings:
1 this 'while' clause does not guard... [-Wmisleading-indentation]
1 this 'for' clause does not guard... [-Wmisleading-indentation]
1 this 'else' clause does not guard... [-Wmisleading-indentation]
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11850 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Solves STR#3294; added methods to let user set the userdeicon,
and removed the performance degrading automatic deicon creation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Clarify that the resizable() box should be the first child to ensure
correct event delivery to children.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11727 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit changes all files except src/Fl_File_Chooser2.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11590 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Everything related to Fl_Tree and its test and demo programs has been
cleaned.
Documentation needs updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11428 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Note: the manually edited dep's have not been updated.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11385 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This builds on the mechanism that Albrecht added to test flipped and inverted image drawing, but allows the settings to be changed at runtime rather than at compile time as previously.
I'm commiting it here for testing use in the porting branch, but I'm not happy I've really tested it enough yet so reluctant to commit it in the main fltk-1.3.x branch until this code has been reviewed and tested by others.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11281 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit defines additional preprocessor macros to enable testing
negative d and ld arguments of fl_draw_image(). Documentation (test
scenario) has also been improved.
Same commit as in branch-1.3, svn r11269.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11271 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit adds the basic setup in CMake to allow SDL as a base
library for FLTK on OS X (and probably for other platforms as well).
The SDL library driver set is derived from yet another new driver
set named 'Pico'. 'Pico' is a base class for a driver that will
allow porting of FLTK with the tinyest amount of effort. This
implementation of the SDL driver shall be documented very well
to explain the porting process.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit includes all fixes from branch-1.3 (svn r 11243) and additional
fixes for warnings that crept in during the porting efforts, particularly
C++ ("//") comments in C and included header files, and some more.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
These functions become therefore platform-independent.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
These options are not enabled by default, but you can enable them by
defining macro DEV_TEST. This adds buttons to toggle wrap mode,
scrollbar positions, and to increase or decrease the window size (width).
Note: this can be used to test STR #3272 and the fixes in a follow-up
commit.
Note: same changes as r11204 in branch-1.3.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11207 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This new member function returns a high resolution bitmap image scaled to the adequate
drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution
display. This is functional only for the Mac OS platform. On other platforms,
the new member function returns an unscaled bitmap.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Xcode and OS X have the annoying habit of adding the process number and debug information on the command line if an an app is inside a bundle. This is a little cleanup that I thought was useful while going through the code. A better solution would be to remove those system specific arguments from the argc/argv list entirely, as they appear totally unexpected for most developers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11111 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Windows executables in Debug mode don't have the trailing 'd'
they used to have with the old (bundled) IDE files.
The removal of 'd' (e.g. from askd.exe) was removed.
Also prepared test/CMakeLists.txt for a better installation
path of test files (copied from the source directory).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
and whether we are printing: virtual int Fl_Graphics_Driver::has_feature(driver_feature feature)
This is also because it is not convenient to derive a printer-specific driver with its own
implementation of virtual functions when this implementation differs only in one line of code.
2) Solved the problem of inclusion of non public header by the public header FL/Fl_Device.H:
bracket this with #if FL_LIBRARY / #endif so this non public header is included only when building
FLTK itself.
3) Removed several (but not all) of the FLTK_ABI_VERSION guards that are no longer
useful for code targeting FLTK 1.4.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders()
that contains all the platform-specific code of all operations related to drawing
window borders and title bars. What is platform-specific and what is not
is therefore much clearer, to ease porting.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
so it is launchable by dropping any file on its icon. This is
done both for the configure/make and the CMake build systems
(the Xcode build system did that already).
The editor demo is the only one calling fl_open_callback().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that allows customization of the application menu on the Mac platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10932 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is intended circumvent the Apache/Subversion protocol issue
described by Ian in the previous few commits.
Todo: If this works we can remove the uncompressed files again ...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that copies a window to the clipboard together with its title bar and borders.
This requires very little new code because the capture of window decorations
is shared with the Fl_Paged_Device::print window() method.
The device test program is changed to call the new method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
from .xcf.gz to just .xcf (and uncompressing
the file too, of course!) unblocks the repository
access for svn checkouts etc.
Checkouts are currently broken because the
Apache server is mishandling files of .gz
type, and this is causing checksum errors
on file checkouts etc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10925 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
repository access.
The Apache server is not handling
files of .gz type the way that SVN
needs and this is blocking any checkouts.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10924 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is a layout update only. The window has been enlarged, and some of
the text widgets as well so the labels fit better, depending on fonts.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added a "hint" to tell the user what the buttons are good for.
The hint also exercises fl_contrast(). Whenever the background color
is changed the hint's labelcolor is set with fl_contrast().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10694 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
the makefiles generator but not with the Xcode generator. Stepping back one commit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10689 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Thanks to Csaba for the patch.
Also fixed copyright and a few indenting issues.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10667 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This update ought to fix the compiler warnings (tested only under Linux)
mentioned in STR #2813. The patch is very different though (more radical).
Also removed unused code, fixed copyright and trailing white space.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10666 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Thanks to Csaba for finding this and providing a patch.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121