Jannis Weis
1cc0cd20f0
Build: Automatically patch execution tasks to run on module path
3 years ago
Jannis Weis
b2cec3ef34
Icons: Share complete state of SVGDocument by reference
...
If we don't do this then the following will happen:
1. Icon A is derived to icon B. This will copy a null document
to icon B. Also the loaded state is copied (which is an AtomicBoolean).
2. Icon A is loaded setting the loaded state to true. This also affects icon B.
3. Icon B thinks it is loaded but has null document.
3 years ago
Jannis Weis
56268d1115
Icons: Ensure loaded svg document isn't null
3 years ago
weisj
d24e3ba741
Icons: Replace svgSalamander with JSVG
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
abcdb9b573
Build: Update nullabilityAnnotations to version 23.0.0
3 years ago
Jannis Weis
25618d5fa7
Setup dependency catalog in settings.gradle.kts
...
This allows us to move the dependency versions back into
gradle.properties so version for plugins and dependencies are declared
in a centralized way.
This commit also removes the legacy macOS framework dependencies.
3 years ago
weisj
048dbd4087
PropertyLoader: Fix errorprone warnings
3 years ago
weisj
f8bf001609
Test: Disable flaky tests
3 years ago
weisj
55cc5116ce
Icon: Break early if no value match is found
3 years ago
weisj
98d398ba5c
Abstract usage of IconLoader away into an interface
...
This opens up the possibility of providing custom icons
through themes.
3 years ago
weisj
ccf1743467
IconLoader: Cleanup
3 years ago
weisj
c7cb00cfef
IconLoader: Clear cache when caching is disabled
3 years ago
weisj
cb7eb13b5f
Tests: Ensure expected state of icon loader
3 years ago
weisj
b1e18d6df3
Tests: Test icons loaded by themes are reclaimed
3 years ago
weisj
126670c6d9
IconLoader: Replace hard cache with SoftCache
3 years ago
weisj
627f80ce05
Theme: Add convenience constants for the color palette
3 years ago
weisj
1f6eb6ecf8
PropertyLoader: Drop support for color values without a leading #
3 years ago
weisj
c43cbbc62e
Parser: Change inline prefix from `#` to '%'
...
Previously inline color declarations would need to be declared with two leading `#` being error prone to forgetting the second `#`.
3 years ago
weisj
e0bd43dc06
Icons: Fix url discrepancy when running on module path
...
When running on the module path the url returned by `Class::getResource` would start with jar:file:/// instead of the jar:file:/ from the class loader. This messes up the uri resolving for patched icons.
3 years ago
weisj
774e4fea4d
Modules: Fix resource loading when running on the module path.
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
aab96b6471
API: Move ColorUtil into util project as it is referenced there.
3 years ago
weisj
f1e1db4549
API: Move color package from utils project to property-loader project to avoid split packages.
3 years ago
weisj
54bd006ad2
Parser: Fix insets test.
...
We should check whether insets.top is a valid color instead of checking insets.right twice.
3 years ago
weisj
34f63b4e16
Test: Fix typo
3 years ago
weisj
7124da004d
SVG: Write back fallback-opacity values to the internal svg representation s.t. it doesn't get lost during laf change.
4 years ago
weisj
fe19e2ebd2
Provide mechanism to specify VisualPaddings for svg icons in the xml markup.
4 years ago
weisj
3457eeb694
Memory: Ensure shared static helpers don't prevent ui classes from being garbage collected.
4 years ago
weisj
3f16eec70c
Fix theme properties not being displayed in the generated UITable.
...
Improve sorting of values.
4 years ago
weisj
b5da5cdb2d
Check if text antialiasing hint isn't null.
4 years ago
weisj
5580656e79
Build: Update to Gradle 7
...
Upgrade gradle version to 7.0. Make use of typesafe project and library accessors. These replace the current bom project.
Handle different xCode version on macOS.
4 years ago
weisj
37ed8e158b
SVGIcon: Pass component as image observer when painting the off-screen buffer.
4 years ago
weisj
f611ac25e6
SVGIcon: Formatting
4 years ago
weisj
7d9e7d73b7
Update year in LICENSE.
4 years ago
weisj
f161b369ec
Mark more log statements as level=Finer.
4 years ago
weisj
c931ccac75
Add #toString implementation for svg icons.
4 years ago
weisj
09083f0bfb
Introduce string literal syntax and load some icon colors trough deferred property resolution at patch time.
4 years ago
weisj
dda49f082b
Log image buffer creation on finer level.
4 years ago
weisj
8fc941b65f
Use correct size when creating image. Relates to #231
4 years ago
weisj
2bd096c69c
Log icon size and scale.
4 years ago
weisj
4add8d6a0e
Also check integer values for possible clash with color range in dimension test.
4 years ago
weisj
c2f93043bf
Ensure proper antialiasing when painting icons to off-screen buffer.
4 years ago
weisj
47332d3446
Add support for legacy color declarations without '#' prefix.
4 years ago
weisj
c05082665b
Avoid creating derived instances with the same size as the icon.
...
Even though the check may cause the icon(uri) to be loaded this
avoid painting to multiple off-screen images when the icon size is only
inferred from the svg hence causing multiple instances of the same icon with
the same size.
Note that this check will only cause the icon to be loaded if the icon size is
inferred.
4 years ago
weisj
2cf2cfa444
Infer icon size for svg icons, when no size is given.
...
Icons can be scaled to fit a specific size if both arguments are the same and negative (< -1).
4 years ago
weisj
f5d7873a23
Require colors to start with #. This avoid ambiguity between numbers and colors.
4 years ago
weisj
3ab63d64a0
Update Parser tests with new delimiters
4 years ago