66 Commits

Author SHA1 Message Date
Karl Tauber
c8e2e78955 Gradle: use configuration cache 2025-11-25 11:51:41 +01:00
Karl Tauber
02f7cb8972 update to Gradle 9.2.0; always use Java 25 toolchain to generate javadoc
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
Fonts / Fonts (inter) (push) Has been cancelled
Fonts / Fonts (jetbrains-mono) (push) Has been cancelled
Fonts / Fonts (roboto) (push) Has been cancelled
Fonts / Fonts (roboto-mono) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
Notes:
- Gradle 9+ requires Java 17 to run
- using Java 21 on GitHub Actions
- not using Java 25 because Kotlin does not yet support it and output some warnings
2025-10-31 23:52:08 +01:00
Karl Tauber
10677d469f flatlaf-natives-windows: fixed link error on GitHub Actions
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
for some unknown reason (maybe newer Visual C++ version),
MSVC on GitHub Actions no longer inlines methods `wcscpy` and `wcslen`,
which results in linker error:
`error LNK2019: unresolved external symbol wcscpy/wcslen`
2025-10-31 12:01:20 +01:00
Karl Tauber
3ccaacfb00 Native window decorations: updated com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h for commit 34b19f00e4 2025-10-28 12:27:50 +01:00
Karl Tauber
299250a710 System File Chooser: change @since 3.6 to @since 3.7 2025-10-27 18:06:41 +01:00
Karl Tauber
3e8b213367 System File Chooser: fixed font in message dialog on Windows 2025-03-20 19:12:10 +01:00
Karl Tauber
0a4c01cd40 Merge main into system-file-chooser 2025-01-18 17:53:04 +01:00
Karl Tauber
91f19bf94c Native Libraries:
- Linux: added dumps
- macOS: replaced deprecated Gradle `exec`
2025-01-18 16:53:30 +01:00
Karl Tauber
0ea188f8db Linux: support cross-compile native library for ARM64 on x86_64 Linux (issue #899) 2025-01-18 14:50:42 +01:00
Karl Tauber
d513ec497b System File Chooser: support system message dialog with custom buttons on Windows (not yet used in SystemFileChooser 2025-01-15 18:51:37 +01:00
Karl Tauber
07fc190b5f Native Libraries: moved code to JNIUtils.cpp and *MessageDialog.cpp 2025-01-14 16:50:13 +01:00
Karl Tauber
d49282dfe8 System File Chooser: support "approve" callback and system message dialog on Windows and Linux (not yet used in SystemFileChooser 2025-01-12 01:40:12 +01:00
Karl Tauber
251198c66d Native Libraries:
- made C methods `static` (similar to `private` in Java) to avoid that they are added (exported) to shared library symbol table
- macOS and Linux: added `-fvisibility=hidden` to compiler options to mark C methods hidden by default
2025-01-08 12:59:38 +01:00
Karl Tauber
91e8d04a9f System File Chooser: introduced class SystemFileChooser as replacement for JFileChooser 2025-01-06 18:01:50 +01:00
Karl Tauber
9453d55abd System File Chooser: fixes for Windows 2025-01-04 12:33:18 +01:00
Karl Tauber
49a0a83eca System File Chooser: implemented native bindings for IFileOpenDialog and IFileSaveDialog on Windows 2024-12-31 17:39:44 +01:00
Karl Tauber
e064c934cb Windows: fixed detection of Windows 11 if custom exe launcher does not specify Windows 10+ compatibility in application manifest (issue #916)
Some checks failed
CI / build (11, ) (push) Has been cancelled
CI / build (17, ) (push) Has been cancelled
CI / build (21, ) (push) Has been cancelled
CI / build (23, ) (push) Has been cancelled
CI / build (8, ) (push) Has been cancelled
Native Libraries / Natives (macos) (push) Has been cancelled
Native Libraries / Natives (ubuntu) (push) Has been cancelled
Native Libraries / Natives (windows) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
Windows binaries built and signed locally in clean workspace
2024-11-28 14:12:56 +01:00
Karl Tauber
c37712b0f0 Windows: fixed wrong layout in maximized frame after changing screen scale factor (issue #904)
Some checks failed
CI / build (11, ) (push) Has been cancelled
CI / build (17, ) (push) Has been cancelled
CI / build (21, ) (push) Has been cancelled
CI / build (23, ) (push) Has been cancelled
CI / build (8, ) (push) Has been cancelled
Native Libraries / Natives (macos) (push) Has been cancelled
Native Libraries / Natives (ubuntu) (push) Has been cancelled
Native Libraries / Natives (windows) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
Windows binaries built and signed locally in clean workspace
2024-11-17 19:41:54 +01:00
Karl Tauber
72a4c00e72 Window decorations: fixed black line sometimes painted on top of (native) window border on Windows 11 (issue #852)
Windows binaries built and signed locally in clean workspace
2024-06-21 19:58:36 +02:00
Karl Tauber
32d102dbc9 Native Libraries: added API version to:
- test whether native library matches the JAR (bad builds could e.g. ship a newer JAR with an older incompatible native library)
- invoke a method (to get API version) to check whether native library works correctly

if API version do not match, or method could not invoked correctly, disable usage of FlatLaf native library

Windows and macOS binaries built and signed locally in clean workspace
Linux binary built by GitHub Actions
2024-03-24 16:37:11 +01:00
Karl Tauber
55ddac2bc7 Gradle: use simpler Kotlin DSL property assignment
https://blog.gradle.org/simpler-kotlin-dsl-property-assignment
2024-03-23 13:56:47 +01:00
Karl Tauber
c85baf4dc6 flatlaf-natives-windows: fixed invocation of GetMonitorInfo() (issue #798)
also removed unnecessary setting `mii.fType`
2024-01-23 15:54:44 +01:00
Karl Tauber
6f32236fb7 macOS: native rounded borders for popups (issue #715) 2023-12-09 16:12:35 +01:00
Karl Tauber
7f6f366744 flatlaf-natives-windows: support DWM attributes DWMWA_USE_IMMERSIVE_DARK_MODE, DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR (all unused in FlatLaf core) 2023-12-07 18:53:45 +01:00
Karl Tauber
c953ff84d0 added explicit file encoding for Eclipse projects 2023-08-12 22:45:02 +02:00
Karl Tauber
96cd207df3 README.md: minor updates 2023-08-12 17:04:21 +02:00
Karl Tauber
52bae9dfb0 Windows on ARM:
- changed DLL filename from aarch64 to arm64
- publish ARM DLL to Maven Central
2023-08-05 16:11:46 +02:00
Sung Ho Yoon
b75f22b7bd Add windows-aarch64 build configuration 2023-08-04 19:19:06 +09:00
Karl Tauber
98f8557392 flatlaf-natives-windows: reworked linking/loading of jawt.dll; now loading jawt.dll when first used (issue #673) 2023-07-01 18:16:59 +02:00
Karl Tauber
07ad467c73 Windows 11: use rounded popups with system border and system drop shadow 2023-01-26 18:13:26 +01:00
Karl Tauber
c9b5274ccf flatlaf-natives-windows: reworked memory allocation error handling 2022-11-26 19:05:24 +01:00
Karl Tauber
c3adadfe2f flatlaf-natives-windows: fixed compile and link errors 2022-11-23 21:27:55 +01:00
John Platts
f7be12df67 Add AllocRoutines.h include 2022-09-19 14:23:51 -05:00
John Platts
a1d1e221ae Remove operator new and operator delete overloads from Runtime.cpp
The ```operator new``` and ```operator delete``` overloads in Runtime.cpp are replaced by placement ```operator new``` and ```operator delete``` operators in AllocRoutines.h that take a const FlatLafNoThrowT& placement parameter.

Using ```new (FlatLafNoThrow) FlatWndProc``` instead of ```new FlatWndProc``` also allows for inlining by the C++ compiler.
2022-09-19 14:23:16 -05:00
John Platts
0a4dc54fb9 Update put and ensureCapacity routines 2022-09-19 14:17:37 -05:00
John Platts
b8c7801365 Change ensureCapacity method to return a bool 2022-09-19 14:06:26 -05:00
John Platts
a7099c039f Rename allocation functions 2022-09-19 13:57:25 -05:00
John Platts
a4d2d347e3 Change put method to return a bool 2022-09-19 13:56:28 -05:00
John Platts
829c537fd3 Add checks for allocation failure 2022-09-19 13:55:33 -05:00
John Platts
28437f99cf Update new and delete FlatWndProc.cpp 2022-09-19 13:53:33 -05:00
John Platts
c1402d85e1 Update HWNDMap.h 2022-09-19 13:39:47 -05:00
John Platts
32e071ab89 Update AllocRoutines.h 2022-09-19 13:36:10 -05:00
John Platts
01125e030e Create AllocRoutines.h 2022-09-19 13:26:33 -05:00
John Platts
b43278439a Delete AllocRoutines.h 2022-09-19 13:26:01 -05:00
John Platts
7a445aabd7 Create AllocRoutines.h 2022-09-19 13:25:26 -05:00
Karl Tauber
fb4576fc1b Linux: use X11 window manager events to move window and to show window menu (right-click on window title bar), if custom window decorations are enabled (issue #482) 2022-08-20 21:09:49 +02:00
Karl Tauber
99666265c9 gradle:
- use gradle `cpp-library` plugin instead of 3rd party plugin
- build natives only via task `build-natives`
2022-04-21 12:58:16 +02:00
Karl Tauber
3a8879608a Native window decorations: fixed wrong window title character encoding used in Windows taskbar (issue #502) 2022-03-17 22:31:18 +01:00
Karl Tauber
2e222bcdea Native window decorations (Windows 10/11 only): fixed rendering artifacts on HiDPI screens when dragging window partly offscreen and back into screen bounds (issue #477) 2022-02-18 22:24:36 +01:00
Karl Tauber
fb37be5734 Native window decorations: show (system) tooltips for minimize/maximize/close buttons on Windows 10 and for minimize/close buttons on Windows 11 (issues #397 and #407) 2021-11-09 18:21:17 +01:00