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.
52 lines
1.6 KiB
52 lines
1.6 KiB
package org.jetbrains.compose.resources |
|
|
|
import androidx.compose.runtime.Composable |
|
import androidx.compose.runtime.Immutable |
|
import androidx.compose.runtime.getValue |
|
import androidx.compose.ui.text.font.* |
|
|
|
/** |
|
* Represents a font resource. |
|
* |
|
* @param id The identifier of the font resource. |
|
* @param items The set of resource items associated with the font resource. |
|
* |
|
* @see Resource |
|
*/ |
|
@Immutable |
|
class FontResource |
|
@InternalResourceApi constructor(id: String, items: Set<ResourceItem>): Resource(id, items) |
|
|
|
/** |
|
* Creates a font using the specified font resource, weight, and style. |
|
* |
|
* @param resource The font resource to be used. |
|
* @param weight The weight of the font. Default value is [FontWeight.Normal]. |
|
* @param style The style of the font. Default value is [FontStyle.Normal]. |
|
* |
|
* @return The created [Font] object. |
|
* |
|
* @throws NotFoundException if the specified resource ID is not found. |
|
*/ |
|
@Composable |
|
expect fun Font( |
|
resource: FontResource, |
|
weight: FontWeight = FontWeight.Normal, |
|
style: FontStyle = FontStyle.Normal |
|
): Font |
|
|
|
/** |
|
* Retrieves the byte array of the font resource. |
|
* |
|
* @param environment The resource environment, which can be obtained from [rememberResourceEnvironment] or [getSystemResourceEnvironment]. |
|
* @param resource The font resource. |
|
* @return The byte array representing the font resource. |
|
*/ |
|
@ExperimentalResourceApi |
|
suspend fun getFontResourceBytes( |
|
environment: ResourceEnvironment, |
|
resource: FontResource |
|
): ByteArray { |
|
val resourceItem = resource.getResourceItemByEnvironment(environment) |
|
return DefaultResourceReader.read(resourceItem.path) |
|
} |