xref: /aosp_15_r20/external/skia/src/ports/SkFontScanner_fontations_priv.h (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1 /*
2 * Copyright 2024 The Android Open Source Project
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 SKFONTSCANNER_FONTATIONS_PRIV_H_
9 #define SKFONTSCANNER_FONTATIONS_PRIV_H_
10 
11 #include "include/core/SkFontScanner.h"
12 #include "include/core/SkSpan.h"
13 #include "include/core/SkTypeface.h"
14 #include "include/core/SkTypes.h"
15 
16 struct SkAdvancedTypefaceMetrics;
17 class SkFontDescriptor;
18 class SkFontData;
19 
20 class SkFontScanner_Fontations : public SkFontScanner {
21 public:
22     SkFontScanner_Fontations();
23     ~SkFontScanner_Fontations() override;
24 
25     bool scanFile(SkStreamAsset* stream, int* numFaces) const override;
26     bool scanFace(SkStreamAsset* stream, int faceIndex, int* numInstances) const override;
27     bool scanInstance(SkStreamAsset* stream,
28                       int faceIndex,
29                       int instanceIndex,
30                       SkString* name,
31                       SkFontStyle* style,
32                       bool* isFixedPitch,
33                       AxisDefinitions* axes) const override;
34     sk_sp<SkTypeface> MakeFromStream(std::unique_ptr<SkStreamAsset> stream,
35                                      const SkFontArguments& args) const override;
36     SkFourByteTag getFactoryId() const override;
37 private:
38 };
39 
40 #endif // SKFONTSCANNER_FONTATIONS_PRIV_H_
41