You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
package common |
|
|
|
import androidx.compose.material.icons.Icons |
|
import androidx.compose.material.icons.filled.Description |
|
import androidx.compose.runtime.Composable |
|
import androidx.compose.runtime.remember |
|
import androidx.compose.runtime.staticCompositionLocalOf |
|
import androidx.compose.ui.ExperimentalComposeUiApi |
|
import androidx.compose.ui.graphics.Color |
|
import androidx.compose.ui.graphics.vector.ImageVector |
|
import androidx.compose.ui.graphics.vector.RenderVectorGroup |
|
import androidx.compose.ui.graphics.vector.VectorPainter |
|
import androidx.compose.ui.graphics.vector.rememberVectorPainter |
|
|
|
val LocalAppResources = staticCompositionLocalOf<AppResources> { |
|
error("LocalNotepadResources isn't provided") |
|
} |
|
|
|
@Composable |
|
fun rememberAppResources(): AppResources { |
|
val icon = rememberVectorPainter(Icons.Default.Description, Color(0xFF2CA4E1)) |
|
return remember { AppResources(icon) } |
|
} |
|
|
|
class AppResources(val icon: VectorPainter) |
|
|
|
@OptIn(ExperimentalComposeUiApi::class) |
|
@Composable |
|
fun rememberVectorPainter(image: ImageVector, tintColor: Color) = |
|
rememberVectorPainter( |
|
defaultWidth = image.defaultWidth, |
|
defaultHeight = image.defaultHeight, |
|
viewportWidth = image.viewportWidth, |
|
viewportHeight = image.viewportHeight, |
|
name = image.name, |
|
tintColor = tintColor, |
|
tintBlendMode = image.tintBlendMode, |
|
content = { _, _ -> RenderVectorGroup(group = image.root) } |
|
)
|
|
|