summaryrefslogtreecommitdiff
path: root/FL
AgeCommit message (Collapse)Author
2024-02-07Introduce "Modern CMake" in FLTKAlbrecht Schlosser
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.
2024-02-05Fl_Window_Driver::set_popup_window(), ↵ManoloFLTK
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.
2024-01-31Improve documentation of Fl_Native_File_ChooserAlbrecht Schlosser
Document restrictions imposed by the new system file chooser dialogs, particularly by 'kdialog' and 'zenity' (Unix/X11/Wayland only).
2024-01-15Small code fixupsGreg Ercolano
> 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
2024-01-14#887: Fixes FLTK file chooser not releasing preview image.Matthias Melcher
...when hidden
2024-01-13#887: Fixes Fl_Shared_Image reference countingMatthias Melcher
- adds documentation to all calls - changes implementation details on ::copy() and copy(w,h)
2024-01-10Add textattrib() get method+docsGreg Ercolano
Requested by Jonathan Griffitts during rust bindings.
2024-01-06Remove Fl_Simple_Terminal (replaced by Fl_Terminal)Albrecht Schlosser
... as discussed previously.
2024-01-06Fix typoAlbrecht Schlosser
2023-12-23Improve docs and add two new Fl_Menu_Item methods (#875)Albrecht Schlosser
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 *).
2023-12-22A more cross-platform way to fix issue #876ManoloFLTK
2023-12-21Fix a typo, trailing whitespace, and dependenciesAlbrecht Schlosser
2023-12-20Make the 'Forms' compatibility library 'fltk_forms' optionalAlbrecht Schlosser
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.
2023-12-19Remove typos in the documentation of fl_x11_use_display()ManoloFLTK
2023-12-19Procedure to instruct FLTK to use given X11 connexion (#149)ManoloFLTK
2023-12-13#862: Removes default shortcut from Fl_Shortcut_ButtonMatthias Melcher
- 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.
2023-12-13Improve Fl_Tabs documentation (minor wording issue)Albrecht Schlosser
2023-12-12#188: Fixes Fl_Shared_Image ref count and find opMatthias Melcher
- ported froward from 1.3.9 - fixes ref count for original and other images - fixes binary search issues
2023-12-12Improve documentation of fl_strdup()ManoloFLTK
and add example of value of fl_mac_os_version.
2023-12-09Fl_Grid: Added show_grid(1) screenshotGreg Ercolano
2023-12-06Solve issue 856: manolo's parameter namesGreg Ercolano
2023-12-05#856: FLUID: improved Declaration dialogMatthias Melcher
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.
2023-12-04New member function Fl_Image_Surface::mask(Fl_RGB_Image*)ManoloFLTK
2023-12-03Solves issue #856: improve Fl_File_Chooser enum docsGreg Ercolano
2023-12-02Improve contrast of check marks and radio buttons (#443)Albrecht Schlosser
- 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)
2023-11-29solve issue 853: make scrollbar publicGreg Ercolano
2023-11-29Add commandline conversion for Windows (no-op on other platforms)Albrecht Schlosser
- 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).
2023-11-29Change type of member variables Fl_Graphics_Driver::ascent + descentManoloFLTK
Type short is too small for Fl_Cairo_Graphics_Driver and font sizes ≥ 110.
2023-11-27Fix compiler warning, dependencies, and trailing whitespaceAlbrecht Schlosser
The benign warning was: ‘Fl_Browser_::hscrollbar’ will be initialized after [-Wreorder] ‘int Fl_Browser_::linespacing_’ ...
2023-11-27Cairo graphics driver: Improve drawing of Fl_Pixmap and Fl_BitmapManoloFLTK
2023-11-26STR 1373: adds vsync control to OpenGL contexts on macOSMatthias Melcher
Windows and X11 to follow, no idea about Wayland.
2023-11-25Adds pulldown menu to Fl_Text_Display and ..._EditorMatthias Melcher
2023-11-25Cleans up Fl_Input right mouse button menuMatthias Melcher
2023-11-25STR 749: Adds cut/copy/paste popup menu to Fl_InputMatthias Melcher
2023-11-25Adds `linespacing()` to `Fl_Browser_` and all derived widgetsMatthias Melcher
2023-11-25Fl_Terminal better name for flags -> charflagsGreg Ercolano
2023-11-23Added safety when calling Text_Display methodsMatthias Melcher
- before assigning a buffer (Github #845) - also fixed a warning form unused arg in Fl_Terminal
2023-11-22Make new handle_lf/cr methods privateGreg Ercolano
2023-11-22Adding size range settings to Fl_Tile, initial commit.Matthias Melcher
- some documentation missing - Fl_Tile::resize() not satisfying yet - minimums work, maximums currently ignored - 0 size children may make program hang
2023-11-21Fl_Terminal docs: Added some tablesGreg Ercolano
2023-11-21Added output_translate(): controls lf -> crlf translationGreg Ercolano
2023-11-21Fl_Terminal docs for fg/bg colorsGreg Ercolano
2023-11-20Solve issue 837, doc some protected methods.Greg Ercolano
2023-11-19Doc all pub/prot members, remove unused, add todoGreg Ercolano
- 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
2023-11-19Fix compiler warnings in Fl_Terminal on WindowsAlbrecht Schlosser
- missing FL_EXPORT: Visual Studio (dll) - missing include <stdarg.h>: MinGW
2023-11-17Apply two patches provided by user 'Andre' via mailAlbrecht Schlosser
1. add missing FL_EXPORT to class Fl_Terminal 2. add missing test/wizard demo to test/Makefile
2023-11-17Remove friend declaration from Fl_Window.H (see STR 3354)Albrecht Schlosser
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.
2023-11-17Enhance documentation of event processingAlbrecht Schlosser
2023-11-16Added clear(), some methods protected->publicGreg Ercolano
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.
2023-11-15Fixes return type of Fl_Input_::dvalue()Matthias Melcher