| Age | Commit message (Collapse) | Author |
|
... because base_dir[0] and dest_dir[0] are *signed* chars.
|
|
Calling getenv() twice with different output vars and accessing both
later could cause "heap-use-after-free" error in some Windows versions.
The result of home_directory_name() would be unpredictable.
Found using Wine and/or MSYS2/clang/libc++ with Address Sanitizer.
|
|
|
|
|
|
* Add classes for application and project
* Removed all globals from Fluid.h
* Extracting args and project history into their own classes
* Moving globals into Application class
* Initialize values inside headers for some classes.
* Undo functionality wrapped in a class inside Project.
* File reader and writer are now linked to a project.
* Avoid global project access
* Nodes (former Types) will be managed by a new Tree class.
* Removed static members (hidden globals) form Node/Fl_Type.
* Adding Tree iterator.
* Use nullptr instead of 0, NULL, or 0L
* Renamed Fl_..._Type to ..._Node, FL_OVERRIDE -> override
* Renaming ..._type to ...::prototype
* Splitting Widget Panel into multiple files.
* Moved callback code into widget panel file.
* Cleaning up Fluid_Image -> Image_asset
* Moving Fd_Snap_Action into new namespace fld::app::Snap_Action etc.
* Moved mergeback into proj folder.
* `enum ID` is now `enum class Type`.
|
|
See also #1223, and thanks to Gonzalo for finding it.
|
|
This library is no longer needed and was "empty" for backwards
compatibility since FLTK 1.4.0.
|
|
This commit is bigger than necessary to fix the buffer allocation but
it also prevents some unnecessary string copies: the font name is
converted from UTF-16 to UTF-8 directly in the buffer used later.
Code reformatted and clarified as well, some duplicated code was
removed.
|
|
|
|
CMake/fl_add_library.cmake: set target_compile_features(.. cxx_std_NN)
which is inherited by consumers of the library.
This prevents CMake user projects from failing if they would
otherwise compile with an older C++ standard.
CMake/fl_debug_var.cmake: add INTERFACE_COMPILE_FEATURES to fl_debug_target()
CMake/fl_summary.cmake: update summary format for longer variable names
CMakeLists.txt:
- check CMAKE_CXX_STANDARD given by the user (commandline)
and set C++ standard related CMake variables in the CMake cache.
The latter is experimental: setting in the cache may be reverted.
- add C++ standard related info to configure summary.
|
|
|
|
|
|
(#1216)
|
|
This commit also computes work-area size for single-display settings.
|
|
libxcursor-dev libxinerama-dev
|
|
This is the main README file on GitHub. It is similar to README.txt
but doesn't contain every detail to keep it somewhat shorter but
still informative.
The "badges" at the end show details about GitHub Actions (CI).
|
|
std::string doesn't allow nullptr as input string
|
|
All files: remove autoconf/configure related stuff, update links.
- README.txt: describe prerequisites, provide generic instructions
on how to use CMake to build FLTK
- test/demo.cxx: remove code used for configure/make build
- test/CMakeLists.txt: remove obsolete 'target_compile_definitions()'
|
|
A problem was visible with the menubar test app and a 2-screen system where screens are one above the other.
When moving down the huge menu, it became positioned on the wrong screen.
|
|
|
|
|
|
Temporarily done by setting the internal variable FLTK_USE_STD to 1.
This affects FL/fl_config.h where FLTK_USE_STD will always be 1.
Source code that checks this variable should be fixed soon.
|
|
|
|
- remove configure stuff from more README files
- move documentation/README.txt to README.documentation.txt
|
|
This removes the last instance in FLTK of use of #if __APPLE__ instead of the driver mechanism.
|
|
- remove configure related stuff
- improve documentation in these files
|
|
|
|
More to come...
|
|
|
|
|
|
|
|
- remove autotools build (build-autotools)
- build documentation with `cmake`, not `make`
To do: build fluid docs
|
|
New functions append "_str" to the function name to
avoid ambiguities when calling them. So
'char *fl_filename_name(const char *)' becomes
'std::string fl_filename_name_str(const std::string &)'
|
|
|
|
One file per logical unit.
Namespaces.
Non-static data member initializers to never
get an uninitialized field again.
|
|
|
|
|
|
|
|
... so the user can override all settings.
This may need more tweaks in the future.
|
|
|
|
libXft was erroneously present in the link command when using Pango and Cairo.
This is fixed by disconnecting the GUI scaling code from use of Xft.
This commit also makes sure that when Wayland is used, pkg-config is available
on the build machine. This allows to remove from file CMake/options.cmake
code that was labelled with "FIXME".
|
|
Still to do: rename fl_filename... to fl_filename..._str
and introduce into core library.
|
|
|
|
|
|
Also fix for Linux.
|
|
All mentions of Fl_String will be replaced with std::string
and the Fl_String implementation will be removed.
|
|
FLTK 1.5 requires at least C++11, hence we can always use 'override'.
To do: the FL_OVERRIDE macro can be replaced by 'override' everywhere
in the FLTK code. There are more than 2400 occurrences and this
would be a large commit. Therefore it's not done right now...
Note: user code may continue to use FL_OVERRIDE.
|
|
Note: this is only a hidden implementation detail: all concerned
variables are private, and the code is simplified (less error prone).
Size of Fl_Group on 64-bit Linux: 168 -> 176 Bytes (+8 Bytes).
test/group.cxx: test for Fl_Group::{add, insert, remove} etc.
|
|
Note: current minimum for future 1.5.0 is C++11, this may be raised
after further discussion.
|
|
|