Package-level declarations

Types

Link copied to clipboard
class BadgePainter(source: Painter, color: Color, shape: BadgeShape) : DelegatePainter

Paints a badge over the source.

Link copied to clipboard
@Immutable
interface BitmapPainterHint : PainterHint

Mark this PainterHint just available with Bitmap images.

Link copied to clipboard

The default PainterHintsProvider to load dark theme icon variants. It will provide the Dark hint when org.jetbrains.jewel.LocalIsDarkTheme is true.

Link copied to clipboard
open class DelegatePainter(delegate: Painter) : Painter

A painter that delegates drawing to another Painter, but can apply custom alphas, filters and layoutDirection to it.

Link copied to clipboard
@Immutable
sealed interface PainterHint

A PainterHint is a hint for PainterProvider on how to load a Painter. It can used to patch the path of the resource being loaded (e.g., for New UI icon path mapping, and handling the dark theme variants), replace colors in an SVG based on the theme palette, etc.

Link copied to clipboard
@Immutable
interface PainterHintsProvider

Provides hints to a PainterProvider.

Link copied to clipboard
@Immutable
interface PainterPathHint : PainterHint

A PainterHint that modifies the path of the resource being loaded. Usage examples are applying the New UI icon mappings, or picking up dark theme variants of icons.

Link copied to clipboard
@Immutable
abstract class PainterPrefixHint : PainterPathHint

A PainterHint that adds a prefix to a resource file name, without changing the rest of the path. For example, if the original path is icons/MyIcon.svg, and the prefix is Dark, the patched path will be icons/DarkMyIcon.svg.

Link copied to clipboard
interface PainterProvider

Provides a Painter for an image, which may be transformed by the provided hints.

Link copied to clipboard
interface PainterProviderScope : Density
Link copied to clipboard
@Immutable
abstract class PainterSuffixHint : PainterPathHint

A PainterHint that adds a suffix to a resource file name, without changing the rest of the path nor the extension. For example, if the original path is icons/MyIcon.svg, and the suffix is _dark, the patched path will be icons/MyIcon_dark.svg.

Link copied to clipboard
@Immutable
interface PainterSvgPatchHint : SvgPainterHint

A PainterHint that patches the content of SVG resources. It is only applied to SVG resources; it doesn't affect other types of resources.

Link copied to clipboard
@Immutable
interface PainterWrapperHint : PainterHint
Link copied to clipboard
abstract class PalettePainterHintsProvider(isDark: Boolean, intellijIconPalette: Map<String, String?>, themeIconPalette: Map<String, String?>, themeColorPalette: Map<String, Color?>) : PainterHintsProvider

Provides the default PainterHints to use to load images.

Link copied to clipboard
class ResizedPainter(delegate: Painter, size: Size) : DelegatePainter

A delegate painter that overrides the intrinsic size of the delegate.

Link copied to clipboard
class ResourcePainterProvider(basePath: String, classLoaders: ClassLoader) : PainterProvider

Provide Painter by resources in the module and jars, it use the ResourceResolver to load resources.

Link copied to clipboard
@Immutable
interface SvgPainterHint : PainterHint

Mark this PainterHint just available with SVG images.

Link copied to clipboard
@Immutable
interface XmlPainterHint : PainterHint

Mark this PainterHint just available with XML images.

Properties

Link copied to clipboard
val LocalPainterHintsProvider: ProvidableCompositionLocal<PainterHintsProvider>

Functions

Link copied to clipboard
@Composable
fun rememberResourcePainterProvider(path: String, iconClass: Class<*>): PainterProvider
@Composable
fun rememberResourcePainterProvider(iconKey: IconKey, iconClass: Class<*> = iconKey::class.java): PainterProvider