Flutter Engine
The Flutter Engine
SkFontParameters.h
Go to the documentation of this file.
1/*
2 * Copyright 2018 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkFontParameters_DEFINED
9#define SkFontParameters_DEFINED
10
13
15 struct Variation {
16 // Parameters in a variation font axis.
17 struct Axis {
18 constexpr Axis() : tag(0), min(0), def(0), max(0), flags(0) {}
19 constexpr Axis(SkFourByteTag tag, float min, float def, float max, bool hidden) :
20 tag(tag), min(min), def(def), max(max), flags(hidden ? HIDDEN : 0) {}
21
22 // Four character identifier of the font axis (weight, width, slant, italic...).
24 // Minimum value supported by this axis.
25 float min;
26 // Default value set by this axis.
27 float def;
28 // Maximum value supported by this axis. The maximum can equal the minimum.
29 float max;
30 // Return whether this axis is recommended to be remain hidden in user interfaces.
31 bool isHidden() const { return flags & HIDDEN; }
32 // Set this axis to be remain hidden in user interfaces.
33 void setHidden(bool hidden) { flags = hidden ? (flags | HIDDEN) : (flags & ~HIDDEN); }
34 private:
35 static constexpr uint16_t HIDDEN = 0x0001;
36 // Attributes for a font axis.
37 uint16_t flags;
38 };
39 };
40};
41
42#endif
uint32_t SkFourByteTag
Definition: SkTypes.h:166
constexpr Axis(SkFourByteTag tag, float min, float def, float max, bool hidden)