Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
SkFontMetricsPriv Class Reference

#include <SkFontMetricsPriv.h>

Static Public Member Functions

static void Flatten (SkWriteBuffer &buffer, const SkFontMetrics &metrics)
 
static std::optional< SkFontMetricsMakeFromBuffer (SkReadBuffer &buffer)
 

Detailed Description

Definition at line 17 of file SkFontMetricsPriv.h.

Member Function Documentation

◆ Flatten()

void SkFontMetricsPriv::Flatten ( SkWriteBuffer buffer,
const SkFontMetrics metrics 
)
static

Definition at line 15 of file SkFontMetricsPriv.cpp.

15 {
16 buffer.writeUInt(metrics.fFlags);
17 buffer.writeScalar(metrics.fTop);
18 buffer.writeScalar(metrics.fAscent);
19 buffer.writeScalar(metrics.fDescent);
20 buffer.writeScalar(metrics.fBottom);
21 buffer.writeScalar(metrics.fLeading);
22 buffer.writeScalar(metrics.fAvgCharWidth);
23 buffer.writeScalar(metrics.fMaxCharWidth);
24 buffer.writeScalar(metrics.fXMin);
25 buffer.writeScalar(metrics.fXMax);
26 buffer.writeScalar(metrics.fXHeight);
27 buffer.writeScalar(metrics.fCapHeight);
28 buffer.writeScalar(metrics.fUnderlineThickness);
29 buffer.writeScalar(metrics.fUnderlinePosition);
30 buffer.writeScalar(metrics.fStrikeoutThickness);
31 buffer.writeScalar(metrics.fStrikeoutPosition);
32}
static const uint8_t buffer[]
SkScalar fTop
greatest extent above origin of any glyph bounding box, typically negative; deprecated with variable ...
SkScalar fLeading
distance to add between lines, typically positive or zero
SkScalar fAvgCharWidth
average character width, zero if unknown
SkScalar fStrikeoutPosition
distance from baseline to bottom of stroke, typically negative
SkScalar fStrikeoutThickness
strikeout thickness
SkScalar fMaxCharWidth
maximum character width, zero if unknown
SkScalar fBottom
greatest extent below origin of any glyph bounding box, typically positive; deprecated with variable ...
uint32_t fFlags
FontMetricsFlags indicating which metrics are valid.
SkScalar fAscent
distance to reserve above baseline, typically negative
SkScalar fXHeight
height of lower-case 'x', zero if unknown, typically negative
SkScalar fUnderlineThickness
underline thickness
SkScalar fDescent
distance to reserve below baseline, typically positive
SkScalar fCapHeight
height of an upper-case letter, zero if unknown, typically negative
SkScalar fXMin
greatest extent to left of origin of any glyph bounding box, typically negative; deprecated with vari...
SkScalar fUnderlinePosition
distance from baseline to top of stroke, typically positive
SkScalar fXMax
greatest extent to right of origin of any glyph bounding box, typically positive; deprecated with var...

◆ MakeFromBuffer()

std::optional< SkFontMetrics > SkFontMetricsPriv::MakeFromBuffer ( SkReadBuffer buffer)
static

Definition at line 34 of file SkFontMetricsPriv.cpp.

34 {
35 SkASSERT(buffer.isValid());
36
37 SkFontMetrics metrics;
38 metrics.fFlags = buffer.readUInt();
39 metrics.fTop = buffer.readScalar();
40 metrics.fAscent = buffer.readScalar();
41 metrics.fDescent = buffer.readScalar();
42 metrics.fBottom = buffer.readScalar();
43 metrics.fLeading = buffer.readScalar();
44 metrics.fAvgCharWidth = buffer.readScalar();
45 metrics.fMaxCharWidth = buffer.readScalar();
46 metrics.fXMin = buffer.readScalar();
47 metrics.fXMax = buffer.readScalar();
48 metrics.fXHeight = buffer.readScalar();
49 metrics.fCapHeight = buffer.readScalar();
50 metrics.fUnderlineThickness = buffer.readScalar();
51 metrics.fUnderlinePosition = buffer.readScalar();
52 metrics.fStrikeoutThickness = buffer.readScalar();
53 metrics.fStrikeoutPosition = buffer.readScalar();
54
55 // All the reads above were valid, so return the metrics.
56 if (buffer.isValid()) {
57 return metrics;
58 }
59
60 return std::nullopt;
61}
#define SkASSERT(cond)
Definition SkAssert.h:116

The documentation for this class was generated from the following files: