• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.compose.theme.typography
18 
19 import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
20 import androidx.compose.material3.MaterialTheme
21 import androidx.compose.material3.Typography
22 
23 /**
24  * The typography for Platform Compose code.
25  *
26  * Do not use directly and call [MaterialTheme.typography] instead to access the different text
27  * styles.
28  */
29 @OptIn(ExperimentalMaterial3ExpressiveApi::class)
platformTypographynull30 internal fun platformTypography(typographyTokens: TypographyTokens): Typography {
31     return Typography(
32         displayLarge = typographyTokens.displayLarge,
33         displayMedium = typographyTokens.displayMedium,
34         displaySmall = typographyTokens.displaySmall,
35         headlineLarge = typographyTokens.headlineLarge,
36         headlineMedium = typographyTokens.headlineMedium,
37         headlineSmall = typographyTokens.headlineSmall,
38         titleLarge = typographyTokens.titleLarge,
39         titleMedium = typographyTokens.titleMedium,
40         titleSmall = typographyTokens.titleSmall,
41         bodyLarge = typographyTokens.bodyLarge,
42         bodyMedium = typographyTokens.bodyMedium,
43         bodySmall = typographyTokens.bodySmall,
44         labelLarge = typographyTokens.labelLarge,
45         labelMedium = typographyTokens.labelMedium,
46         labelSmall = typographyTokens.labelSmall,
47         // GSF emphasized tokens
48         displayLargeEmphasized = typographyTokens.displayLargeEmphasized,
49         displayMediumEmphasized = typographyTokens.displayMediumEmphasized,
50         displaySmallEmphasized = typographyTokens.displaySmallEmphasized,
51         headlineLargeEmphasized = typographyTokens.headlineLargeEmphasized,
52         headlineMediumEmphasized = typographyTokens.headlineMediumEmphasized,
53         headlineSmallEmphasized = typographyTokens.headlineSmallEmphasized,
54         titleLargeEmphasized = typographyTokens.titleLargeEmphasized,
55         titleMediumEmphasized = typographyTokens.titleMediumEmphasized,
56         titleSmallEmphasized = typographyTokens.titleSmallEmphasized,
57         bodyLargeEmphasized = typographyTokens.bodyLargeEmphasized,
58         bodyMediumEmphasized = typographyTokens.bodyMediumEmphasized,
59         bodySmallEmphasized = typographyTokens.bodySmallEmphasized,
60         labelLargeEmphasized = typographyTokens.labelLargeEmphasized,
61         labelMediumEmphasized = typographyTokens.labelMediumEmphasized,
62         labelSmallEmphasized = typographyTokens.labelSmallEmphasized,
63     )
64 }
65