Commit Graph

10107 Commits

Author SHA1 Message Date
Albrecht Schlosser ceb268fd34 Suppress (GitHub CI/wayland) compiler warning
[ 15%] Building CXX object src/CMakeFiles/fltk.dir/Fl_Text_Display.cxx.o
.../fltk/src/Fl_Text_Display.cxx: In constructor ‘Fl_Text_Display::Fl_Text_Display(int, int, int, int, const char*)’:
.../fltk/src/Fl_Text_Display.cxx:122:57: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ writing between 4 and 8589934584 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
  122 |     for (int i=1; i<mNVisibleLines; i++) mLineStarts[i] = -1;
      |                                          ~~~~~~~~~~~~~~~^~~~
.../fltk/src/Fl_Text_Display.cxx:120:39: note: at offset 4 into destination object of size 4 allocated by ‘operator new []’
  120 |   mLineStarts = new int[mNVisibleLines];
      |                                       ^

This warning is IMHO obsolete because the code in question should not
be executed at all (mNVisibleLines == 1). However, the compiler seems
to substitute this with '__builtin_memset(...)' and analyzes "correctly"
that memory at offset 4 would be overwritten but not that the written
size would be 0.

The "fix" uses a compiler macro and #if to clarify that this code must
not be executed and should not be compiled (see comment why this code
exists).
2022-12-09 18:56:09 +01:00
ManoloFLTK 59be6a7ef9 Fix for "Public members Fl::awake_ring_*_ should be private" (#559) 2022-12-09 18:50:04 +01:00
ManoloFLTK 36ef15963a Comment only: put Fl_Display_Cairo_Graphics_Driver in class hierarchy 2022-12-09 18:47:55 +01:00
ManoloFLTK eb2572deaf Add new Wayland-specific fl_wl_compositor() function 2022-12-09 17:06:35 +01:00
wcout 632661fa64 Fix Fl_Text_Display drawing of line numbers (#578)
The formerly undrawn rectangle beneath (or above) the line numbers is now filled with FL_BACKGROUND_COLOR.
Additionally the small rectangle between the scrollbars is now filled with FL_BACKGROUND_COLOR instead of FL_GRAY for consistency.
2022-12-09 16:55:06 +01:00
ManoloFLTK 36cd0a397c New Fl_ICO_Image class to read Windows .ico icon files
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-12-09 10:43:20 +01:00
Albrecht Schlosser 0bb30d8f92 Fix typo in comment 2022-12-08 20:40:03 +01:00
Albrecht Schlosser 54a62eb951 Fix trailing whitespace 2022-12-08 19:48:31 +01:00
Alex 30dd944c74 build: harden build.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-12-08 19:39:06 +01:00
Albrecht Schlosser 823dc5acc4 Fix compilation warning, update dependencies
Warning: variable ‘j’ set but not used [-Wunused-but-set-variable]
2022-12-08 19:09:18 +01:00
ManoloFLTK b9a9f7f10c Simpler prototype of Fl_Wayland_Graphics_Driver::buffer_commit() member - cont'd 2022-12-08 15:22:08 +01:00
ManoloFLTK 4d8ae8ccd0 Libdecor: update to upstream commit 25f29fef 3 dec 2022 2022-12-08 12:41:41 +01:00
ManoloFLTK 503492db78 Simplify prototype of Fl_Wayland_Graphics_Driver::buffer_commit() member 2022-12-08 10:16:06 +01:00
ian fca63db4ab Minor update to unittest_text to add support for showing the text baseline in testing. 2022-12-07 11:17:55 +00:00
ManoloFLTK cbd37a2870 Wayland: fix progressive drawing as in test/mandelbrot 2022-12-07 08:46:50 +01:00
ManoloFLTK 90c7e6bcb1 Fix issue #537 without damaging test/mandelbrot 2022-12-06 14:46:11 +01:00
Matthias Melcher 0d485b34a2
Fixing fl_complex_polygon() compilation for WIN32 (#571) 2022-12-05 19:57:30 +01:00
Matthias Melcher 9f92972729
Implement fl_complex_polygon() for OpenGL (#570) 2022-12-05 19:27:12 +01:00
ManoloFLTK a8923a0fd4 Wayland: remove regression in mandelbrot introduced by 1a5d657
The panel was drawn solid black when test/mandelbrot was unfocussed.
2022-12-04 12:29:24 +01:00
ManoloFLTK 1b938ab8b1 Fl_Cairo_Graphics_Driver: simpler way to construct font from name+size 2022-12-04 09:31:24 +01:00
ManoloFLTK 70e19a9e00 Fix dotted line drawing under Cairo graphics driver 2022-12-03 06:38:25 +01:00
ManoloFLTK e5c3caeb6b Fix text drawn by pango is offset +1 pixel on x and y) (#568) 2022-12-02 16:14:38 +01:00
Matthias Melcher 8b7021ba8b
Fluid: Keep widget panel open during undo/redo (#566) 2022-12-01 01:00:12 +01:00
Matthias Melcher bf825f8ebd
Add a unit test for drawing complex shapes (#565) 2022-11-30 22:40:52 +01:00
ManoloFLTK bc3bbb7ca0 Remove useless fl_matrix member variable of class Fl_Graphics_Driver 2022-11-30 18:57:39 +01:00
ManoloFLTK 67817f696c Remove small files fl_XXX_gl_platform_init.cxx
The single-function content of these files is moved to Fl_XXX_Gl_Window_Driver.cxx.
2022-11-30 17:51:35 +01:00
ManoloFLTK b7ce83c02b Remove superfluous friend declarations from class Fl_Graphics_Driver 2022-11-30 16:11:32 +01:00
ManoloFLTK 1b0754ce4d Build hybrid Wayland/X11 w/ configure: check for Xinerama, et al 2022-11-29 17:01:48 +01:00
ManoloFLTK 00884f28e2 Fix for issue [Cairo]: Arrows have a "gap" (#561)
The problem to fix is that the arrow drawn by draw_arrow1() in src/fl_symbols.cxx
displays a faint clear line between the stem and head of the arrow with the Cairo
graphics driver.

This occurs because draw_arrow1() draws the arrow in 2 steps (a rectangle +
a triangle) and the Cairo driver is configured to use antialiasing when filling
polygons. The antialiasing produces the faint line between stem and head.

Why does draw_arrow1() draw a rectangle + a triangle rather than a
7-vertex polygon? That's because the X11 graphics driver fails with its polygon-
drawing function when the polygon is also rotated: the polygon is drawn
empty.

We want to keep using antialiasing under Cairo for polygons because
the result is better with non horizontal/vertical polygon edges.

This implementation changes function draw_arrow1() which draws
the arrow as a 7-vertex filled polygon except when the graphics driver
returns false for its virtual member function can_fill_non_convex_polygon().
In that situation, draw_arrow1() draws, as before, a rectangle + a triangle.
The new, virtual member function can_fill_non_convex_polygon() returns
true except for the X11 graphics driver. Therefore, draw_arrow1() is effectively
unchanged under the X11 driver.
2022-11-29 12:28:31 +01:00
ManoloFLTK 7a42a80caf Undoing commit at f7a1777 that breaks X11 drawing
Under X11, rotated arrows loose their inside color with f7a1777
2022-11-29 10:46:39 +01:00
ManoloFLTK f7a1777017 Fix for issue: Arrows have a "gap" (#561) 2022-11-29 09:47:08 +01:00
Matthias Melcher 8f9728d511 Fix -o and -h command line arg handling 2022-11-29 00:05:00 +01:00
ManoloFLTK 401b3dc008 Doc: repeat that screens are numbered starting from 0 in the API 2022-11-28 10:08:44 +01:00
Matthias Melcher c827292ec9 Fix forgotten name change 2022-11-27 15:35:50 +01:00
ManoloFLTK 13e3a4c613 fltk-config from configure: remove libdecor-related flags - cont'd 2022-11-27 10:19:15 +01:00
ManoloFLTK acf7254fe8 macOS+OpenGL3: remove "warning: gl.h and gl3.h are both included" 2022-11-27 08:06:33 +01:00
Albrecht Schlosser bcb739f17f Update dependencies 2022-11-26 21:59:03 +01:00
Albrecht Schlosser 8ec935b4ce Simplify and improve "oxy" arrow drawing functions
- change drawing arrows from lines to polygons
- remove superfluous functions
- add more comments
2022-11-26 21:56:38 +01:00
Matthias Melcher 87fe29372c
Local undo per Fl_Text_Buffer and Fl_Input_ (#557) 2022-11-26 20:28:12 +01:00
Albrecht Schlosser 191aeefc4a Make the value box size of Fl_Value_Slider user settable (STR 3222)
For a very simple test program see STR 3222, File 2:
https://www.fltk.org/strfiles/3222/value_slider.cxx

Known issues:
 - range checking of the value box size is very limited
 - resizing the widget does not change the value box size
 - drawing issues are possible if the value box size and the widget
   size are not compatible (e.g. value box too large)
2022-11-26 19:56:32 +01:00
Matthias Melcher e1a781717e Remove unintentional C++11 2022-11-26 19:09:12 +01:00
ManoloFLTK 1d04c75508 fltk-config from configure: remove libdecor-related flags 2022-11-26 10:43:21 +01:00
Matthias Melcher 6e5c472cf9
Handle Fluid project settings better (#556)
Fix allocation bug in Fl_String
2022-11-26 01:35:50 +01:00
Albrecht Schlosser c1a7c4af04 Fix GitHub Actions (CI) for Windows builds
This was necessary because the latest GitHub "runner" image (20221120.1)
includes incompatible image libs (libjpeg, libpng, and zlib). This
caused `fluid-cmd.exe` to fail with error code -1073741511. For further
information please refer to this GitHub Issue:
  https://github.com/actions/runner-images/issues/6627

The previous runner version (20221027.1) did not include these libs
and our build used the internal libs and worked.

The fix is to disable the search for system libs in CMake.

Note: this does not explain *why* these libs are incompatible.
2022-11-25 17:24:18 +01:00
Matthias Melcher 130a504a39
Add i18n to test/preferences (#555)
To test the output of FLUID code and demonstrate
i18n, preferences emulates GNU gettext.
2022-11-25 16:58:50 +01:00
ManoloFLTK 4de491d02e Make Fl_XXX_Graphics_Driver::create_bitmask() a static member function 2022-11-25 15:53:28 +01:00
Albrecht Schlosser cda501f914 Fix silly Visual Studio compiler warnings in oxy scheme 2022-11-25 15:09:30 +01:00
Matthias Melcher ffc2caea07 Avoid thin gray line in round box in hires 2022-11-25 12:53:54 +01:00
ManoloFLTK 3dac8e379e CI build-Wayland: package libpangocairo-1.0-0 is installed by default 2022-11-25 12:45:47 +01:00
Matthias Melcher 09697c4738 Fix GDI graphics driver use for bitmasks 2022-11-25 10:52:46 +01:00