Commit Graph

8651 Commits

Author SHA1 Message Date
ManoloFLTK
07c2ba56da Have Fl_Pack::draw() call Fl_Group::init_sizes() on its parent group.
Fl_Pack::draw() sometimes resizes itself. This must be followed
by a call to Fl_Group::init_sizes() as indicated in that function's doc:
"If you rearrange the widgets in your group, call this method to register
the new arrangement with the Fl_Group that contains them."
2019-12-27 12:14:26 +01:00
Albrecht Schlosser
35a3e7cc16 Fix Fl::add_timeout() under Linux (STR 3516)
See comment 14 (excerpt):

"The current implementation basically handles add_timeout() the same
way as repeat_timeout(), i.e. add_timeout() *calls* repeat_timeout().
However, repeat_timeout() intentionally *corrects* the timeout value
by the value found in the global variable 'missed_timeout_by' which
is set when the timer expires, directly before the timer callback
is called. This variable is never reset."

This commit resets the variable as necessary in Fl::add_timeout().
2019-12-26 17:19:05 +01:00
Matthias Melcher
0a23d7fe6e Fluid needs to include text and binary files from within the .fl source directory.
Fixed including binaries and text to use the same path as the source code. This is consistent with the way the file is selected in the corresponding dialog box. Since the old behavior was false, I don't think this will break any existing projects.
2019-12-24 00:19:23 +01:00
Matthias Melcher
70179b618a Merge remote-tracking branch 'refs/remotes/origin/master' 2019-12-23 14:35:41 +01:00
Matthias Melcher
d97836f5dd macOS: fixed all demo programs that need to access resources
MacOS uses bundles instead of executables. CMake creates those bundles in various locations, depending on the generator used (Xcode or Makefiles). I tried to fix all instances where demo apps did not find the resources they needed. This probably must be done for Linux and MSWindows as well.
2019-12-23 14:33:24 +01:00
Matthias Melcher
bd77a6e976 Android Image driver was incomplete and did not compile. 2019-12-22 18:47:27 +01:00
ManoloFLTK
f68dee3288 Fix problems after closing full-screen window
macOS strangely sends NSViewFrameDidChangeNotification and a drawRect: message to its content view
after having sent to the window the close message. That is apparently new in 10.15.2
2019-12-20 10:59:19 +01:00
ManoloFLTK
896112ca82 Merge branch 'master' of https://github.com/fltk/fltk 2019-12-19 18:25:48 +01:00
ManoloFLTK
803a472c5f Fix support of screen scaling under macOS 2019-12-19 18:25:09 +01:00
Albrecht Schlosser
0a124ac7e1 Fix Fl::add_timeout() in draw() under Linux (STR 3188)
Timeouts queued during Fl_Widget::draw() - called by Fl::flush() -
would not be serviced unless other events were processed. For
Details see STR 3188.
2019-12-09 17:53:58 +01:00
Albrecht Schlosser
61a86d1941 Improve Cairo demo program
- remove unused variables
- add comments
- center drawn buttons
- make text slightly smaller to fit into button
- reorder button colors (r, g, b)
2019-11-21 15:03:14 +01:00
ManoloFLTK
ee9ada9678 Undo commit b1bcd1f that was not necessary. 2019-11-09 07:21:56 +01:00
ManoloFLTK
b1bcd1f19f Safer control of memory allocation of aux_bitmap member of FLView 2019-11-08 21:02:43 +01:00
Albrecht Schlosser
274d49448e Don't use Fl::readqueue() in cube demo
Usage of Fl::readqueue() is not recommended (should be deprecated?),
hence we shouldn't use it in our demo program(s).

To do: remove Fl::readqueue() usage from fluid.
2019-11-08 14:06:35 +01:00
Albrecht Schlosser
28ddf84793 Fix cube demo if OpenGL is not available
(1) Fix a compilation error
(2) Fix high CPU usage
2019-11-08 13:58:28 +01:00
ManoloFLTK
cc4801133f X11 + pango: Sort font names ignoring case. 2019-11-08 10:09:18 +01:00
ManoloFLTK
2445797e45 Reorganise use of virtual member function Fl_Surface_Device::end_current() 2019-11-07 14:28:20 +01:00
ManoloFLTK
20ab318875 Link Doxygen doc of Fl_Widget::label(text) to relevant part of FLTK programming manual. 2019-11-06 11:09:34 +01:00
ManoloFLTK
4abb0d0a25 Comments only: place new class Fl_GTK_Printer_Driver in the inheritance description. 2019-11-05 17:17:37 +01:00
ManoloFLTK
da29db9f9c Slightly simpler code to support fl_overlay_rect() on HighDPI screens. 2019-11-02 11:41:42 +01:00
ManoloFLTK
ecdb386f3d Fix HiDPI support under X11 to read/draw RGB image from/to display. 2019-11-01 14:32:07 +01:00
ManoloFLTK
04ec829bfb Fix fl_overlay_rect() under X11 on HighDPI display.
The mandelbrot demo program is fixed.
2019-11-01 08:26:22 +01:00
ManoloFLTK
034d49064e Restore support of 'configure --enable-x11' with macOS 10.15 Catalina 2019-10-31 11:25:56 +01:00
ManoloFLTK
9ff6ad7885 Continue CMake support of the Darwin+XQuartz+fink test platform 2019-10-31 07:30:39 +01:00
ManoloFLTK
031a7a8414 Merge remote-tracking branch 'refs/remotes/origin/master' 2019-10-30 21:14:15 +01:00
ManoloFLTK
527327b8e4 Restore CMake support of Darwin + XQuartz + fink test platform 2019-10-30 21:13:52 +01:00
Albrecht Schlosser
1f9d027bb6 Fix typo and debug output when loading libgtk
A recent commit changed the library name, supposedly unintended.

While testing I found that the debug statements generated confusing
output (both "selected GTK-3" and "selected GTK-2") when GTK-3 was
available.
2019-10-30 19:00:12 +01:00
ManoloFLTK
8c6f1b8ece Restore CMake support of Darwin + XQuartz + fink 2019-10-30 18:57:47 +01:00
ManoloFLTK
98f16ae397 Fix path to header file 2019-10-30 17:48:05 +01:00
ManoloFLTK
2f64c6a861 Concentrate source code that supports Darwin + XQuartz + fink as test platform 2019-10-30 17:25:49 +01:00
ManoloFLTK
ffcf8bd0b7 Documentation: make clear that "Using OpenGL in Normal FLTK Windows" isn't useful with macOS. 2019-10-27 08:37:33 +01:00
ManoloFLTK
d1e346a7d2 Restore support of OpenGL on retina without Fl::use_high_res_GL(1)
Apparently the default value of the wantsBestResolutionOpenGLSurface
property changed with macOS Catalina 10.15
2019-10-26 08:47:25 +02:00
ManoloFLTK
4f8e692f30 Add default value of 0 for 1st arg of member function Fl_Printer::begin_job(). 2019-10-22 13:16:14 +02:00
ManoloFLTK
80f5740468 Avoid useless code when drawing directly. 2019-10-20 15:37:05 +02:00
ManoloFLTK
4d350b61c1 Rewrite for macOS 10.15 Catalina
Another way to support what occurs under macOS 10.15 where the bitmap graphics context
prepared by the system when drawRect: runs sometimes changes its number of bytes/row
even if the width and height are unchanged.
This is expected to perform better when the number of bytes/row alternates between
two values.
2019-10-14 15:41:53 +02:00
ManoloFLTK
9863fef25a Fix for macOS Catalina 10.15
Under Catalina, the bitmap graphics context prepared by the system when drawRect: runs
sometimes changes its number of bytes/row even if the width and height are unchanged.
2019-10-12 16:02:00 +02:00
ManoloFLTK
72e712efbd Faster processing of layer-backed views used with MacOS ≥ 10.14
Calls to CGBitmapContextCreateImage() and CGContextDrawImage() are replaced
by faster calls to memcpy().
2019-10-09 11:49:24 +02:00
ManoloFLTK
940b7ba13d Faster drawing of layer-based windows if entirely redrawn 2019-09-24 12:57:29 +02:00
Albrecht Schlosser
bce85d9511 CMake: copy 'tiny.png' to doc folder
The image 'tiny.png' was not copied to the documentation/html
directory when docs were built with CMake.
2019-09-16 17:17:54 +02:00
ManoloFLTK
e063852d29 Mention change in Fl_Printer::begin_job() for the X11 platform. 2019-09-15 16:08:20 +02:00
ManoloFLTK
c549b7acbd X11 platform: use Gnome printer dialog when the GTK library is available at run-time
The code to determine whether the GTK library is available is now in Fl_X11_System_Driver::probe_for_GTK()
called both by Fl_Printer::begin_job() and Fl_Native_File_Chooser.
New Fl::option OPTION_PRINTER_USES_GTK allows to deactivate use of
the Gnome print dialog.

Minor change in Fl_Native_File_Chooser: GTK version 3 is searched before version 2,
whereas the search order was the opposite before.
2019-09-15 15:57:29 +02:00
ManoloFLTK
000807cc1d Fix use of Xrender extension with old, 16-bit framebuffers.
Subject "Bug in 1.4 Displaying PNG under x64 Kernel x86 app." in fltk.general
contains a report by Darren Legge that presents the problem,
and a later post stating the code modification does fix the problem.
2019-09-11 16:06:19 +02:00
Albrecht Schlosser
cb387bd6ff Fix remaining compiler warnings of (STR 3529)
src/Fl_File_Chooser2.cxx
src/Fl_File_Icon2.cxx
src/Fl_Help_View.cxx

The only known warnings are now in src/Fl_x.cxx as mentioned in
comment #1.
2019-08-29 18:43:11 +02:00
Albrecht Schlosser
50ee013a01 Fix more compiler warnings (STR 3529)
test/colbrowser.cxx:   [-Wformat-overflow=]
test/file_chooser.cxx: [-Wformat-overflow=]

Increase buffer size.
2019-08-29 17:58:24 +02:00
Albrecht Schlosser
6e683783f4 Fix another compiler warning (STR 3529)
fluid/template_panel.{fl|cxx}:

  .../fluid/template_panel.cxx:261:44: warning: ‘%s’ directive output
  may be truncated writing up to 255 bytes into a region of size
  between 0 and 1023 [-Wformat-truncation=]

Solution: increase buffer size from 1024 to 1400.
2019-08-29 17:32:26 +02:00
Albrecht Schlosser
ba8db654ff Fix one compiler warning (STR 3529)
fluid/undo.cxx: fix warning [-Wformat-truncation=]

This fix also removes some static variables and simplifies the
function undo_filename(). It does no longer copy the full filename
string back to a given buffer. Now it returns a pointer to the
internal filename string.

Summary: fix compiler warning, save memory, simplify a function, and
  speed up code by not copying data unnecessarily.
2019-08-29 17:17:37 +02:00
Greg Ercolano
62e39e5559 Added new method Fl_Tree_Item::event_on_item() 2019-08-27 16:53:57 -07:00
Greg Ercolano
3340b33bf1 Added NULL checks in Fl_Tree_Item::move() 2019-08-27 16:46:36 -07:00
Greg Ercolano
0d329a4699 Fix STR #3432: fixed drag+drop on folder
With reference to Sanch's patch from the STR, plus some extra mods
for handling edge conditions (such as root()) and comment clarifications.
2019-08-27 16:39:43 -07:00
ManoloFLTK
4a58bf4dc2 Add example "Fitting an SVG image to a resizable Fl_Box" to doc of Fl_SVG_Image. 2019-08-27 18:38:56 +02:00