Jannis Weis
869b1d5b28
Windows: Only check for HTMAXBUTTON on Windows 11
...
Relates to #322
3 years ago
Jannis Weis
57411d725b
Windows: Wrap window pointers to enforce correct checking of NULL pointers
3 years ago
Jannis Weis
1771ece308
Expose bounds of title bar buttons
...
This is especially useful on macOS with fullSizeContentView enabled
to ensure components in the title bar area don't get obscured by the
buttons.
3 years ago
Jannis Weis
f2ea6571d0
Allow hiding the title of a window using a rootPane property
3 years ago
Jannis Weis
2a9efee3e5
Don't paint titlebar border when it isn't opaque
3 years ago
Jannis Weis
84078cea49
Replicate behaviour of apple.awt.* properties on macOS
...
We replicate the behaviour of apple.awt.fullWindowContent and
apple.awt.transparentTitleBar for the custom title bar.
3 years ago
Jannis Weis
48af720e7d
Move implementation of decorations into platform-decorations
3 years ago
Jannis Weis
3dba0f5a8c
Show window context menu when right-clicking anywhere on the title pane
3 years ago
Jannis Weis
a1a55db222
Extract decorations related constants into interface
3 years ago
Jannis Weis
aceed0cdd3
Move decorations related classes into platform-base
3 years ago
Jannis Weis
6945e5b244
Don't rely on specific LaF properties for windows title bar buttons
3 years ago
Jannis Weis
a52e69db39
Provide fallback color for dukes nose
3 years ago
Jannis Weis
0ad6d04ffa
Ensure titlebar font is installed the first time the laf is applied
3 years ago
Jannis Weis
3639369772
Ensure window title uses correct font on Windows
3 years ago
Jannis Weis
269e854279
Decorations: Adjust windows titlepane to height of title font
3 years ago
Jannis Weis
99833fcd04
Make platform.preferences usable as a standalone module
3 years ago
Jannis Weis
fa442a8bd3
Remove darklaf.properties dependency from windows and mac module
3 years ago
Jannis Weis
63c5a1b836
Extract system preference reporting mechanism to own module
...
To do this the following restructuring is performed:
- Move decorations specific classes to darklaf-platform-decorations
- Move SystemInfo to darklaf-platform-base
- Move theme specification specific classes to darklaf-theme-spec
- Create new module darklaf-platform-preferences for the reporting related classes
3 years ago
Jannis Weis
59ca3502c8
Build: Stub invisible modules to avoid compiler warnings
...
Some modules explicitly export only to darklaf.core, because
they are implementation modules. To avoid compiler warnings
we stub the module definition.
3 years ago
Jannis Weis
b4e38bd818
Windows: Use rcWork instead of rcMonitor in window bounds adjustments
...
The bottom would never be adjusted because of the taskbar.
3 years ago
Jannis Weis
4453ce13a7
Windows: Also extend client frame when running on Windows 11
...
Fixes #300
3 years ago
Jannis Weis
cd41dfec79
Modules: Export implementation classes only to darklaf.core
3 years ago
Jannis Weis
6afbb0145d
Format native code
3 years ago
Jannis Weis
6f72d285f3
Format svg files
3 years ago
Jannis Weis
52d0d13282
Fix license header year ranges
3 years ago
Jannis Weis
e2ceb6e662
Windows: Update close button background color for Windows 11
3 years ago
Jannis Weis
fc2732ea29
Windows: Fix incorrect maximize icon color
3 years ago
Jannis Weis
2b952fb9fa
Windows: Use constants defined in Windows 11 SDK instead of replicating them
3 years ago
Jannis Weis
df03d31e43
Windows: Set correct value for isWindows11 in SystemInfo through native code
...
Currently, the JDK doesn't correctly report the current operating system.
For now, we query the value ourselves using native code. This will be updated
once the JDK backport is available:
https://bugs.openjdk.java.net/browse/JDK-8274840
3 years ago
Jannis Weis
7197d08083
Windows: Update titlebar icons used on Windows 11
...
To maximize and restore icons look differently on Windows 11.
We update our versions accordingly when Windows 11 is detected.
3 years ago
Jannis Weis
7eef638c11
Windows: Support Windows 11 window snapping
...
When running on Windows 11 don't need to extend the client frame
anymore. This allows us to give back the titlebar space to the window manager.
Hovering over the maximize button now yields in the snapping popup to appear.
3 years ago
Jannis Weis
e9be5b9f67
Windows: Detect Windows 11 in native code.
3 years ago
Jannis Weis
02a15f1351
Rename isWindows10 to isWindows10OrGreater
...
This value does report true for Windows 11 and should indicate this in its name.
3 years ago
weisj
8539c5ec2f
Decorations: Make resize area smaller over window buttons
3 years ago
weisj
c190762ffa
Decorations: Adjust windows rect to have resize area outside frame
...
We should give the os enough space outside the frame to handle the
resize area itself.
This avoids issues with scrollbars at the window edge etc.
Fixes #266
3 years ago
weisj
812bf630da
Decorations: Mark popups as non-resizable on Windows
3 years ago
weisj
ca35e6ca67
Decorations: Remove DecorationsProvider#adjustWindowInsets
...
It was only used on Windows, where it is currently always
an effective no-op as the insets were adjusted by zero
values. In fact with non-zero adjustments the result was
an incorrectly sized window.
3 years ago
weisj
81fc63ff10
Windows: Fix errorprone warnings
3 years ago
weisj
f685afca0f
Build: Make library file names unique across target machines
...
This allows us to flatten the library directory. It also
enables the possibility of having all libraries inside the
same directory
Relates to #262
3 years ago
weisj
73692487ac
Decorations: Allow for back-stealing of the unified menubar
...
Fixes #258
3 years ago
weisj
12f68839df
Test: More tests about library packaging
3 years ago
weisj
774e4fea4d
Modules: Fix resource loading when running on the module path.
3 years ago
weisj
4283d52422
NativeUtils: Rename package from platform to nativeutil
3 years ago
weisj
be6fa54058
Modules: Move utils in darklaf to ui.utils to avoid split packages. Move classes in property-loader to the properties subpackage to avoid split packages.
3 years ago
weisj
e716522288
Build: Add and compile module info
...
We add a custom task to compile the module-info with a newer java version.
To ensure the module-info is correct we need to compile it together with all other project sources.
3 years ago
weisj
d80a42efdd
Native: Fix loading jawt.dll failing on some jdks
3 years ago
weisj
a2c3af4d86
Windows: Remove dependency on JNA
3 years ago
weisj
e174ff15ca
Actions+Native: Upload arm64 library on macOS.
...
Upload the arm64 library on macos so it can be consumed by the build on other platforms. We also print the file information to check that the produced library really targets the correct arch.
3 years ago
Jannis Weis
ba61872272
Build: Extract optimization level compiler arguments setup.
3 years ago
weisj
542dbf3cb7
Modules + MenuItem: Use java-compatibility.jar from intelliJ to replace swing internal api calls. Because this also replaces the MenuItemLayoutHelper we need to unify the implementation of DarkMenuItemUIBase and DarkMenuUI. This is done by extracting all functionality into the MenuItemUI interface for which the implementing classes need to provide the necessary details.
3 years ago