User: kikugie
Date: 01 Aug 24 11:08
Revision: 93be50594da1105874d960a8a873e301404c39ea
Summary:
Use `LayeredIcon` for mixin classes (#2340)
* Use layered icons for mixin classes
* Resize icons
* Remove outlines
* Use `IconLayerProvider`
* Clean up svg
TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=9522&personal=false
Index: src/main/kotlin/asset/MixinAssets.kt
===================================================================
--- src/main/kotlin/asset/MixinAssets.kt (revision e54877a7ab68d6ad87f32d951ec94ed428279d55)
+++ src/main/kotlin/asset/MixinAssets.kt (revision 93be50594da1105874d960a8a873e301404c39ea)
@@ -27,4 +27,6 @@
val MIXIN_CLASS_ICON = loadIcon("/assets/icons/mixin/mixin_class_gutter.png")
val MIXIN_CLASS_ICON_DARK = loadIcon("/assets/icons/mixin/mixin_class_gutter_dark.png")
+
+ val MIXIN_MARK = loadIcon("/assets/icons/mixin/mixin_mark.svg")
}
Index: src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt
===================================================================
--- src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt (revision e54877a7ab68d6ad87f32d951ec94ed428279d55)
+++ src/main/kotlin/platform/mixin/framework/MixinIconProvider.kt (revision 93be50594da1105874d960a8a873e301404c39ea)
@@ -21,15 +21,19 @@
package com.demonwav.mcdev.platform.mixin.framework
import com.demonwav.mcdev.MinecraftSettings
-import com.demonwav.mcdev.asset.PlatformAssets
+import com.demonwav.mcdev.asset.MixinAssets
import com.demonwav.mcdev.platform.mixin.util.isMixin
-import com.intellij.ide.IconProvider
+import com.intellij.ide.IconLayerProvider
+import com.intellij.openapi.util.Iconable
import com.intellij.psi.PsiClass
-import com.intellij.psi.PsiElement
+import javax.swing.Icon
-class MixinIconProvider : IconProvider() {
- override fun getIcon(element: PsiElement, flags: Int) =
- PlatformAssets.MIXIN_ICON.takeIf {
+class MixinIconProvider : IconLayerProvider {
+ override fun getLayerIcon(element: Iconable, isLocked: Boolean): Icon? =
+ MixinAssets.MIXIN_MARK.takeIf {
MinecraftSettings.instance.mixinClassIcon && element is PsiClass && element.isMixin
}
+
+ override fun getLayerDescription(): String =
+ "Mixin class"
}
Index: src/main/resources/META-INF/plugin.xml
===================================================================
--- src/main/resources/META-INF/plugin.xml (revision e54877a7ab68d6ad87f32d951ec94ed428279d55)
+++ src/main/resources/META-INF/plugin.xml (revision 93be50594da1105874d960a8a873e301404c39ea)
@@ -534,7 +534,7 @@
-
+
+
+