Add close buttons for Fl_Tabs
Introducing callback reasons
FLUID shows all FL_WHEN_... options
Adding Fl_Tabs overflow types
Improved test/tabs to show new features
This method can be used to draw small circles as part of the GUI.
It is independent of the current scheme.
Very small circles are approximated by drawing several rectangles.
This commit removes the unused variable as suggested in the discussion
of issue #445: "type issue in fluid/ExternalCodeEditor_WIN32.cxx"
... although the compiler would remove it anyway. ;-)
This commit has Fl_Cairo_Graphics_Driver compute string widths in 2 ways:
1) when the string contains several unicode characters, the width of the
whole string is computed, accounting for kerning when it occurs;
2) when the string contains a single unicode character, its width is
computed, memorised, and re-used next time it's necessary.
The effect of this approach is
- Fl_Text_Display is fast because it uses memorised single character widths repeatedly
- Fl_Input is drawn accurately because the cursor position is determined
by string widths, not by sums of character widths.
The "choice arrow" used two "down-arrows" which was different than
all the other schemes. Changed to up-arrow and down-arrow to make
this more consistent.
The exception is the default scheme (none or base) which uses only
one down-arrow.
FL_OVERRIDE is defined as `override` for C++11 and higher
FL_OVERRIDE is defined as `override` for VisualC 2015 and newer
Don't interfere with Fl_Widget::override()
- Add internal fl_contrast_cielab() as the new default.
- Keep old function as internal fl_contrast_legacy().
- Add fl_contrast_mode() to switch between fl_contrast() functions.
- Add fl_contrast_level() to fine tune fl_contrast() per mode.
- Add option to register and use a custom contrast function.
- Add test/contrast.cxx test program.
- Move all fl_contrast() related code to a new file src/fl_contrast.cxx.
- Add fl_lightness() convenience function for perceived lightness.
- Add fl_luminance() convenience function for physical luminance.
- replace enum value 'FRAMES' with 'const unsigned int frames'
- replace enum value 'DIM' with 'const unsigned int dim'
- remove commented statements that have never been used.
Note: this also changes uppercase enum values to lowercase constants.
Some Wayland specific files are generated by the build process with
configure + make in the source tree.
These files are now ignored by the Doxygen documentation process.
This commit uses Wayland popup positionning methods to handle common
menu windows and prevents them from expanding below display bottom or above top.
The previous algorithm remains in place for menu windows higher than
the display height. Further changes for these big menus may come later.
... with FLTK modifications (see README.bundled-libs.txt).
This fixes an issue where some svg images could not be loaded.
Upstream: https://github.com/memononen/nanosvg/
commit 9da543e8329fdd81b64eb48742d8ccb09377aed1 (upstream/master)
Merge: c886e50 0ce2e2b
Author: Mikko Mononen <memononen@gmail.com>
Date: Sun Dec 4 17:46:22 2022 +0200
Merge pull request #236 from sezero/signed-char
change struct NSVGpaint:type to signed char
- remove static variable 'string_count'
- improve and document methods debug() and hexdump()
This commit does not resolve issue 601 but removes some development
leftovers.
Methods debug() and hexdump() left for debugging as requested.
It may be useful to some to have the terminal emit an error character
to show unknown escape sequences. Off by default, unknown escape sequences
are silently ignored. If enabled, '¿' is inserted instead.
This is basically a rewrite of the ESC handler, keeping state
in the class, so ESC sequences can continued between called
to append() (such as when reading data from a pipe in blocks).
New private class 'Fl_Escape_Seq' handles parsing and state info.
It also has careful bounds checking during parsing.
Backspace supports Unicode, and the unicode chars can straddle
across append() operations as well.
Private variables in Fl_Simple_Terminal renamed _xxx to xxx_
to improve CMP compliance.