| Age | Commit message (Collapse) | Author |
|
This is a big commit and there are too many changes to list them all.
The main changes are:
- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects
Included but not directly related changes:
- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('
Thanks to Matthias and Manolo for their help, testing, and feeback.
|
|
Fl_Screen_Driver::screen_boundaries_known()
Fl_Window_Driver::set_popup_window() is to be used to declare a window should be
positioned relatively to a previously mapped other window. This allows a platform
to process such windows differently from other windows if needed.
Menu and tooltip windows are so declared.
A call to Fl_Window_Driver::set_popup_window() also allows to distinguish a real
menu or tooltip window from a window marked by Fl_Window::set_menu_window()
or by Fl_Window::set_tooltip_window() but that's not a real menu or tooltip.
New member function bool Fl_Screen_Driver::screen_boundaries_known() returns
true by default. A platform where the position of windows inside a screen is hidden
(e.g., Wayland) returns false. This allows FLTK to refrain from trying to make sure
a computed position is inside a screen.
|
|
Document restrictions imposed by the new system file chooser dialogs,
particularly by 'kdialog' and 'zenity' (Unix/X11/Wayland only).
|
|
> Enabled -Wall -Wextra -Wpedantic to catch errors
- Silenced resulting "unused parameters" warnings
- Fixed char omission in protected Fl_Terminal::insert_char() methods
> Self doc code and better comments in RingBuffer::resize()
> Changed private RingBuffer::clear_disp_row() -> clear_disp_rows()
> Added private RingBuffer::hist_rows()/disp_rows() setter methods
> Added private RingBuffer::offset_adjust() method for adjusting RingBuffer offset_
> Fixed comment typos
> Remove white space inside outer parens of while()/if()/etc
|
|
...when hidden
|
|
- adds documentation to all calls
- changes implementation details on ::copy()
and copy(w,h)
|
|
Requested by Jonathan Griffitts during rust bindings.
|
|
... as discussed previously.
|
|
|
|
This addresses some issues pointed out by GitHub Issue #875.
Documentation lacked details about Fl_Multi_Label assignment and
correct memory handling.
The new methods
- Fl_Menu_Item::image_label(const Fl_Image *) and
- Fl_Menu_Item::multi_label(const Fl_Multi_Label *)
provide a cleaner interface to assign images and Fl_Multi_Label's
to menu items.
examples/howto-menu-with-images.cxx: carify some issues, fix leak,
and use new Fl_Menu_Item::multi_label(const Fl_Multi_Label *).
|
|
|
|
|
|
This library is no longer needed in FLTK itself. There is only one
demo program (test/forms.cxx) that uses it if it is built. The demo
program displays a message if fltk_forms is not available.
The default is 'enabled' for backwards compatibility but this may
be changed to 'disabled' in a future version.
|
|
|
|
|
|
- the current UI for fallback/default/original shortcut was
confusing, so I remove it until we find something better. I
kept the values so we can reinstate a better interface without
changing the API.
|
|
|
|
- ported froward from 1.3.9
- fixes ref count for original and other images
- fixes binary search issues
|
|
and add example of value of fl_mac_os_version.
|
|
|
|
|
|
Also makes enum comment in Fl_File_Chooser.fl manageable.
Not backward compatible: don't try to recreate the
File Chooser with older FLUID versions.
|
|
|
|
|
|
- add fl_draw_radio(...) to standardize radio button drawing
- src/Fl_Light_Button.cxx: use fl_contrast() to determine color of
radio button and check (light) button check marks, and use
new fl_draw_radio() method
- src/Fl_Menu.cxx: same as src/Fl_Light_Button.cxx and use
fl_draw_check() instead of "manually" drawing the check mark
(forgotten in an earlier update)
|
|
|
|
- add Fl::args_to_utf8() to convert commandline arguments to UTF-8
This new function closes the gap that previously only Visual Studio
applications converted their commandlines to UTF-8.
Tested with MinGW, MSYS2/MinGW-w64, and Visual Studio (2019).
|
|
Type short is too small for Fl_Cairo_Graphics_Driver and font sizes ≥ 110.
|
|
The benign warning was:
‘Fl_Browser_::hscrollbar’ will be initialized after [-Wreorder]
‘int Fl_Browser_::linespacing_’ ...
|
|
|
|
Windows and X11 to follow, no idea about Wayland.
|
|
|
|
|
|
|
|
|
|
|
|
- before assigning a buffer (Github #845)
- also fixed a warning form unused arg in Fl_Terminal
|
|
|
|
- some documentation missing
- Fl_Tile::resize() not satisfying yet
- minimums work, maximums currently ignored
- 0 size children may make program hang
|
|
|
|
|
|
|
|
|
|
- Made sure all public+protected members are documented.
- Reclassified some private -> protected:
> vscroll_width()
- Removed signatures for unimplemented (non-existant) methods:
> u8c_cursor(void)
> history_use(int,bool)
> cursor_h()
- Reclassified some protected -> private:
> x_to_glob_col()
> xy_to_glob_rowcol()
> is_hist_ring_row()
> is_disp_ring_row()
> handle_ctrl()
> is_printable()
> is_ctrl()
..etc..
> handle_selection_autoscroll()
> handle_selection()
> is_redraw_style
- Add todo for ESC 7 and ESC 8
- Small code formatting mods
- Small typos
|
|
- missing FL_EXPORT: Visual Studio (dll)
- missing include <stdarg.h>: MinGW
|
|
1. add missing FL_EXPORT to class Fl_Terminal
2. add missing test/wizard demo to test/Makefile
|
|
Although this was not strictly necessary I decided to implement the
proposed patch, but in a slightly different way.
This adds a static public method for internal use only but it wouldn't
do any harm if a user called it.
|
|
|
|
New public methods:
void clear(void);
void clear(Fl_Color val);
old protected methods made public:
void clear_screen(bool scroll_to_hist=true); // ESC [ 2 J
void clear_screen_home(bool scroll_to_hist=true); // ESC [ H ESC [ 2 J
void cursor_home(void); // ESC [ 0 H
test/terminal modified to test these, and added separate tests
for both the API and ANSI code ways to do these ops.
|
|
|