summaryrefslogtreecommitdiff
path: root/FL
AgeCommit message (Collapse)Author
2022-11-03Implement Fl_Scroll::on_insert()Albrecht Schlosser
This fixes the scrollbar order when children are inserted rather than at some indefinite time later, for instance in draw(). This commit will very likely make Fl_Scroll::fix_scrollbar_order() obsolete but this method is kept as is for tests and verification.
2022-11-03Implement destructor of Fl_Scroll and fix inconsistenciesAlbrecht Schlosser
2022-11-01Added Fl_Group::on_insert/on_remove/on_move (#527)Matthias Melcher
2022-11-01Fix trailing whitespaceAlbrecht Schlosser
2022-10-28Fix removal and deletion of the resizable() of Fl_GroupAlbrecht Schlosser
If the resizable() of an Fl_Group is deleted it is automatically removed from the group. New: to avoid dangling resizable() pointers the resizable widget is set to the group itself.
2022-10-21Doc proper removal/destruction of a widget from its group.Greg Ercolano
This modification as per small thread on fltk.coredev: Sep 19, 2022, Subject: Addition to Fl_Group docs
2022-10-20Improve and clarify documentation of timeout functionsAlbrecht Schlosser
Some functions didn't document the handling of arguments properly, particularly Fl::has_timeout() and Fl::remove_timeout(). This is now fixed by documenting the correct behavior that was preserved (re-implemented) from FLTK 1.3.x in the new class Fl_Timeout. Unfortunately there have been some inconsistencies (likely unexpected behavior) which have been preserved and which are now documented.
2022-10-13Document fl_circle() with and w/o complex drawing API (#511)ManoloFLTK
2022-10-10Remove duplications between Fl_Graphics_Driver and derived classes.ManoloFLTK
2022-10-09Remove superfluous center alignment from imagesAlbrecht Schlosser
Doxygen uses a <div> with center alignment for images, hence adding HTML center alignment for image is not only superfluous but was also inconsistent. Also removed some more unnecessary HTML tags, updated copyright year.
2022-10-07Class Fl_Single_Window declares but doesn't implement method make_current().ManoloFLTK
Also, add missing doc for methods Fl_XXX_Window::show(int, char**).
2022-10-06Make Windows-specific HICON-using functions visible in doc.ManoloFLTK
2022-09-29Support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This commit allows to switch between FL_DOUBLE / FL_SINGLE modes in widget-containing GL3 windows. Demo program examples/OpenGL3test is modified to show FLTK widgets even if the platform does not support OpenGL 3.
2022-09-27Simpler code to support FLTK widgets in macOS OpenGL 3 windows.ManoloFLTK
Also, the application-level code to add widgets to a GL3 window becomes platform-independent.
2022-09-25Add cross-platform support for adding widgets to an OpenGL3-based Fl_Gl_Window.ManoloFLTK
Under non-macOS platforms, the key is to call glUseProgram(0); after having used OpenGL 3 which allows to then use OpenGL 1 and draw FLTK widgets over the OpenGL3 scene. Under macOS, this is impossible because macOS GL3 contexts are not compatible with GL1. The solution implemented here is to create an additional Fl_Gl_Window placed above and sized as the GL3-based window, to give it a non opaque, GL1-based context, and to put the FLTK widgets in that additional window.
2022-09-22Fix issue #501: build error under macOS 10.10ManoloFLTK
2022-09-21Improve docs of Fl_Copy_Surface and use of OpenGL 3.ManoloFLTK
2022-09-18Add Doxygen description of FL_FREE_COLOR.ManoloFLTK
2022-09-11Fix fl_read_image() under hybrid Wayland/X11 platform.ManoloFLTK
Function fl_read_image() obliges to keep a minimal use of global variable fl_window also under the Wayland platform, even if its type (Window) makes little sense for the hybrid library because it has its X11 value (given by X11/X.h) which is not meaningful for the Wayland leg of the hybrid platform. Virtual member function Fl_Surface_Device::as_image_surface() becomes useless.
2022-09-09New OPTION_WAYLAND_ONLY for CMake to build pure Wayland platform.ManoloFLTK
2022-09-08Add necessary virtual qualifier to ~Fl_Font_Descriptor() and derived.ManoloFLTK
2022-09-07Improve support of child windows that may leak outside their parent window.ManoloFLTK
1) add Wayland code that prevent subwindows from leaking outside their parent. This does not cover GL subwindows. 2) add macOS code that prevent GL subwindows from leaking outside their parent. This fixes issue #494 for the macOS platform. N.B.: Wayland GL subwindows are not prevented from leaking because no solution that would not require any change in client applications was found. Code that would cover Wayland GL subwindows but would require client applications to always use the FL_ALPHA flag is included in this commit in commented out form.
2022-08-30Hybrid Wayland/X11 platform: improve control of chosen backend.ManoloFLTK
2022-08-30Attempt to improve fl_disable_wayland().ManoloFLTK
2022-08-29Update dependencies, fix trailing whitespaceAlbrecht Schlosser
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-25Fix dependencies and whitespace errorsAlbrecht Schlosser
No "real" code changes, but dependencies can affect building.
2022-08-23Comment-only changes.ManoloFLTK
2022-08-23Add FL_EXPORT directives erroneously removed at 7deff86.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2022-08-20Add int Fl::system(const char *command) static member function.ManoloFLTK
2022-08-19Fl_Graphics_Driver: remove unused virtual qualifiers.ManoloFLTK
2022-08-10Fix Fl_Xlib_Graphics_Driver for drawing tiled images.ManoloFLTK
Conflicting demands arise in the implementation of class Fl_Xlib_Graphics_Driver for drawing images with the XRender library : 1) Issue #163 leads to use a bilinear filter to draw-and-scale images. 2) This tends to blur the edges of drawn areas which is bad for tiled images (that is because the edges get alpha values, even for an opaque source image). This commit resolves the conflict adding a means to detect whether the library is busy drawing a tiled image. If so, the bilinear filter is not applied, drawn areas don't have blurred edges, resulting in a nice tiling. With this commit, these test apps perform correctly: - tiled_image is correct at all scaling factor values also when modified to use a depth-3 or a depth-4 Fl_RGB_Image as tile; - unittests - Drawing Images is correct at all scaling factor values; - pixmap_browser scales correctly up and down JPEG and PNG images.
2022-08-07Fl_Flex: support different margin sizes, improve docsAlbrecht Schlosser
Support different margin sizes on all four edges. Default margin and gap size is now 0 (compatible with Fl_Pack). Doxygen: move the description from the constructor to the class declaration which constitutes a "description". Make some methods virtual and/or 'const'. Clarify demo programs, make them even more "FLTK style".
2022-08-01Add Fl_Flex widget from Karsten Pedersen (issue #255)Albrecht Schlosser
This work is based on the repository and latest commit: https://github.com/osen/FL_Flex.git commit 36e4ed75a00daac825b87e81295818b4650991f5 Author: Karsten Pedersen <...> Date: Fri Apr 23 12:06:16 2021 +0000 Added Fltk (LGPL) license. This widget is similar to Fl_Pack and supports either one row or one column of widgets but has some more features. Test and demo programs are included: test/flex_login.cxx: simple "login window" demo program test/flex_demo.cxx: slightly more complex demo program The original demo programs can still be compiled and built with the new widget provided you '#include <FL/Fl_Flex.H>'. Backwards compatible methods are included (except debug()). The original widget has been modified to match FLTK standards and enhanced in several ways, including: - support box frames - add HORIZONTAL and VERTICAL enum values (as in Fl_Pack) - add horizontal() method (as in Fl_Pack) - use type() rather than internal 'direction' variable - add standard widget constructor (x, y, w, h, label) - add margin and gap accessors rather than hard coding constants - improve test and demo programs - add documentation - replace <vector> with array as required by FLTK CMP - rename camelCase method names, keeping old names for compatibility: - change 'setSize(Fl_Widget*, int)' to 'set_size(Fl_Widget*, int)' - change 'bool isSetSize(Fl_Widget*)' to 'int set_size(Fl_Widget*)' - remove debug() method - add a way to "unset" fixed size: set_size(Fl_Widget *, 0) - add layout() method to force recalculation of children - unify resizeRow() and resizeCol() methods to avoid code duplication - improve widget size calculation.
2022-07-24Add Fl_PostScript_File_Device::set_current() and end_current() members.ManoloFLTK
2022-07-20Change prototype of virtual Fl_Graphics_Driver::pango_font_description().ManoloFLTK
2022-07-14Document that Fl_Help_View can't be used with FL_NO_BOXAlbrecht Schlosser
This widget overrides FL_NO_BOX internally by FL_UP_BOX for all practical purposes, e.g. draw(). This has been this way since its initial release and can't be changed.
2022-07-06Move member q_width from class Fl_Font_Descriptor to Fl_Quartz_Font_Descriptor.ManoloFLTK
That's because this member is used only in Fl_Quartz_Font_Descriptor.
2022-07-05Documentation: add missing mentions of the Wayland platform.ManoloFLTK
2022-07-04Documentation: add Wayland-related information for use of OpenGL 3.ManoloFLTK
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-05-11Remove warning: 'virtual void Fl_Graphics_Driver::xyline(int, int, int, ↵ManoloFLTK
int)' was hidden.
2022-05-09Cleaner declaration of public function fl_wl_cairo().ManoloFLTK
2022-04-20Improve docs of Fl_Image and related classes (#431)Albrecht Schlosser
Clarifications as discussed since April 15, 2022 07:00 UTC (see GitHub issue #431).
2022-04-15Fix documentation typoAlbrecht Schlosser
Fix missing opening quote. (#431 cont'd)
2022-04-15Clarify documentation of Fl_Image::copy() and more (#431)Albrecht Schlosser
- emphasize that Fl_Image::copy(W, H) creates an image with w() == data_w() == W and h() == data_h() == H - clarify some more docs of Fl_Image methods (ensure that data_w() and data_h() are used where appropriate rather than w() and h() - improve wording, examples, and formatting of related docs. Closes #431
2022-04-14Fix for issue #429 : Segfault with Ctrl+/- with current git versionManoloFLTK
2022-04-13Make Fl_Image::copy() 'const', including all derived classesAlbrecht Schlosser
Copying an image does not (and must not) change the original object, hence copy() should always be 'const'. This is *necessary* if the given Fl_Image object is 'const'.
2022-04-13Fix for issue #427 - continued.ManoloFLTK