Flutter Engine
The Flutter Engine
SkBidiFactory_icu_subset.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 SkBidiSubsetFactory_DEFINED
8#define SkBidiSubsetFactory_DEFINED
9
12
13#include <unicode/ubidi.h>
14#include <unicode/umachine.h>
15#include <unicode/utypes.h>
16
17#include <cstdint>
18
20public:
21 const char* errorName(UErrorCode status) const override;
23 UBiDiDirection bidi_getDirection(const UBiDi* bidi) const override;
24 SkBidiIterator::Position bidi_getLength(const UBiDi* bidi) const override;
25 SkBidiIterator::Level bidi_getLevelAt(const UBiDi* bidi, int pos) const override;
26 UBiDi* bidi_openSized(int32_t maxLength,
27 int32_t maxRunCount,
28 UErrorCode* pErrorCode) const override;
29 void bidi_setPara(UBiDi* bidi,
30 const UChar* text,
31 int32_t length,
32 UBiDiLevel paraLevel,
33 UBiDiLevel* embeddingLevels,
34 UErrorCode* status) const override;
35 void bidi_reorderVisual(const SkUnicode::BidiLevel runLevels[],
36 int levelsCount,
37 int32_t logicalFromVisual[]) const override;
38};
39
40#endif
SkPoint pos
void(*)(UBiDi *bidi) BidiCloseCallback
int32_t Position
Definition: SkUnicode.h:45
uint8_t Level
Definition: SkUnicode.h:46
UBiDi * bidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode) const override
SkBidiFactory::BidiCloseCallback bidi_close_callback() const override
const char * errorName(UErrorCode status) const override
void bidi_reorderVisual(const SkUnicode::BidiLevel runLevels[], int levelsCount, int32_t logicalFromVisual[]) const override
SkBidiIterator::Position bidi_getLength(const UBiDi *bidi) const override
UBiDiDirection bidi_getDirection(const UBiDi *bidi) const override
void bidi_setPara(UBiDi *bidi, const UChar *text, int32_t length, UBiDiLevel paraLevel, UBiDiLevel *embeddingLevels, UErrorCode *status) const override
SkBidiIterator::Level bidi_getLevelAt(const UBiDi *bidi, int pos) const override
uint8_t BidiLevel
Definition: SkUnicode.h:99
size_t length
std::u16string text