Commit Graph

9195 Commits

Author SHA1 Message Date
Albrecht Schlosser
9abbff2078 Add virtual int Fl_Group::delete_child(int n) (STR 3218)
This is a convenience method that does range checking (index n),
removes the child given by index n from the group and deletes it.
2021-05-25 17:39:20 +02:00
Albrecht Schlosser
da4d16b59a Update fluid tutorial on CubeView and demo code
Format code according to the CMP, add instructions on how to copy
the code to the fluid tutorial, and update the tutorial with the
current code of test/CubeView.h and test/CubeView.cxx.
2021-05-21 20:08:12 +02:00
Albrecht Schlosser
cbee4880f4 Update README.macOS.md (minor fixes) 2021-05-13 16:21:52 +02:00
Albrecht Schlosser
773467dee4 Refactor macOS bundle generation to avoid "quarantine"
macOS Big Sur 11.3 introduced a new "security feature" such that
app bundles created from existing bundle templates in downloaded
files (tar distibutions, expanded) could no longer be executed
without unsetting the "quarantine" attribute. This commit fixes
this by creating all bundles from scratch.

Known *workaround* for older tarballs and snapshots:

  $ xattr -d -r com.apple.quarantine xxx.app
2021-05-13 16:18:13 +02:00
Albrecht Schlosser
64296707d9 Include bitmap files rather than copying the source code
There's no need to blow up the source file by including the bitmap
file literally in the source code. Use '#include' instead.

Another benefit is that the original source file is referenced in
the source code so it is not accidentally removed.
2021-05-08 15:23:17 +02:00
Albrecht Schlosser
2f73df4f3e Rename 'srs.xbm' to its original name 'sorceress.xbm' 2021-05-08 15:21:23 +02:00
Albrecht Schlosser
b5cdd2fa71 Update copyright in fluid bundle (macOS: Info.plist) 2021-05-07 16:50:52 +02:00
Albrecht Schlosser
3e0c30213b Suppress Visual Studio warnings in nanosvg code
- disable warning C4244 (conversion / data loss)
- restore #pragma warning after nanosvg includes
2021-05-07 16:48:54 +02:00
Albrecht Schlosser
374232e2f4 Fix MSVC 2010 and older not finding round()
Actually we don't know about some newer MSVC versions, but current
version MSVC 2019 works fine w/o defining round(). If other MSVC
versions need this as well we can change the version test or add
a compiler feature test to CMake (configure not required).
2021-05-07 15:48:24 +02:00
Albrecht Schlosser
4190cd5426 Fix Windows (Visual Studio) compiler warnings 2021-05-06 13:38:04 +02:00
Albrecht Schlosser
0bd1c2e239
Add GitHub Actions Badge to README.md 2021-05-06 12:59:55 +02:00
Albrecht Schlosser
cce652f58c Fix compiler warning on macOS
Compiling drivers/Posix/Fl_Posix_System_Driver.cxx...
drivers/Posix/Fl_Posix_System_Driver.cxx:176:14: warning: unused function 'quadruple_dlopen' [-Wunused-function]
2021-05-03 21:42:00 +02:00
Albrecht Schlosser
08a8e78d6e Fix compiler warning
Apple clang version 12.0.5 (clang-1205.0.22.9)
Target: arm64-apple-darwin20.4.0

Warning appeared after upgrade to Xcode 12.5 in several files,
example:

In file included from Fl_Scroll.cxx:19:
../FL/Fl_Scroll.H:102:17: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
  typedef struct {
                ^
                 ScrollInfo
../FL/Fl_Scroll.H:104:5: note: type is not C-compatible due to this member declaration
    typedef struct { int x,y,w,h; } Fl_Region_XYWH;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../FL/Fl_Scroll.H:128:5: note: type is given name 'ScrollInfo' for linkage purposes by this typedef declaration
  } ScrollInfo;
    ^
2021-05-03 21:23:29 +02:00
Albrecht Schlosser
1684eb7efe Fix a type (comment only) 2021-05-02 17:04:16 +02:00
Albrecht Schlosser
5c85a4ea95 Enhance CMake build configuration summary 2021-04-30 19:48:17 +02:00
Albrecht Schlosser
a484541d4b CMake: improve detection and configuration of image libs
Also: fix old (pre 3.13) link_directories() usage
2021-04-30 19:47:47 +02:00
Albrecht Schlosser
2555e3b37e Fix build with Cairo for CMake < 3.13
target_link_directories() was introduced in CMake 3.13
2021-04-30 12:46:58 +02:00
Albrecht Schlosser
4ba92a99bb Document how to build universal apps for macOS 2021-04-29 18:32:19 +02:00
ManoloFLTK
9df287b415 Cleaner access to Fl_Gl_Window_Driver objects. 2021-04-29 10:40:18 +02:00
Albrecht Schlosser
f9e8ef0b7a Fix "Fl_Shared_Image: use of unitialized data" (#216)
- fix issue as proposed
- fix more potential access to uninitialized data issues
- document Fl_Shared_Image::add_handler()
- document typedef Fl_Shared_Image::Fl_Shared_Handler()
2021-04-28 13:36:34 +02:00
Albrecht Schlosser
189f7ec3ac Fix version number in doxygen docs
... when generated with configure/make.
2021-04-28 12:48:52 +02:00
ManoloFLTK
3bc9017970 Slightly simplify gl_texture_fifo::compute_texture()
The font size is set to the value necessary for the GL scene before
computing the string width.
Virtual Fl_Gl_Window_Driver::effective_size() becomes unnecessary.
2021-04-27 09:09:08 +02:00
Albrecht Schlosser
6e70afc811 Update copyright year in documentation footer 2021-04-26 22:33:01 +02:00
Albrecht Schlosser
556e895dc1 CMake: Document FLTKConfig.cmake and set FLTK_INCLUDE_DIR
Some of the output variables had not been documented, and the "new"
variable for FLTK include directories is 'FLTK_INCLUDE_DIRS' (plural)
rather than 'FLTK_INCLUDE_DIR'.

FLTK_INCLUDE_DIR is now also set for compatibility with FindFLTK.cmake
supplied by CMake.
2021-04-26 15:03:00 +02:00
Albrecht Schlosser
7a7f3c3324 Avoid "Bogus FL_MOVE/FL_DRAG events" (#76)
Fix sending bogus events if CONSOLIDATE_MOTION is on.
2021-04-26 14:15:55 +02:00
Albrecht Schlosser
7b70d2c90d Fix handle_events demo build w/o OpenGL
test/handle_events.cxx can optionally be built with an Fl_Gl_Window,
  but this doesn't work if OpenGL support (libfltk_gl) is disabled.
2021-04-22 12:34:49 +02:00
ManoloFLTK
d01aab2ece Replace list of excluded platforms by name of chosen platform.
Since FL/platform.H defines USE_X11 for the X11 platform, it's better to target
the X11 platform by
  #include <FL/platform.H>
  #if USE_X11
rather than by
  #if !defined(_WIN32) && !defined(__APPLE__) && !defined(__ANDROID__)
that would have to grow with future platforms.
2021-04-19 14:07:37 +02:00
Albrecht Schlosser
72901a626c Fix potential buffer overrun (WIN32 only) 2021-04-16 18:08:15 +02:00
ManoloFLTK
cacaa17499 Minor simplification in Fl_Gl_Window_Driver::capture_gl_rectangle() 2021-04-16 09:31:02 +02:00
Albrecht Schlosser
41b1f1f911 Improve documentation (test/editor) (#219)
Add missing declaration, update more declarations.
2021-04-14 21:42:04 +02:00
ManoloFLTK
78aa959ab9 Fix Fl_Cairo_Graphics_Driver::rect and Fl_Cairo_Graphics_Driver::rectf 2021-04-14 13:59:16 +02:00
Daniel G
87679110f9 Update README.Unix.txt
Replace svn instructions by git instructions
2021-04-13 17:05:50 +02:00
Daniel G
5c0fe8f411 Update Fl_WinAPI_Window_Driver.H
Fix copy paste error.
2021-04-13 12:23:01 +02:00
Albrecht Schlosser
3611d788e3 Fix CMake install procedure (#212)
Only install header files to the FL/ include directory.
2021-04-11 21:56:28 +02:00
Albrecht Schlosser
1e2137668a Fix CMake warning 2021-04-08 15:51:05 +02:00
Albrecht Schlosser
02dfdd590d Fix macOS bundle: set missing fields for test apps
- MACOSX_BUNDLE_BUNDLE_NAME: CFBundleName
 - MACOSX_BUNDLE_GUI_IDENTIFIER: CFBundleIdentifier

test/demo.cxx: Remove confusing quotes from demo variable output.
2021-04-08 13:50:32 +02:00
Albrecht Schlosser
22cb8a7fdb Make Fl_Input::handle_key() protected (#203)
... as requested in this comment:
https://github.com/fltk/fltk/issues/211#issuecomment-814235771
2021-04-07 19:14:25 +02:00
Albrecht Schlosser
7f969b5496 Remove static variable, fix gcc warning [-Wclobbered] (#203)
PR #203 "Multithread fix for PNG loading" includes a suggested fix
that moves the variable fp to the Fl_PNG_Image structure.

This commit fixes the threading issue by allocating the variable fp
with new, avoiding the [-Wclobbered] warning w/o using a static var.

The same issue is now also fixed in Fl_JPEG_Image.
2021-04-07 10:55:13 +02:00
ManoloFLTK
4e086a1cdf Merge remote-tracking branch 'refs/remotes/origin/master' 2021-04-04 19:27:03 +02:00
ManoloFLTK
f8d1b83a0e Fix for issue #209: Gtk-CRITICAL messages from native file chooser
Thanks to K.R. for the fix.
2021-04-04 19:26:38 +02:00
Albrecht Schlosser
278adc097c Fix "Gtk-CRITICAL messages from native file chooser" (#209)
See GitHub Issue #209: https://github.com/fltk/fltk/issues/209

Warning was: "Gtk-CRITICAL **: ... gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

Close #209
2021-04-04 15:45:56 +02:00
ManoloFLTK
30725faf0a Move the X11-specific part of GTK native file chooser to Fl_X11_System_Driver 2021-03-31 18:58:34 +02:00
ManoloFLTK
2a6e9d9493 Fl_X11_System_Driver::probe_for_GTK() is now Fl_Posix_System_Driver::probe_for_GTK() 2021-03-31 10:58:03 +02:00
ManoloFLTK
778a4577d4 Move quadruple_dlopen() to Fl_Posix_System_Driver.cxx where it's used. 2021-03-31 10:39:06 +02:00
ManoloFLTK
ba03dde15c Move probe_for_GTK() to class Fl_Posix_System_Driver from Fl_X11_System_Driver.
Similarly move dlopen_or_dlsym().
This move is because GTK is not X11-specific.
2021-03-31 09:51:10 +02:00
ManoloFLTK
ef41409759 Add guard against multiple inclusion of header file. 2021-03-27 19:05:29 +01:00
ManoloFLTK
4657e988f7 Remove X11-specific code from platform-independent Fl_PostScript.cxx 2021-03-26 07:52:21 +01:00
Greg Ercolano
4951fd1801 Better fix for issue #206.
Albrecht caught a problem with my strncat use (see comments for 12d8da9c).

I noticed we have fl_strlcpy() and fl_strlcat() which is what was really
needed here.
2021-03-23 18:27:30 -07:00
Greg Ercolano
12d8da9cb6 Solve issue #206 warning. 2021-03-23 12:24:04 -07:00
Greg Ercolano
8a9e25cdac Optimization for pixel loop.
As per erco's comments on fltk.coredev, Mar 21 2021
in thread Subject: Re: 1.4 build failing on OSX for me
2021-03-23 12:18:41 -07:00