65f8cd4365
Only self properties for now. No compound properties. No virtual Container properties. R=brianwilkerson@google.com Change-Id: Icd61f45ecc95c45037c3998a927eb267fd13c4cd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109121 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
132 lines
3.1 KiB
Dart
132 lines
3.1 KiB
Dart
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
part of dart.ui;
|
|
|
|
/// Whether to slant the glyphs in the font
|
|
enum FontStyle {
|
|
/// Use the upright glyphs
|
|
normal,
|
|
|
|
/// Use glyphs designed for slanting
|
|
italic,
|
|
}
|
|
|
|
/// The thickness of the glyphs used to draw the text
|
|
class FontWeight {
|
|
/// Thin, the least thick
|
|
static const FontWeight w100 = const FontWeight._(0);
|
|
|
|
/// Extra-light
|
|
static const FontWeight w200 = const FontWeight._(1);
|
|
|
|
/// Light
|
|
static const FontWeight w300 = const FontWeight._(2);
|
|
|
|
/// Normal / regular / plain
|
|
static const FontWeight w400 = const FontWeight._(3);
|
|
|
|
/// Medium
|
|
static const FontWeight w500 = const FontWeight._(4);
|
|
|
|
/// Semi-bold
|
|
static const FontWeight w600 = const FontWeight._(5);
|
|
|
|
/// Bold
|
|
static const FontWeight w700 = const FontWeight._(6);
|
|
|
|
/// Extra-bold
|
|
static const FontWeight w800 = const FontWeight._(7);
|
|
|
|
/// Black, the most thick
|
|
static const FontWeight w900 = const FontWeight._(8);
|
|
|
|
/// The default font weight.
|
|
static const FontWeight normal = w400;
|
|
|
|
/// A commonly used font weight that is heavier than normal.
|
|
static const FontWeight bold = w700;
|
|
|
|
/// A list of all the font weights.
|
|
static const List<FontWeight> values = const <FontWeight>[
|
|
w100,
|
|
w200,
|
|
w300,
|
|
w400,
|
|
w500,
|
|
w600,
|
|
w700,
|
|
w800,
|
|
w900
|
|
];
|
|
|
|
/// The encoded integer value of this font weight.
|
|
final int index;
|
|
|
|
const FontWeight._(this.index);
|
|
|
|
@override
|
|
String toString() {
|
|
return const <int, String>{
|
|
0: 'FontWeight.w100',
|
|
1: 'FontWeight.w200',
|
|
2: 'FontWeight.w300',
|
|
3: 'FontWeight.w400',
|
|
4: 'FontWeight.w500',
|
|
5: 'FontWeight.w600',
|
|
6: 'FontWeight.w700',
|
|
7: 'FontWeight.w800',
|
|
8: 'FontWeight.w900',
|
|
}[index];
|
|
}
|
|
}
|
|
|
|
enum TextAlign {
|
|
/// Align the text on the left edge of the container.
|
|
left,
|
|
|
|
/// Align the text on the right edge of the container.
|
|
right,
|
|
|
|
/// Align the text in the center of the container.
|
|
center,
|
|
|
|
/// Stretch lines of text that end with a soft line break to fill the width of
|
|
/// the container.
|
|
///
|
|
/// Lines that end with hard line breaks are aligned towards the [start] edge.
|
|
justify,
|
|
|
|
/// Align the text on the leading edge of the container.
|
|
///
|
|
/// For left-to-right text ([TextDirection.ltr]), this is the left edge.
|
|
///
|
|
/// For right-to-left text ([TextDirection.rtl]), this is the right edge.
|
|
start,
|
|
|
|
/// Align the text on the trailing edge of the container.
|
|
///
|
|
/// For left-to-right text ([TextDirection.ltr]), this is the right edge.
|
|
///
|
|
/// For right-to-left text ([TextDirection.rtl]), this is the left edge.
|
|
end,
|
|
}
|
|
|
|
/// A horizontal line used for aligning text.
|
|
enum TextBaseline {
|
|
/// The horizontal line used to align the bottom of glyphs for alphabetic characters.
|
|
alphabetic,
|
|
|
|
/// The horizontal line used to align ideographic characters.
|
|
ideographic,
|
|
}
|
|
|
|
enum TextDirection {
|
|
/// The text flows from right to left (e.g. Arabic, Hebrew).
|
|
rtl,
|
|
|
|
/// The text flows from left to right (e.g., English, French).
|
|
ltr,
|
|
}
|