mirror of
https://github.com/mappu/miqt.git
synced 2024-12-22 08:58:37 +00:00
467 lines
14 KiB
C++
467 lines
14 KiB
C++
#include <QFont>
|
|
#include <QList>
|
|
#include <QPaintDevice>
|
|
#include <QString>
|
|
#include <QByteArray>
|
|
#include <cstring>
|
|
#include "qfont.h"
|
|
|
|
#include "gen_qfont.h"
|
|
|
|
extern "C" {
|
|
extern void miqt_exec_callback(void* cb, int argc, void* argv);
|
|
}
|
|
|
|
QFont* QFont_new() {
|
|
return new QFont();
|
|
}
|
|
|
|
QFont* QFont_new2(const char* family, size_t family_Strlen) {
|
|
QString family_QString = QString::fromUtf8(family, family_Strlen);
|
|
return new QFont(family_QString);
|
|
}
|
|
|
|
QFont* QFont_new3(QFont* font, QPaintDevice* pd) {
|
|
return new QFont(*font, pd);
|
|
}
|
|
|
|
QFont* QFont_new4(QFont* font, QPaintDevice* pd) {
|
|
return new QFont(*font, pd);
|
|
}
|
|
|
|
QFont* QFont_new5(QFont* font) {
|
|
return new QFont(*font);
|
|
}
|
|
|
|
QFont* QFont_new6(const char* family, size_t family_Strlen, int pointSize) {
|
|
QString family_QString = QString::fromUtf8(family, family_Strlen);
|
|
return new QFont(family_QString, static_cast<int>(pointSize));
|
|
}
|
|
|
|
QFont* QFont_new7(const char* family, size_t family_Strlen, int pointSize, int weight) {
|
|
QString family_QString = QString::fromUtf8(family, family_Strlen);
|
|
return new QFont(family_QString, static_cast<int>(pointSize), static_cast<int>(weight));
|
|
}
|
|
|
|
QFont* QFont_new8(const char* family, size_t family_Strlen, int pointSize, int weight, bool italic) {
|
|
QString family_QString = QString::fromUtf8(family, family_Strlen);
|
|
return new QFont(family_QString, static_cast<int>(pointSize), static_cast<int>(weight), italic);
|
|
}
|
|
|
|
void QFont_Swap(QFont* self, QFont* other) {
|
|
self->swap(*other);
|
|
}
|
|
|
|
void QFont_Family(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->family();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_SetFamily(QFont* self, const char* family, size_t family_Strlen) {
|
|
QString family_QString = QString::fromUtf8(family, family_Strlen);
|
|
self->setFamily(family_QString);
|
|
}
|
|
|
|
void QFont_Families(const QFont* self, char*** _out, int** _out_Lengths, size_t* _out_len) {
|
|
QStringList ret = self->families();
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(malloc(sizeof(int) * ret.length()));
|
|
for (size_t i = 0, e = ret.length(); i < e; ++i) {
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret[i].toUtf8();
|
|
__out[i] = static_cast<char*>(malloc(b.length()));
|
|
memcpy(__out[i], b.data(), b.length());
|
|
__out_Lengths[i] = b.length();
|
|
}
|
|
*_out = __out;
|
|
*_out_Lengths = __out_Lengths;
|
|
*_out_len = ret.length();
|
|
}
|
|
|
|
void QFont_SetFamilies(QFont* self, char** families, uint64_t* families_Lengths, size_t families_len) {
|
|
QList<QString> families_QList;
|
|
families_QList.reserve(families_len);
|
|
for(size_t i = 0; i < families_len; ++i) {
|
|
families_QList.push_back(QString::fromUtf8(families[i], families_Lengths[i]));
|
|
}
|
|
self->setFamilies(families_QList);
|
|
}
|
|
|
|
void QFont_StyleName(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->styleName();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_SetStyleName(QFont* self, const char* styleName, size_t styleName_Strlen) {
|
|
QString styleName_QString = QString::fromUtf8(styleName, styleName_Strlen);
|
|
self->setStyleName(styleName_QString);
|
|
}
|
|
|
|
int QFont_PointSize(const QFont* self) {
|
|
return self->pointSize();
|
|
}
|
|
|
|
void QFont_SetPointSize(QFont* self, int pointSize) {
|
|
self->setPointSize(static_cast<int>(pointSize));
|
|
}
|
|
|
|
double QFont_PointSizeF(const QFont* self) {
|
|
return self->pointSizeF();
|
|
}
|
|
|
|
void QFont_SetPointSizeF(QFont* self, double pointSizeF) {
|
|
self->setPointSizeF(static_cast<qreal>(pointSizeF));
|
|
}
|
|
|
|
int QFont_PixelSize(const QFont* self) {
|
|
return self->pixelSize();
|
|
}
|
|
|
|
void QFont_SetPixelSize(QFont* self, int pixelSize) {
|
|
self->setPixelSize(static_cast<int>(pixelSize));
|
|
}
|
|
|
|
int QFont_Weight(const QFont* self) {
|
|
return self->weight();
|
|
}
|
|
|
|
void QFont_SetWeight(QFont* self, int weight) {
|
|
self->setWeight(static_cast<int>(weight));
|
|
}
|
|
|
|
bool QFont_Bold(const QFont* self) {
|
|
return self->bold();
|
|
}
|
|
|
|
void QFont_SetBold(QFont* self, bool bold) {
|
|
self->setBold(bold);
|
|
}
|
|
|
|
void QFont_SetStyle(QFont* self, uintptr_t style) {
|
|
self->setStyle(static_cast<QFont::Style>(style));
|
|
}
|
|
|
|
uintptr_t QFont_Style(const QFont* self) {
|
|
QFont::Style ret = self->style();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
bool QFont_Italic(const QFont* self) {
|
|
return self->italic();
|
|
}
|
|
|
|
void QFont_SetItalic(QFont* self, bool b) {
|
|
self->setItalic(b);
|
|
}
|
|
|
|
bool QFont_Underline(const QFont* self) {
|
|
return self->underline();
|
|
}
|
|
|
|
void QFont_SetUnderline(QFont* self, bool underline) {
|
|
self->setUnderline(underline);
|
|
}
|
|
|
|
bool QFont_Overline(const QFont* self) {
|
|
return self->overline();
|
|
}
|
|
|
|
void QFont_SetOverline(QFont* self, bool overline) {
|
|
self->setOverline(overline);
|
|
}
|
|
|
|
bool QFont_StrikeOut(const QFont* self) {
|
|
return self->strikeOut();
|
|
}
|
|
|
|
void QFont_SetStrikeOut(QFont* self, bool strikeOut) {
|
|
self->setStrikeOut(strikeOut);
|
|
}
|
|
|
|
bool QFont_FixedPitch(const QFont* self) {
|
|
return self->fixedPitch();
|
|
}
|
|
|
|
void QFont_SetFixedPitch(QFont* self, bool fixedPitch) {
|
|
self->setFixedPitch(fixedPitch);
|
|
}
|
|
|
|
bool QFont_Kerning(const QFont* self) {
|
|
return self->kerning();
|
|
}
|
|
|
|
void QFont_SetKerning(QFont* self, bool kerning) {
|
|
self->setKerning(kerning);
|
|
}
|
|
|
|
uintptr_t QFont_StyleHint(const QFont* self) {
|
|
QFont::StyleHint ret = self->styleHint();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
uintptr_t QFont_StyleStrategy(const QFont* self) {
|
|
QFont::StyleStrategy ret = self->styleStrategy();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QFont_SetStyleHint(QFont* self, uintptr_t param1) {
|
|
self->setStyleHint(static_cast<QFont::StyleHint>(param1));
|
|
}
|
|
|
|
void QFont_SetStyleStrategy(QFont* self, uintptr_t s) {
|
|
self->setStyleStrategy(static_cast<QFont::StyleStrategy>(s));
|
|
}
|
|
|
|
int QFont_Stretch(const QFont* self) {
|
|
return self->stretch();
|
|
}
|
|
|
|
void QFont_SetStretch(QFont* self, int stretch) {
|
|
self->setStretch(static_cast<int>(stretch));
|
|
}
|
|
|
|
double QFont_LetterSpacing(const QFont* self) {
|
|
return self->letterSpacing();
|
|
}
|
|
|
|
uintptr_t QFont_LetterSpacingType(const QFont* self) {
|
|
QFont::SpacingType ret = self->letterSpacingType();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QFont_SetLetterSpacing(QFont* self, uintptr_t typeVal, double spacing) {
|
|
self->setLetterSpacing(static_cast<QFont::SpacingType>(typeVal), static_cast<qreal>(spacing));
|
|
}
|
|
|
|
double QFont_WordSpacing(const QFont* self) {
|
|
return self->wordSpacing();
|
|
}
|
|
|
|
void QFont_SetWordSpacing(QFont* self, double spacing) {
|
|
self->setWordSpacing(static_cast<qreal>(spacing));
|
|
}
|
|
|
|
void QFont_SetCapitalization(QFont* self, uintptr_t capitalization) {
|
|
self->setCapitalization(static_cast<QFont::Capitalization>(capitalization));
|
|
}
|
|
|
|
uintptr_t QFont_Capitalization(const QFont* self) {
|
|
QFont::Capitalization ret = self->capitalization();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QFont_SetHintingPreference(QFont* self, uintptr_t hintingPreference) {
|
|
self->setHintingPreference(static_cast<QFont::HintingPreference>(hintingPreference));
|
|
}
|
|
|
|
uintptr_t QFont_HintingPreference(const QFont* self) {
|
|
QFont::HintingPreference ret = self->hintingPreference();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
bool QFont_RawMode(const QFont* self) {
|
|
return self->rawMode();
|
|
}
|
|
|
|
void QFont_SetRawMode(QFont* self, bool rawMode) {
|
|
self->setRawMode(rawMode);
|
|
}
|
|
|
|
bool QFont_ExactMatch(const QFont* self) {
|
|
return self->exactMatch();
|
|
}
|
|
|
|
void QFont_OperatorAssign(QFont* self, QFont* param1) {
|
|
self->operator=(*param1);
|
|
}
|
|
|
|
bool QFont_OperatorEqual(const QFont* self, QFont* param1) {
|
|
return self->operator==(*param1);
|
|
}
|
|
|
|
bool QFont_OperatorNotEqual(const QFont* self, QFont* param1) {
|
|
return self->operator!=(*param1);
|
|
}
|
|
|
|
bool QFont_OperatorLesser(const QFont* self, QFont* param1) {
|
|
return self->operator<(*param1);
|
|
}
|
|
|
|
bool QFont_IsCopyOf(const QFont* self, QFont* param1) {
|
|
return self->isCopyOf(*param1);
|
|
}
|
|
|
|
void QFont_SetRawName(QFont* self, const char* rawName, size_t rawName_Strlen) {
|
|
QString rawName_QString = QString::fromUtf8(rawName, rawName_Strlen);
|
|
self->setRawName(rawName_QString);
|
|
}
|
|
|
|
void QFont_RawName(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->rawName();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_Key(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->key();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_ToString(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->toString();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
bool QFont_FromString(QFont* self, const char* param1, size_t param1_Strlen) {
|
|
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
|
|
return self->fromString(param1_QString);
|
|
}
|
|
|
|
void QFont_Substitute(const char* param1, size_t param1_Strlen, char** _out, int* _out_Strlen) {
|
|
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
|
|
QString ret = QFont::substitute(param1_QString);
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_Substitutes(const char* param1, size_t param1_Strlen, char*** _out, int** _out_Lengths, size_t* _out_len) {
|
|
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
|
|
QStringList ret = QFont::substitutes(param1_QString);
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(malloc(sizeof(int) * ret.length()));
|
|
for (size_t i = 0, e = ret.length(); i < e; ++i) {
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret[i].toUtf8();
|
|
__out[i] = static_cast<char*>(malloc(b.length()));
|
|
memcpy(__out[i], b.data(), b.length());
|
|
__out_Lengths[i] = b.length();
|
|
}
|
|
*_out = __out;
|
|
*_out_Lengths = __out_Lengths;
|
|
*_out_len = ret.length();
|
|
}
|
|
|
|
void QFont_Substitutions(char*** _out, int** _out_Lengths, size_t* _out_len) {
|
|
QStringList ret = QFont::substitutions();
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(malloc(sizeof(int) * ret.length()));
|
|
for (size_t i = 0, e = ret.length(); i < e; ++i) {
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret[i].toUtf8();
|
|
__out[i] = static_cast<char*>(malloc(b.length()));
|
|
memcpy(__out[i], b.data(), b.length());
|
|
__out_Lengths[i] = b.length();
|
|
}
|
|
*_out = __out;
|
|
*_out_Lengths = __out_Lengths;
|
|
*_out_len = ret.length();
|
|
}
|
|
|
|
void QFont_InsertSubstitution(const char* param1, size_t param1_Strlen, const char* param2, size_t param2_Strlen) {
|
|
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
|
|
QString param2_QString = QString::fromUtf8(param2, param2_Strlen);
|
|
QFont::insertSubstitution(param1_QString, param2_QString);
|
|
}
|
|
|
|
void QFont_InsertSubstitutions(const char* param1, size_t param1_Strlen, char** param2, uint64_t* param2_Lengths, size_t param2_len) {
|
|
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
|
|
QList<QString> param2_QList;
|
|
param2_QList.reserve(param2_len);
|
|
for(size_t i = 0; i < param2_len; ++i) {
|
|
param2_QList.push_back(QString::fromUtf8(param2[i], param2_Lengths[i]));
|
|
}
|
|
QFont::insertSubstitutions(param1_QString, param2_QList);
|
|
}
|
|
|
|
void QFont_RemoveSubstitutions(const char* param1, size_t param1_Strlen) {
|
|
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
|
|
QFont::removeSubstitutions(param1_QString);
|
|
}
|
|
|
|
void QFont_Initialize() {
|
|
QFont::initialize();
|
|
}
|
|
|
|
void QFont_Cleanup() {
|
|
QFont::cleanup();
|
|
}
|
|
|
|
void QFont_CacheStatistics() {
|
|
QFont::cacheStatistics();
|
|
}
|
|
|
|
void QFont_DefaultFamily(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->defaultFamily();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_LastResortFamily(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->lastResortFamily();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
void QFont_LastResortFont(const QFont* self, char** _out, int* _out_Strlen) {
|
|
QString ret = self->lastResortFont();
|
|
// Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory
|
|
QByteArray b = ret.toUtf8();
|
|
*_out = static_cast<char*>(malloc(b.length()));
|
|
memcpy(*_out, b.data(), b.length());
|
|
*_out_Strlen = b.length();
|
|
}
|
|
|
|
QFont* QFont_Resolve(const QFont* self, QFont* param1) {
|
|
QFont ret = self->resolve(*param1);
|
|
// Copy-construct value returned type into heap-allocated copy
|
|
return static_cast<QFont*>(new QFont(ret));
|
|
}
|
|
|
|
unsigned int QFont_Resolve2(const QFont* self) {
|
|
return self->resolve();
|
|
}
|
|
|
|
void QFont_ResolveWithMask(QFont* self, unsigned int mask) {
|
|
self->resolve(static_cast<uint>(mask));
|
|
}
|
|
|
|
void QFont_SetStyleHint2(QFont* self, uintptr_t param1, uintptr_t param2) {
|
|
self->setStyleHint(static_cast<QFont::StyleHint>(param1), static_cast<QFont::StyleStrategy>(param2));
|
|
}
|
|
|
|
void QFont_Delete(QFont* self) {
|
|
delete self;
|
|
}
|
|
|