Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
SkShaper_factory.h
Go to the documentation of this file.
1/*
2 * Copyright 2024 Google LLC
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#ifndef SkShaperFactory_DEFINED
8#define SkShaperFactory_DEFINED
9
13
14#include <cstddef>
15#include <cstdint>
16#include <memory>
17
18class SkFontMgr;
19class SkUnicode;
20
21namespace SkShapers {
22
24public:
25 virtual std::unique_ptr<SkShaper> makeShaper(sk_sp<SkFontMgr> fallback) = 0;
26 virtual std::unique_ptr<SkShaper::BiDiRunIterator> makeBidiRunIterator(
27 const char* utf8, size_t utf8Bytes, uint8_t bidiLevel) = 0;
28 virtual std::unique_ptr<SkShaper::ScriptRunIterator> makeScriptRunIterator(
29 const char* utf8, size_t utf8Bytes, SkFourByteTag script) = 0;
30
31 virtual SkUnicode* getUnicode() = 0;
32};
33
34namespace Primitive {
36}
37
38} // namespace SkShapers
39
40#endif // SkShaperFactory_DEFINED
#define SKSHAPER_API
Definition SkShaper.h:43
uint32_t SkFourByteTag
Definition SkTypes.h:166
virtual std::unique_ptr< SkShaper::BiDiRunIterator > makeBidiRunIterator(const char *utf8, size_t utf8Bytes, uint8_t bidiLevel)=0
virtual std::unique_ptr< SkShaper > makeShaper(sk_sp< SkFontMgr > fallback)=0
virtual SkUnicode * getUnicode()=0
virtual std::unique_ptr< SkShaper::ScriptRunIterator > makeScriptRunIterator(const char *utf8, size_t utf8Bytes, SkFourByteTag script)=0
SKSHAPER_API sk_sp< Factory > Factory()