Commit Graph

9827 Commits

Author SHA1 Message Date
ManoloFLTK
9e7f49f56f Add missing member initialisation in Fl_Cairo_Graphics_Driver constructor. 2022-03-07 08:34:49 +01:00
ManoloFLTK
f8db18597a Complete class Fl_Cairo_Graphics_Driver using Fl_Wayland_Graphics_Driver 2022-03-06 19:47:06 +01:00
Albrecht Schlosser
272bc2560c Fix MSVC compiler warning
warning C4099: 'Fl_Menu_Item': type name first seen using 'struct'
  now seen using 'class'
2022-03-05 16:05:31 +01:00
Albrecht Schlosser
5ebb76050b Fix size_range() - continued (issue #392)
- fix window size of GL windows as reported for test/glpuzzle.cxx
- fix window not resizing on ctrl/+/- (X11 only)

Unfortunately the previous commit "optimized" a necessary X11 message
away. This is now fixed.

Fixes #392.
2022-03-05 15:50:49 +01:00
ManoloFLTK
c2c7795614 Rename Fl_wayland.cxx to fl_wayland_clipboard_dnd.cxx 2022-03-05 12:28:21 +01:00
ManoloFLTK
f5ad1d2545 Wayland: fix configure-based build 2022-03-05 10:18:11 +01:00
ManoloFLTK
c4ffbf9d8c Restore statement erroneously commented out. 2022-03-05 08:58:55 +01:00
ManoloFLTK
f66c142bbe Wayland: activate min window size to get feedback about impact on users 2022-03-05 08:35:33 +01:00
ManoloFLTK
6216165dec Add the Wayland platform to FLTK 1.4 - continued. 2022-03-04 16:58:20 +01:00
ManoloFLTK
d4e21963b5 Add build-wayland step to continuous integration. 2022-03-04 15:55:49 +01:00
ManoloFLTK
3718effc43 Add the Wayland platform to FLTK 1.4 2022-03-04 15:41:00 +01:00
Albrecht Schlosser
a773fdc44b Fix whitespace, update dependencies and fluid files 2022-03-03 17:20:24 +01:00
ManoloFLTK
d8cb8ec916 Fix for issue #401. No longer attempt to transiently inactivate the maximize button.
This inactivation works with some window managers, but not with KDE or xfce.
It's probably an issue of these WM rather than of FLTK.
2022-03-03 09:46:37 +01:00
Albrecht Schlosser
47154602dd Simplify internal Fl_WinAPI_Window_Driver::fake_X_wm() method
Add optional arguments 'style' and 'styleEx' to fake_X_wm().

Remove static function fake_X_wm_style() and include its code in the
Window driver method Fl_WinAPI_Window_Driver::fake_X_wm(). This
removes some calls and function arguments.
2022-03-01 13:45:51 +01:00
Albrecht Schlosser
091712bea8 Fix default size_range() calculation (issue #392, STR 3352) 2022-03-01 13:45:51 +01:00
ManoloFLTK
d4ceb20ad3 macOS: add how to install autoconf without brew 2022-02-27 21:32:07 +01:00
Albrecht Schlosser
fcf89b580e Fix Visual Studio build warnings in OpenGL graphics driver 2022-02-26 19:48:47 +01:00
Albrecht Schlosser
7810cda145 Fix Visual Studio build warnings 2022-02-26 18:19:43 +01:00
Albrecht Schlosser
e092b562ba Documentation: remove duplicate color name 2022-02-24 19:41:07 +01:00
Albrecht Schlosser
cdd1933661 X11: Disable "boxcheat" hack
For details see comment in src/Fl_x.cxx: this "Hack to speed up
bg box drawing" is now disabled for several reasons. The code
is still available if the macro ENABLE_BOXCHEAT is defined.
2022-02-22 19:55:11 +01:00
Albrecht Schlosser
406f2c33f4 Update dependencies 2022-02-21 20:44:04 +01:00
Albrecht Schlosser
84c06419bc Remove obsolete/disabled "boxcheat" code
Windows platform: Remove comments about obsolete code and one
exported declaration of the variable 'fl_background_pixel' which
is used only on the X11 platform.

X11 platform: Remove comments.

Other platforms: not affected.
2022-02-21 20:38:33 +01:00
Albrecht Schlosser
570a05a33c Fix compiler warning [-Wunused-but-set-variable] 2022-02-21 16:51:20 +01:00
Kevin Routley
2de8f8579c
DOC: Provide a link to the "FLTK Standard Box Types" image (#397)
* Provide a link to the "FLTK standard box types" image

The doc for Box Types has the text "see figure 1" which does not exist! [It is figure 5.3 in PDF, no number in HTML].

This change provides a hyperlink which allows the reader to actually navigate to the cited figure.

Confirmed to work as desired in HTML; I don't have LATEX so cannot confirm the PDF.

* Add figure title "Standard Box Types" (#397)

Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2022-02-21 16:42:08 +01:00
Matthias Melcher
72fe8c6035
Fluid: no grid on window resizing. (#399) 2022-02-20 22:03:39 +01:00
Matthias Melcher
a878e253ad
Fluid: fixed missing return value (#398)
...and possible devision by zero
2022-02-20 21:15:58 +01:00
Albrecht Schlosser
fd8170525b Fix typos and copyright 2022-02-19 12:55:06 +01:00
Albrecht Schlosser
ec974ce6b8 Update copyright year of documentation 2022-02-16 14:51:00 +01:00
Albrecht Schlosser
1cdd669dc6 Fix "fl_message_icon() regression" (#395)
Some attributes of the default message icon had not been copied to
the new Fl_Message class when opening a new dialog.

Clarify documentation about supported icon attributes.
2022-02-16 14:50:50 +01:00
Matthias Melcher
390095392b Adding comments to recent Fluid changes. 2022-02-14 13:20:34 +01:00
Matthias Melcher
8c3778e13f
Better Fluid Widget dimension controls (#394)
* Size and position widgets can evaluate basic math.

* Allowing x, y, w, and h as variables for formulas.

Also supporting 'i' as a counting index when selecting multiple
widgets, so setting Y: to i*25+10 arranges all selected widgets
vertically.

* Additional variables cx, etc. for children box

cx, cy, cw, ch
2022-02-13 22:01:16 +01:00
Kevin Routley
f196ffbb52
Fix documentation error in Fl_Tabs (#391) 2022-02-13 12:40:48 +01:00
Matthias Melcher
c9b44064d2
Fluid: adding feature: Functions can also be "local". (#390)
Before, Functions could only be "static" (keyword static is added)
or "global" (prototype is added). This is harmful if the function or
method was declared elsewhere. "local" solves that.
2022-02-13 00:54:44 +01:00
silverduner
52bfbbc2fa
expose position(int, int), x(), y(), w() and h() from Fl_File_Chooser (#80)
* expose position(int, int), x(), y(), w() and h() from Fl_File_Chooser for positioning

* exposed size() and resize() in Fl_File_Chooser.
2022-02-12 20:46:12 +01:00
Matthias Melcher
62daf00a9e Fixed Fluid Alignment panel i18n to none. 2022-02-11 16:00:37 +01:00
Albrecht Schlosser
f6c2531b5b Enable end user to copy standard dialog text to clipboard (#388)
All standard dialogs like fl_message() now handle command-c (macOS)
and ctrl-c (other platforms) to copy the message text of standard
dialogs to the clipboard as requested by GitHub Issue #388.
2022-02-09 16:33:55 +01:00
ManoloFLTK
9a326dbe01 Account for presence of terminal panel in the size_range() call. 2022-02-08 18:56:59 +01:00
ManoloFLTK
bf16e4e8aa More detailed doc of Fl_Window::decorated_h() for X11 platform. 2022-02-08 08:03:35 +01:00
ManoloFLTK
01db172010 Fix for issue #373 apparent with macOS platform and SDK ≤ 10.13
Many thanks to @CendioOssman for finding the cure.
2022-02-08 07:16:37 +01:00
ManoloFLTK
53605ba055 Add note about use of Fl_Window::decorated_h() under the X11 platform. 2022-02-07 19:14:09 +01:00
Matthias Melcher
db0a1f4bae
OpenGL implementation of all fl_ "Drawing Fast Shapes" graphics calls (#385)
* Fix build system for unites,

* Updated unittest to check OpenGL drawing.

Making sure that OpenGL drawing is exactly the same
as native drawing to make FLTK widget rendering
look the same in GL windows.

* Make OpenGL optional.

* Implemented clipping in OpenGL

* unites drawing fast shapes

* Fixed CMake

* Updating unittest.

Added tests for fl_pi and fl_arc (int)
Renamed tab to render complex shapes.

* Improved OpenGL FLTK drawing emulation.

* Fixed GTK ROUND DOWN BOX

* Fixing Makefile for unittest

* Correctly aligning OpenGL text.

* Fixed text alignment in GL windows.

Explained the "FLTK over GL " example in Cube.

* Overlapping test.

* Better GL graphics alignment.

* Drawing the focus rect.

* Adding Alpha Channel support for GL.

* Added FLTK-on-GL documentation.
2022-02-06 15:22:24 +01:00
Albrecht Schlosser
af4954aee3 CMake/macOS: build arm files for libpng only on ARM
Remove macOS warning "ranlib: file ... has no symbols" although this
works only partially (see comment in png/CMakeLists.txt).
2022-02-05 21:37:37 +01:00
Albrecht Schlosser
6f09219c43 CMake: Remove unnecessary file from build system
Remove macOS warning "ranlib: file ... has no symbols".
2022-02-05 21:36:48 +01:00
ManoloFLTK
2ef4a81d18 Minor improvement in Fl_Mac_App_Menu::custom_application_menu_items(). 2022-02-05 09:01:51 +01:00
Albrecht Schlosser
e73f9d466d Rearrange "Print Button Window" functions
- Rename Fl_Screen_Driver::print_or_copy_window() to
    fl_print_or_copy_window()
- Add header file src/print_button.h
- Update dependencies
2022-02-03 21:57:47 +01:00
Albrecht Schlosser
c483c4c5de Fl_Preferences (X11): Fix detection of preferences directory
- Fix compiler warning [-Wmaybe-uninitialized] for variable home
- Reformat enum 'Root' for better readability
- Add new enum values CORE_SYSTEM_L and CORE_USER_L
- Improve documentation (deprecated and new enums)
- Initialize internal static variable 'filename' which could be used
  uninitialized and thus return any previous value (type == MEMORY)
2022-02-03 20:46:13 +01:00
Albrecht Schlosser
80a22e97e8 Fl_Timeout: Remove compiler warning [-Wclass-memaccess]
Also: fix doxygen warning
2022-02-03 19:56:47 +01:00
Albrecht Schlosser
4eaa6dfd0d Remove platform #ifdef from macOS native filechooser 2022-02-03 19:38:33 +01:00
ManoloFLTK
2e6e0b9c36 Reorganize classes Fl_System_Driver and Fl_Screen_Driver
These virtual members are moved from Fl_Screen_Driver to Fl_System_Driver
- wait(double)
- ready()

These virtual members are moved from Fl_System_Driver to Fl_Screen_Driver
- copy(const char *stuff, int len, int clipboard, const char *type)
- void paste(Fl_Widget &widget, int clipboard, const char *type)
- clipboard_contains(const char *type)
- clipboard_notify_change()

These members are moved from Fl_X11_Screen_Driver to Fl_X11_System_Driver
- poll_or_select_with_delay(double time_to_wait)
- poll_or_select()
and are made virtual in preparation for the introduction of class
Fl_Unix_System_Driver.
2022-02-03 07:03:44 +01:00
ManoloFLTK
d9451a8669 Add platform-independent Fl_Screen_Driver::print_or_copy_window().
This member function is available for all platforms to print or copy the front window
with or without its titlebar.
2022-02-02 14:55:48 +01:00