summaryrefslogtreecommitdiff
path: root/src/Makefile
AgeCommit message (Collapse)Author
2023-10-16Add Fl_Grid widget and test and demo programsAlbrecht Schlosser
- FL/Fl_Grid.H: header file - src/Fl_Grid.cxx: implementation - examples/grid-simple.cxx: simple example program - test/cube.cxx: use Fl_Grid for layout - test/grid_alignment.cxx: test cell alignment and other functions - test/grid_buttons.cxx: demo program as discussed in fltk.general - test/grid_login.cxx: like test/flex_login.cxx but with Fl_Grid - test/flex_login.cxx: modified to match test/grid_login.cxx
2023-03-09CMake: build shared libs with OPTION_CAIROEXT (issue #250)Albrecht Schlosser
- remove separate libfltk_cairo to avoid cyclic dependencies, but - keep a dummy libfltk_cairo in 1.4.0 for backwards compatibility - move cairo/Fl_Cairo.cxx to src/Fl_Cairo.cxx - add preliminary Cairo support for Visual Studio (MSVC) Static linking is not affected by this change, but users building with hand-made Makefiles will have to remove libfltk_cairo starting with FLTK 1.4.0. The dummy library can be linked for backwards compatibility but it will be removed later (in 1.4.x or 1.5.0). The shared FLTK library libfltk.{so|dylib|dll|..} depends on libcairo if and only if FLTK is built with one of the Cairo options. This has always been the case for OPTION_CAIROEXT but is now also true if only OPTION_CAIRO is selected, i.e. FLTK programs linked with a Cairo enabled shared FLTK library will also be linked with libcairo. The same is true for configure options --enable-cairo and --enable-cairoext, respectively. Preliminary Cairo support for MSVC now detects a Cairo installation using the CMake variable FLTK_CAIRO_DIR which must be set by the user. Note that this feature is temporary and may be changed in the future for a better and more comfortable version.
2023-02-15Move class Fl_Shortcut_Button from FLUID to core (#677) (#680)Matthias Melcher
2023-02-14Rename class Fl_Display_Cairo_Graphics_Driver to Fl_X11_Cairo_Graphics_DriverManoloFLTK
2023-01-21Animated GIF support (Fl_Anim_GIF_Image class) (#375)wcout
2023-01-12Add Fl_Scheme_Choice widget and use it in test programsAlbrecht Schlosser
This widget offers the selection of all known FLTK schemes as a simple widget based on Fl_Choice. Some test and demo programs use Fl_Scheme_Choice to enable the developer or user to switch schemes quickly for comparison. Todo: - add features to add new schemes during runtime (partially done) - update status when the scheme is changed by Fl::scheme("...")
2023-01-12Add the initial version of class Fl_SchemeAlbrecht Schlosser
This basic version of class Fl_Scheme contains only static methods that are needed for Fl_Scheme_Choice and further extensions.
2022-12-28Improve and extend fl_contrast() (#370)Albrecht Schlosser
- 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.
2022-12-16Derive Fl_Zenity_Native_File_Chooser_Driver from Fl_Kdialog_Native_…ManoloFLTK
Also add Fl::option(OPTION_FNFC_USES_ZENITY)
2022-12-09New Fl_ICO_Image class to read Windows .ico icon filesManoloFLTK
Many thanks to @darealshinji for contributing all the code for this new FLTK image class (see branch Fl_ICO_Image of https://github.com/darealshinji/fltk).
2022-11-30Remove small files fl_XXX_gl_platform_init.cxxManoloFLTK
The single-function content of these files is moved to Fl_XXX_Gl_Window_Driver.cxx.
2022-11-25Add "Oxy" scheme (STR 2675, STR 3477)Albrecht Schlosser
This commit is similar to the patch given in STR 3477, oxy_v5.diff: https://www.fltk.org/strfiles/3477/oxy_v5.diff ... with modifications, and updated to current FLTK code.
2022-11-22Refactor and simplify "arrow drawing" in widgetsAlbrecht Schlosser
"Arrows" in widgets are those GUI elements mostly represented by triangles pointing in a particular direction as in scrollbars, choice widgets, some menus, valuators and Fl_Counter widgets. The code has been simplified and standardized such that all these GUI elements are drawn identically per FLTK scheme. Widget authors no longer need to write code to calculate arrow sizes and draw polygons etc. Different schemes can and do implement different drawing functions. Todo: see comments "FIXME_ARROW" in src/Fl_Menu_Button.cxx and src/Fl_Menu.cxx
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-11-06Add Fl_Int_Vector: "an STL-ish vector without templates"Albrecht Schlosser
Code copied from Fl_Table and reformatted. Thanks to Greg for the original code.
2022-10-13Fix regression in "configure --enable-shared" introduced at c96a4f3ManoloFLTK
2022-09-29macOS platform: rename Fl_Cocoa_Gl_Window_Driver.cxx to .mmManoloFLTK
2022-09-10New configure setting "--enable-wayland --disable-x11" to build pure Wayland ↵ManoloFLTK
platform.
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-08Fix src/Makefile: add missing directory to 'clean' targetAlbrecht Schlosser
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-03-13Separate platform init functions from platform-specific driver filesManoloFLTK
2022-03-05Rename Fl_wayland.cxx to fl_wayland_clipboard_dnd.cxxManoloFLTK
2022-03-04Add the Wayland platform to FLTK 1.4ManoloFLTK
2022-01-31Consolidate timeout handling across platforms (#379)Albrecht Schlosser
Add Fl_Timeout class Move platform independent code of Fl::wait() to main part - basic timeout handling - Fl::run_checks() - Fl::run_idle() - Fl::idle() - waiting time calculation (next timeout) - remove platform dependent "screen driver" stuff
2022-01-16Rename FL/Fl_String_class.H to FL/Fl_String.HAlbrecht Schlosser
This is part 2 of the final fix for a previous name clash on case insensitive file systems (fl_string.h vs. Fl_String.H).
2022-01-16Rename FL/fl_string.h to FL/fl_string_functions.hAlbrecht Schlosser
This is part 1 of the final fix for a previous name clash on case insensitive file systems (fl_string.h vs. Fl_String.H).
2021-12-18Generate FL/fl_config.h rather than FL/abi-version.hAlbrecht Schlosser
... as discussed in fltk.coredev in thread "RFC: introduce public config header <FL/fl_config.h>", see: https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ - Rename abi-version.h to fl_config.h, rename input files, update dependencies, .gitignore, CMake, configure and Makefiles. - Include Cairo options in FL/fl_config.h - Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency. - Include <FL/fl_config.h> in config.h and wherever necessary, fix include order (move FL/Fl.H to the top) and more. - Move USE_X11 to fl_config.h and rename to FLTK_USE_X11 - Do not include <config.h> in Cairo demo program which is no longer required in Cairo programs since FLTK 1.4.0
2021-12-07Fix for issue #278: Can we use the qt/kde file picker instead of gtk?ManoloFLTK
Under the X11 platform, class Fl_Native_File_Chooser will behave as follows : - if the KDE desktop is used and if command "kdialog" is available in the path, the Qt/KDE file chooser is used; - otherwise, if the GTK library is available at run-time, the GTK file chooser is used; - otherwise, the FLTK file chooser is used. In addition, when Fl::OPTION_FNFC_USES_GTK is off, the FLTK file chooser is always used.
2021-12-04Rename src/Fl_String.cxx to src/Fl_String_class.cxxAlbrecht Schlosser
Sorry for the noise, still fixing a name class on case-insensitive file systems (macOS and Windows).
2021-12-04Re-enable nested (aka recursive) common dialogs (STR 3242, #282)Albrecht Schlosser
Apply Fl_Dialog_r10831.patch as given in STR 3242: https://www.fltk.org/strfiles/3242/Fl_Dialog_r10831.patch Reformat, add missing pieces, rename private members, cleanup... Improve documentation, add fl_choice_n() (issue #282) New methods fl_input_str() and fl_password_str() return Fl_String
2021-12-04Add minimal version of class Fl_StringAlbrecht Schlosser
This class will be used in fl_input_str() and fl_password_str(). Todo: add missing documentation ...
2021-11-26 Fix for issue #254: remove hardware overlay support - cont'd.ManoloFLTK
2021-11-19Refactor and improve "Print front window" dialogAlbrecht Schlosser
src/print_button.cxx: "Print front window" implementation (new file) This is compiled and activated if USE_PRINT_BUTTON is defined. The feature can be fine controlled by environment variable 'FLTK_PRINT_BUTTON' (see docs in source file).
2021-11-09Refactor fluid: make fl_write_png() publicAlbrecht Schlosser
The new function fl_write_png() was moved to its own file and is now publicly available ("exported") so other programs can use it. This function was used in fluid to write a window screenshot (.png) together with a template (.fl) to preferences storage.
2021-03-15Create class Fl_Cairo_Graphics_Driver.ManoloFLTK
That class is extracted from inside Fl_PostScript_Graphics_Driver and might become handy in the future.
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.ManoloFLTK
2020-09-16Fix fluid output for international languagesAlbrecht Schlosser
The fluid version and other values in .fl files are written as float values which means that locale settings apply since we enabled the locale with "setlocale()". Update the "rebuild" target in fluid and src folders to update the fluid (.fl) files and related {.cxx|.h} files.
2020-08-01Implement + deploy fl_strdup()Greg Ercolano
2020-07-20Add missing driver folder to Makefile (clean)Albrecht Schlosser
2020-07-15CMake: refactor and reformat CMake filesAlbrecht Schlosser
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015) - indent all CMake files according to the CMP (2 col.) - refactor FLTK version number definitions and usage - unify CMake and autoconf/configure variable names: - FL_VERSION -> FLTK_VERSION - FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR - etc. for _MINOR_ and _PATCH_, respectively - note: this does not affect FL_VERSION etc. in source code - generate "export headers" for all libraries (experimental: OFF) - port some forgotten goodies from branch-1.3 to master - merge and improve macro 'create_example' (WIP) - remove "temporary" options and code for older CMake versions - include and use 'GenerateExportHeader' (experimental, WIP: OFF) - note: created header files are not yet used - build only *one* DLL with Visual Studio (tested, works) - similar to the bundled IDE projects in 1.3.x - add some dynamically linked test/demo programs ('*-shared') if shared libraries are built (WIP) - split 'macros.cmake': use one file per macro
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-06-29Move class Fl_SVG_File_Surface from libfltk to libfltk_images.ManoloFLTK
File examples/SVG_File_Surface.cxx is no longer useful because it was a very partial implementation of what is now class Fl_SVG_File_Surface.
2020-06-27Add classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to draw to SVG and EPS.ManoloFLTK
Test programs device and pixmap_browser use these new classes. Class Fl_SVG_File_Surface can be optionally made non functional using the --disable-svg configure option or turning off OPTION_USE_SVG in CMake. Class Fl_EPS_File_Surface can be optionally made non functional using the --disable-print configure option or turning off OPTION_PRINT_SUPPORT in CMake.
2020-06-13Update dependenciesAlbrecht Schlosser
Change sort order using -f (--ignore-case): fold lower case to upper case characters
2020-04-07Move Fl_Image_Reader.cxx to libfltk_images where it belongs.ManoloFLTK
2020-02-09Remove empty file from compilationAlbrecht Schlosser
2020-01-13Combine image readers in class Fl_Image_ReaderAlbrecht Schlosser
This new class is explicitly internal and undocumented. We can rename and/or redefine or extend it as we need. This work is based on Matt's recent update with separate internal classes BMPReader and GIFReader which have been replaced by Fl_Image_Reader.
2019-06-22Update dependency systemAlbrecht Schlosser
Try to make `make depend' independent of locale.
2019-03-28Add dependencies for non-Xft buildsAlbrecht Schlosser