Skia
2DGraphicsLibrary
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SkFontArguments.h
1 /*
2  * Copyright 2017 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 SkFontAgruments_DEFINED
9 #define SkFontAgruments_DEFINED
10 
11 #include "SkScalar.h"
12 #include "SkTypes.h"
13 
17  struct Coordinate {
18  SkFourByteTag axis;
19  SkScalar value;
20  };
21  const Coordinate* coordinates;
22  int coordinateCount;
23  };
24  // deprecated, use VariationCoordinate instead
25  struct Axis {
26  SkFourByteTag fTag;
27  SkScalar fStyleValue;
28  };
29 
30  SkFontArguments() : fCollectionIndex(0), fVariationDesignPosition{nullptr, 0} {}
31 
37  SkFontArguments& setCollectionIndex(int collectionIndex) {
38  fCollectionIndex = collectionIndex;
39  return *this;
40  }
41 
42  // deprecated, use setVariationDesignPosition instead.
43  SkFontArguments& setAxes(const Axis* axes, int axisCount) {
44  fVariationDesignPosition.coordinates =
45  reinterpret_cast<const VariationPosition::Coordinate*>(axes);
46  fVariationDesignPosition.coordinateCount = axisCount;
47  return *this;
48  }
49 
58  fVariationDesignPosition.coordinates = position.coordinates;
59  fVariationDesignPosition.coordinateCount = position.coordinateCount;
60  return *this;
61  }
62 
63  int getCollectionIndex() const {
64  return fCollectionIndex;
65  }
66  // deprecated, use getVariationDesignPosition instead.
67  const Axis* getAxes(int* axisCount) const {
68  *axisCount = fVariationDesignPosition.coordinateCount;
69  return reinterpret_cast<const Axis*>(fVariationDesignPosition.coordinates);
70  }
71  VariationPosition getVariationDesignPosition() const {
72  return fVariationDesignPosition;
73  }
74 private:
75  int fCollectionIndex;
76  VariationPosition fVariationDesignPosition;
77 };
78 
79 #endif
SkFontArguments & setCollectionIndex(int collectionIndex)
Specify the index of the desired font.
Definition: SkFontArguments.h:37
Definition: SkFontArguments.h:17
Definition: SkFontArguments.h:25
SkFontArguments & setVariationDesignPosition(VariationPosition position)
Specify a position in the variation design space.
Definition: SkFontArguments.h:57
Definition: SkFontArguments.h:16
Represents a set of actual arguments for a font.
Definition: SkFontArguments.h:15