xref: /aosp_15_r20/external/skia/modules/skunicode/src/SkBidiFactory_icu_subset.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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 #include "modules/skunicode/src/SkBidiFactory_icu_subset.h"
8 
9 #include <unicode/umachine.h>
10 
errorName(UErrorCode status) const11 const char* SkBidiSubsetFactory::errorName(UErrorCode status) const {
12     return u_errorName_skia(status);
13 }
14 
bidi_close_callback() const15 SkBidiFactory::BidiCloseCallback SkBidiSubsetFactory::bidi_close_callback() const {
16     return ubidi_close_skia;
17 }
18 
bidi_getDirection(const UBiDi * bidi) const19 UBiDiDirection SkBidiSubsetFactory::bidi_getDirection(const UBiDi* bidi) const {
20     return ubidi_getDirection_skia(bidi);
21 }
22 
bidi_getLength(const UBiDi * bidi) const23 SkBidiIterator::Position SkBidiSubsetFactory::bidi_getLength(const UBiDi* bidi) const {
24     return ubidi_getLength_skia(bidi);
25 }
26 
bidi_getLevelAt(const UBiDi * bidi,int pos) const27 SkBidiIterator::Level SkBidiSubsetFactory::bidi_getLevelAt(const UBiDi* bidi, int pos) const {
28     return ubidi_getLevelAt_skia(bidi, pos);
29 }
30 
bidi_openSized(int32_t maxLength,int32_t maxRunCount,UErrorCode * pErrorCode) const31 UBiDi* SkBidiSubsetFactory::bidi_openSized(int32_t maxLength,
32                                            int32_t maxRunCount,
33                                            UErrorCode* pErrorCode) const {
34     return ubidi_openSized_skia(maxLength, maxRunCount, pErrorCode);
35 }
36 
bidi_setPara(UBiDi * bidi,const UChar * text,int32_t length,UBiDiLevel paraLevel,UBiDiLevel * embeddingLevels,UErrorCode * status) const37 void SkBidiSubsetFactory::bidi_setPara(UBiDi* bidi,
38                                        const UChar* text,
39                                        int32_t length,
40                                        UBiDiLevel paraLevel,
41                                        UBiDiLevel* embeddingLevels,
42                                        UErrorCode* status) const {
43     return ubidi_setPara_skia(bidi, text, length, paraLevel, embeddingLevels, status);
44 }
45 
bidi_reorderVisual(const SkUnicode::BidiLevel runLevels[],int levelsCount,int32_t logicalFromVisual[]) const46 void SkBidiSubsetFactory::bidi_reorderVisual(const SkUnicode::BidiLevel runLevels[],
47                                              int levelsCount,
48                                              int32_t logicalFromVisual[]) const {
49     ubidi_reorderVisual_skia(runLevels, levelsCount, logicalFromVisual);
50 }
51