|
|
|
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) }
|
|
|
|
)
|