summaryrefslogtreecommitdiff
path: root/FL
AgeCommit message (Collapse)Author
2024-06-21Remove trailing whitespaceAlbrecht Schlosser
no code changes
2024-06-21Add Fl::remove_next_timeout(...) to remove only one timeout (#992)Albrecht Schlosser
This method also returns the data pointer of the removed timeout. This new method is generally useful for user code and particularly necessary to fix issue #991. Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-06-14macOS 15.0 Sequoia: fix capture of window titlebarsManoloFLTK
The previous procedure using CGWindowListCreateImageFromArray() is obsoleted in macOS 15.0 . The new procedure requires an additional framework: ScreenCaptureKit; FLTK uses it only for macOS ≥ 15.0
2024-06-03Document how to control window location in screen under WaylandManoloFLTK
2024-06-02 Fix Child Windows under Wayland are clipped on resizing … (#987)ManoloFLTK
2024-05-30Fix typo in doc of Fl_Double_Window::as_double_window()ManoloFLTK
2024-05-26Adding new call `Fl_Window::get_size_range()`, #981Matthias Melcher
2024-05-17Improve fl_contrast() functionality and documentationAlbrecht Schlosser
- swap 3rd and 4th parameter of fl_contrast() - change 'Fl_Fontsize fs' to a neutral 'int size' parameter - clarify documentation of fl_contrast_level() and that different contrast algorithms use different level values - clarify that level 39 for the CIELAB mode results in "sufficient" contrast, i.e. /readable/ text which is the only intention of fl_contrast(). Reasoning: swapping the arguments looks more natural, i.e. the context before another argument (size) is what one would usually expect. Since the 'size' argument doesn't have be a font size, making it a simple 'int size' is more flexible and correct for future extensions.
2024-05-15Change member function args to Fl_Menu_Bar::play_menu(const Fl_Menu_Item *)ManoloFLTK
2024-05-14 New member function Fl_Menu_Bar::play_menu(const char *title)ManoloFLTK
2024-05-13Remove change erroneously committed at 4eb98c0ManoloFLTK
2024-05-13Fl_Menu_Bar: document how to programmatically open menu from menubarManoloFLTK
2024-05-11Enable suppression of "deprecated" warnings (FL_NO_DEPRECATE)Albrecht Schlosser
This is intended for backwards compatibility with FLTK 1.3.x code ported to 1.4.0. Users defining FL_NO_DEPRECATE can compile old (1.3.x) code w/o seeing lots of "deprecated" warnings. A legitimate use case is if old (1.3) code is intended to be used with both FLTK 1.3 and 1.4. FL_NO_DEPRECATE should NOT be defined if the user's code is targeted at 1.4.x or later. Users should fix their code to be prepared for the next minor release (e.g. 1.5.0). Todo: document this.
2024-05-08Have menu items drawn with same colors in all platforms (#969)ManoloFLTK
Also, remove this text from the doc of Fl_Menu_::down_box() "If this is FL_NO_BOX then it acts like FL_THIN_UP_BOX and selection_color() acts like FL_WHITE, for back compatibility." that was true only for the Windows platform and that required selection_color to be replaced by white for menu items which is not what FLTK 1.4 expects. The new state of menu item drawings is as follows : - all platforms draw menu items with the same symbolic colors - selected items and menu titles are drawn with the selection color as background color - menu items are drawn by default with no box but can be given one by Fl_Menu_::down_box(Fl_Boxtype) - the text of selected items is drawn with the menu's color unless fl_contrast() finds it does not make enough contrast with the background (selection color) and substitutes it with a more adapted color - the Windows platform uses a visibly different hue for its default selection color from what other platforms use
2024-04-30Implement and document new class Fl_PDF_File_SurfaceManoloFLTK
2024-04-26Box types can now defined and draw their own focus frame, STR 2145, #659Matthias Melcher
2024-04-22 Fix for Fl_Native_File_Chooser::filter_value() - cont'd (#899)ManoloFLTK
2024-04-22 Fix: Fl_Native_File_Chooser::filter_value() [Kdialog] always returns 0 (#899)ManoloFLTK
- remove build option FLTK_USE_KDIALOG replaced by an Fl::option() option - new run-time option OPTION_FNFC_USES_KDIALOG - make options OPTION_FNFC_USES_KDIALOG and OPTION_FNFC_USES_ZENITY false by default - add mention of new program fltk-options in the doc of Fl::option() - change logic of choice of the native file chooser under X11/Wayland: the zenity and kdialog choosers are opt-in; otherwise the GTK file chooser is used, unless opted out with OPTION_FNFC_USES_GTK - document that zenity may be interesting for sandboxed apps - document that both zenity and kdialog make member functions Fl_Native_File_Chooser::filter_value() inoperable
2024-04-18Fix potential compiler warnings in public headers [-Wshadow]Albrecht Schlosser
These warnings would be issued if users compiled their programs with diagnostics '-Wshadow' turned on using gcc, clang, and maybe other compilers.
2024-04-17Fix 'int Fl_Menu_::value()' if item is in a submenu (STR 3241)Albrecht Schlosser
More precise: ... if the last picked item is in a "detached submenu", i.e. in one addressed by another menu item with the FL_SUBMENU_POINTER flag set. Also: document *why* this is the case, and what the result value is.
2024-04-14Add example to fl_arc docs.Matthias Melcher
2024-04-09Fix Fl_Terminal::handle_unknown_char() for plot_char() (#948)Albrecht Schlosser
- Add 'int Fl_Terminal::handle_unknown_char(int drow, int dcol)' to write the "unknown" character to the intended display position. - Define Fl_Terminal::unknown_char as a static variable to avoid redundancy. In the future this might be overridden by users.
2024-04-06Rename putchar() to plot_char() (#944)Greg Ercolano
Some old platforms (NetBSD, AIX) implement the common stdio "putchar()" function as a global macro which poisons the global namespace, preventing all C and C++ programs from using "putchar()" as a function or method. There was a long thread about this in fltk.coredev during the period Mar 25 2024 ~ Apr 4 2024, subject "RFC: Fl_Terminal::putchar() in public API" as to why we have no choice but to not use putchar() as a method name.
2024-04-05Fix documentation example of the FL_FUNCTION_CALLBACK_#() macroManoloFLTK
2024-04-04Fix compiler warning, part 2 of #946Albrecht Schlosser
2024-04-04Fix compiler warning, part 1 of #946Albrecht Schlosser
2024-04-02Improve support for NetBSD (#944)Albrecht Schlosser
- fix gcc version check for FL_DEPRECATED macro - fix #include for select() on NetBSD < 3.0 (#944) For more info please see GitHub Issue #944
2024-03-20Use type cairo_region_t* for Fl_Region under Wayland platformManoloFLTK
2024-03-19Update dependencies, whitespace, and Fl_File_Chooser.cxxAlbrecht Schlosser
Rewrite src/Fl_File_Chooser.cxx from its .fl source file
2024-03-18Add more public accessor methods to Fl_Grid (#937)Albrecht Schlosser
Some of these accessor methods should be private so they can't be used by user code but - due to compiler issues - they must be public for HP-UX 11.11 (for details see GitHub Issue #937).
2024-03-15Fix a bunch of compiler warnings, particularly for old compilersAlbrecht Schlosser
Works now much better with old C99 and C++98 standard compilers. Fixed: C++ comments in C files and headers included by C files. There are still some warnings with C90 though but these would be hard to fix and left as-is for now. test/fractals.cxx: some arrays were too small by 1, or the compiler warned at least (false positive?). Anyway, it's fixed now.
2024-03-12Make Fl_Terminal selection_text() methods publicGreg Ercolano
As per Albrecht's request on fltk.coredev..
2024-03-09Add key name FL_Alt_Gr for AltGr on international keyboardsAlbrecht Schlosser
2024-03-06Add horizontal scrollbar to Terminal widget (#928)Albrecht Schlosser
* Checkpoint. Basic functionality seems to be working. * Code cleanup * Added horizontal scrollbar to Terminal widget * Fix hscrollbar_size operation * Applied erco-terminal-mods_v5_final.patch.txt Final patch relating to PR 918 * Remove trailing whitespace, update copyright year --------- Co-authored-by: Jonathan Griffitts <jonathan.griffitts@gmail.com> Co-authored-by: Greg Ercolano <erco@seriss.com> Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-03-03Update doc about Ctrl/+/-/0/ zoom shortcutsManoloFLTK
2024-03-02Added Fl_Terminal::text() and docsGreg Ercolano
2024-03-02Promote fl_strlcpy to <FL/fl_string_functions.h>Matthias Melcher
2024-03-02Add OPTION_SIMPLE_ZOOM_SHORTCUT to fine tune zoom-in shortcutManoloFLTK
2024-02-27Improve prioritization of event handlers added at open display timeManoloFLTK
2024-02-21 Fix: fl_height(int, int) decreases the font size after each call (#915)ManoloFLTK
2024-02-18Fix Terminal character position and add word selection (#906)Matthias Melcher
* Improve horizontal interactive selection * Using half-character positions to implement selection similar to Fl_Input. * Add word and line selection * Fix vertical position of text
2024-02-17Clear screen also clears attributes/xterm modes (#911)Greg Ercolano
Clear was setting characters to a space using the current style, but if the style left Dim/Bold/Inverse (etc) enabled, that was being used to affect the clear character, and thus affected clearing screen. Seems weird tho; what if one wants to do a cleol (\033[K) on a screen that is all inverted text; is there no way to use inverse mode for clearing to the end of line? Or to delete a character?
2024-02-16Fixed Fl_Terminal xterm color 39/49 handling, and other mods.Greg Ercolano
Fixed a bug in the handling of xterm color 39 + 49, which avoids applying Dim/Bold if default color is the special "see through" color 0xffffff00. A test will be added to test/terminal to excercise this in a follow up commit. Renamed CharStyle::?gcolor_uchar() -> CharStyle::?gcolor_xterm() for a consistent naming convention. Changed fltk_fg_color() from a static func to a CharStyle method because it needs to access the defaultcolor for the special cases for xterm colors 39 and 49. Made CharStyle::attr_color() private, as per Jonathan Griffitts request in issue #909. Improved docs regarding effects of Dim/Bold for xterm and non-xterm color methods. Fl_Terminal::text?gcolor_xterm() methods now use CharStyle::?gcolor_xterm() methods, removing the duplicate code logic.
2024-02-16Fix Fl_Terminal xterm CharStyle charflags (#909)Greg Ercolano
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)