blob: cc0abeb4ace00c9db7619e100032e9a7e664d529 [file] [log] [blame]
/*
* Copyright 2024 Google LLC
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "modules/skunicode/src/SkBidiFactory_icu_full.h"
#include "modules/skunicode/src/SkUnicode_icupriv.h"
#include <unicode/ubidi.h>
#include <unicode/umachine.h>
#include <unicode/utypes.h>
const char* SkBidiICUFactory::errorName(UErrorCode status) const {
return SkGetICULib()->f_u_errorName(status);
}
SkBidiFactory::BidiCloseCallback SkBidiICUFactory::bidi_close_callback() const {
return SkGetICULib()->f_ubidi_close;
}
UBiDiDirection SkBidiICUFactory::bidi_getDirection(const UBiDi* bidi) const {
return SkGetICULib()->f_ubidi_getDirection(bidi);
}
SkBidiIterator::Position SkBidiICUFactory::bidi_getLength(const UBiDi* bidi) const {
return SkGetICULib()->f_ubidi_getLength(bidi);
}
SkBidiIterator::Level SkBidiICUFactory::bidi_getLevelAt(const UBiDi* bidi, int pos) const {
return SkGetICULib()->f_ubidi_getLevelAt(bidi, pos);
}
UBiDi* SkBidiICUFactory::bidi_openSized(int32_t maxLength,
int32_t maxRunCount,
UErrorCode* pErrorCode) const {
return SkGetICULib()->f_ubidi_openSized(maxLength, maxRunCount, pErrorCode);
}
void SkBidiICUFactory::bidi_setPara(UBiDi* bidi,
const UChar* text,
int32_t length,
UBiDiLevel paraLevel,
UBiDiLevel* embeddingLevels,
UErrorCode* status) const {
return SkGetICULib()->f_ubidi_setPara(bidi, text, length, paraLevel, embeddingLevels, status);
}
void SkBidiICUFactory::bidi_reorderVisual(const SkUnicode::BidiLevel runLevels[],
int levelsCount,
int32_t logicalFromVisual[]) const {
SkGetICULib()->f_ubidi_reorderVisual(runLevels, levelsCount, logicalFromVisual);
}