Commit Graph

285 Commits

Author SHA1 Message Date
ManoloFLTK
ae55a42c71 Quick fix for Windows Ctrl character handling - cont'd 2024-10-27 00:14:09 +02:00
Matthias Melcher
2834213815 Reverting false Ctrl Key fix on Windows
- 1ae43956e2
2024-09-02 11:59:36 +02:00
Matthias Melcher
1ae43956e2 Quick fix for Window Ctrl charcter handling.
This is needed to allow platform compatibel e_text and e_length, but a lot more work ist needed to unify keyboard
handling
2024-08-23 12:43:21 +02:00
ManoloFLTK
f3f69b892d Remove useless Fl_Window_Driver accessors after new member Fl_Window::get_size_range() 2024-05-27 11:39:27 +02:00
Albrecht Schlosser
da58045c23 Remove unused variables, fix compiler warnings 2024-05-09 19:55:53 +02:00
ManoloFLTK
9472ff546c Implement and document new class Fl_PDF_File_Surface 2024-04-30 10:22:47 +02:00
Albrecht Schlosser
e9e5f4bdb1 Remove "MS" from "MS Windows" in docs code, and comments
The system (platform) is called "Windows", "MS Windows" doesn't make
much sense. I removed "MS" for consistency.
2024-04-13 21:49:27 +02:00
Albrecht Schlosser
d832ab742a Fix Visual Studio compiler warnings 2024-03-03 16:15:43 +01:00
ManoloFLTK
cc15700bdb Windows: improve changing scale values of display while app runs. 2024-03-01 14:00:43 +01:00
ManoloFLTK
0eef561e7b Windows: make Ctrl/+/-/0/ scaling system-wide if all screens have same DPI 2024-03-01 11:11:15 +01:00
Matthias Melcher
faff63130c Fix cached GL context on all platforms (#737) 2024-01-29 14:01:41 +01:00
MatthiasWM
6ac3e8e230 #840: Fixes fixed buffer size in Fl::args_to_utf8() 2023-12-13 20:00:49 +01:00
Albrecht Schlosser
727bd94560 Add commandline conversion for Windows (no-op on other platforms)
- add Fl::args_to_utf8() to convert commandline arguments to UTF-8

This new function closes the gap that previously only Visual Studio
applications converted their commandlines to UTF-8.

Tested with MinGW, MSYS2/MinGW-w64, and Visual Studio (2019).
2023-11-29 16:29:54 +01:00
MatthiasWM
75c879e2ff Implements swap_interval for MSWindows. 2023-11-29 13:16:24 +01:00
ManoloFLTK
acc96cdf56 CHANGES.txt: add Fl_Grid, Fl_Window::maximize()
Also, remove stray virtual keyword.
2023-11-06 07:44:55 +01:00
ManoloFLTK
0ae927a00e Add Fl_Window::maximize() and Fl_Window::un_maximize() 2023-11-05 19:42:55 +01:00
Matthias Melcher
c41b3a1a64
Fixes fl_filename_relative on Linux, Mac, and Windows (#787)
* fixed filename_relative for Linux
* Fixing fl_filename_relative for MSWindows.
* Update documentation
* Fixed docs.
* Fixes Linux and macOS builds
2023-10-11 23:26:36 +02:00
Matthias Melcher
6bb5a81cee Adds some convenience methods.
fl_filename_absolute can no generate a path using arbitrary source paths.
Fl_Menu_ adds find_item_with_user_data and find_item_with_argument
Fl_String adds find(string, start)
2023-09-05 14:45:57 +02:00
Albrecht Schlosser
6f77f40aad Windows: define _WIN32_IE for older MinGW versions (#710)
... if _WIN32_IE is not defined. Older MinGW versions would
otherwise not define SHGFP_TYPE_CURRENT which is needed since
commit 5a4e7caa54 that fixes
GitHub issue #710: "Fl_Preferences not stored on Windows 10".

This commit is based on Ian's work as discussed in fltk.coredev, thread
"fltk-1.4 build error in Fl_WinAPI_System_Driver.cxx with 32-bit mingw"
on Apr 20, 2023.
2023-04-24 14:26:56 +02:00
ManoloFLTK
4bf9172a8e Replace internal fl_create_offscreen() calls by new Fl_Image_Surface 2023-04-23 10:03:02 +02:00
Albrecht Schlosser
5a4e7caa54 Windows: use SHGetFolderPathW() for application data folder (#710)
See GitHub issue #710: "Fl_Preferences not stored on Windows 10"

Summary: don't use the undocumented registry key "Shell Folders",
use function SHGetFolderPathW() instead although this function is
meanwhile deprecated (but available since Windows XP).

Note: tested with 32-bit build running on Windows XP (works).
2023-03-27 19:51:09 +02:00
ManoloFLTK
b98aa7bee6 Remove extraneous Wayland-related comment from Windows code 2023-03-22 21:05:28 +01:00
ManoloFLTK
9958016a47 Windows: minor change to support build with mingw64 4.9
This old compiler is available as a cross compiler from macOS to 64-bit Windows.
2023-02-13 12:24:27 +01:00
Matthias Melcher
5a25641317
Very controlled GDIplus startup and shutdown #635 (#679)
Fall back to GDI if GDIplus is not available
2023-02-11 19:14:23 +01:00
Matthias Melcher
7f87c847ba
Unlimited undo/redo for Fl_Input_ and Fl_Text_Buffer (#558) (#676) 2023-02-10 17:13:20 +01:00
ManoloFLTK
f3e21ddad2 Fix for "Rename Fl_X* Fl_Window::i private class member" (#223) 2023-01-13 21:16:17 +01:00
ManoloFLTK
9bdaf5a84d Virtual member Fl_Window_Driver::makeWindow() now returns void 2023-01-09 17:35:38 +01:00
Albrecht Schlosser
22a830c496 Fix missing include file for Visual Studio
... if GDIPLUS is disabled.

Thanks to Winfried Szukalski for reporting this.
2023-01-02 21:21:04 +01:00
Matthias Melcher
44c874b731
Use FL_OVERRIDE for all overridden virtual methods (#611)
FL_OVERRIDE is defined as `override` for C++11 and higher
FL_OVERRIDE is defined as `override` for VisualC 2015 and newer
Don't interfere with Fl_Widget::override()
2022-12-30 19:14:36 +01:00
ManoloFLTK
5b6d5f9279 Remove further unused code after 12da87b 2022-12-17 19:12:53 +01:00
ManoloFLTK
2c1bb09578 Remove useless Fl_System_Driver members after 12da87b 2022-12-17 18:20:53 +01:00
Albrecht Schlosser
8dea6505e9 Windows: fix memory leak caused by RegisterDragDrop (#569)
- call RevokeDragDrop() when the window is hidden
- do not delete the *static* FLDropTarget object
2022-12-10 15:03:30 +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
7f8f7c5b85 Add support of .svgz image files to fluid
The  prototype of the public Fl_SVG_Image constructor is expanded
to allow construction from in-memory, gzip'ed binary data.
2022-11-15 10:09:01 +01:00
Albrecht Schlosser
74b9d5fb05 Remove redundant doxygen docs of fl_beep()
Also add a comment to all platform driver implementations.
2022-11-11 16:52:08 +01:00
ManoloFLTK
37bf3835b0 Create class Fl_Unix_Screen_Driver used by X11 and Wayland platforms 2022-11-07 06:49:40 +01:00
ManoloFLTK
4b70bc32c5 Add missing return value to Fl_WinAPI_Gl_Window_Driver::create_gl_context() 2022-10-02 21:37:35 +02:00
ManoloFLTK
1fc23f8506 Clean use of virtual GLContext Fl_Gl_Window_Driver::create_gl_context(). 2022-10-02 13:35:53 +02:00
ManoloFLTK
0627213a82 FLTK widgets in OpenGL 3 windows: rewrite for driver system. 2022-09-30 19:25:23 +02:00
ManoloFLTK
2ffd4e4f1a Replace all calls to sprintf() by calls to snprintf(). 2022-09-26 16:12:18 +02:00
ManoloFLTK
b75d7526fd Simplify Fl_Window_Driver::screen_num() member functions. 2022-09-01 11:55:41 +02:00
ManoloFLTK
c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
ManoloFLTK
7deff86b5d Remove FL_EXPORT qualifier from platform-specific class declarations. 2022-08-20 10:16:32 +02:00
ManoloFLTK
02870242ee Move input method support to Fl_Screen_Driver from Fl_Graphics_Driver 2022-06-19 10:23:24 +02:00
MatthiasWM
1b1e8a4d46 Issue #141: fl_filename_absolute bugs fixed for MSWindows. 2022-06-12 14:53:06 +02:00
ManoloFLTK
1d64b78554 Change protection levels in classes Fl_XXX_Gl_Window_Driver 2022-05-07 15:16:29 +02:00
ManoloFLTK
217120c281 Move struct shape_data_type inside Fl_XXX_Window_Driver. 2022-05-05 18:57:07 +02:00
ManoloFLTK
fad867a5d3 Modify test/cairo_test.cxx to show roles of OPTION_CAIRO and OPTION_CAIROEXT.
Also make clear that these options require, for now, Fl_Double_Window to work cross-platform.
2022-04-12 09:20:34 +02:00
Albrecht Schlosser
717a7d266b Remove '#include <sys/stat.h>' from FL/platform_types.h
- Add this include statement only where needed.
- Rename Fl_System_Driver::stat() to flstat().

This fixes an issue when using some (!) MinGW 64-bit build systems
that obviously '#define stat _stat64' or similar. This would
result in compiler problems if 'stat()' is a member function of
Fl_System_Driver.
2022-04-03 22:01:41 +02:00
Albrecht Schlosser
e91d65cd2f Fix whitespace errors (no code changes) 2022-03-31 16:00:11 +02:00