mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 19:59:14 +02:00
parent
4ec80d561c
commit
3f2cd1ae7e
@ -93,13 +93,12 @@ typedef struct {
|
||||
} TQColor;
|
||||
typedef TQColor *PQColor;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int start;
|
||||
int length;
|
||||
QTextCharFormatH format;
|
||||
} TQTextLayoutFormatRange;
|
||||
typedef TQTextLayoutFormatRange *PQTextLayoutFormatRange;
|
||||
|
||||
} TTextRange;
|
||||
typedef TTextRange *PTextRange;
|
||||
|
||||
#if defined DARWIN
|
||||
typedef struct CGImage *CGImageRef;
|
||||
|
@ -306,43 +306,28 @@ void QTextLayout_clearFormats(QTextLayoutH handle)
|
||||
((QTextLayout *)handle)->clearFormats();
|
||||
}
|
||||
|
||||
void QTextLayout_formats(QTextLayoutH handle, PPtrIntArray retval)
|
||||
int QTextLayout_formatsCount(QTextLayoutH handle)
|
||||
{
|
||||
QVector<QTextLayout::FormatRange> t_retval;
|
||||
QVector<TQTextLayoutFormatRange> t_trans;
|
||||
t_retval = ((QTextLayout *)handle)->formats();
|
||||
int len = t_retval.size();
|
||||
t_trans.resize(len);
|
||||
setPtrIntArrayLength(retval, len);
|
||||
if (len>0) {
|
||||
PTRINT *array = (PTRINT *)getPtrIntArrayAddr(retval);
|
||||
for (int i = 0; i < len; i++) {
|
||||
t_trans[i].start = t_retval.at(i).start;
|
||||
t_trans[i].length = t_retval.at(i).length;
|
||||
t_trans[i].format = (const QTextCharFormatH) &t_retval.at(i).format;
|
||||
array[i] = (PTRINT) (&t_trans.at(i));
|
||||
}
|
||||
}
|
||||
return ((QTextLayout *)handle)->formats().size();
|
||||
}
|
||||
|
||||
void QTextLayout_setFormats(QTextLayoutH handle, PPtrIntArray fmts)
|
||||
int QTextLayout_textFormatsRanges(QTextLayoutH handle, PTextRange ranges, int maxCount)
|
||||
{
|
||||
QVector<QTextLayout::FormatRange> t_formats;
|
||||
QVector<TQTextLayoutFormatRange*> t_trans;
|
||||
QVector<QTextLayout::FormatRange> t_retval;
|
||||
int res = 0;
|
||||
int cnt = maxCount;
|
||||
int sz;
|
||||
|
||||
int len = getPtrIntArrayLength(fmts);
|
||||
t_formats.resize(len);
|
||||
t_trans.resize(len);
|
||||
if (len>0) {
|
||||
PTRINT *array = (PTRINT *)getPtrIntArrayAddr(fmts);
|
||||
for (int i = 0; i < len; i++) {
|
||||
t_trans[i] = reinterpret_cast <TQTextLayoutFormatRange*>(array[i]);
|
||||
t_formats[i].start = t_trans[i]->start;
|
||||
t_formats[i].length = t_trans[i]->length;
|
||||
t_formats[i].format = *(const QTextCharFormat*) t_trans[i]->format;
|
||||
}
|
||||
t_retval = ((QTextLayout *)handle)->formats();
|
||||
sz = t_retval.size();
|
||||
if (sz > cnt) cnt = sz;
|
||||
|
||||
for (int i=0; i<sz; i++)
|
||||
{
|
||||
ranges[i].start = t_retval.at(i).start;
|
||||
ranges[i].length = t_retval.at(i).length;
|
||||
}
|
||||
((QTextLayout *)handle)->setFormats(t_formats);
|
||||
return res;
|
||||
}
|
||||
|
||||
QTextLineH QTextLine_Create()
|
||||
|
@ -72,8 +72,10 @@ C_EXPORT void QTextLayout_glyphRuns(QTextLayoutH handle, PPtrIntArray retval, in
|
||||
C_EXPORT void QTextLayout_setFlags(QTextLayoutH handle, int flags);
|
||||
|
||||
C_EXPORT void QTextLayout_clearFormats(QTextLayoutH handle);
|
||||
C_EXPORT void QTextLayout_formats(QTextLayoutH handle, PPtrIntArray retval);
|
||||
C_EXPORT void QTextLayout_setFormats(QTextLayoutH handle, PPtrIntArray fmts);
|
||||
/* utility function, there's no direct Qt mapping */
|
||||
C_EXPORT int QTextLayout_formatsCount(QTextLayoutH handle);
|
||||
/* utility function, there's no direct Qt mapping */
|
||||
C_EXPORT int QTextLayout_formatsRanges(QTextLayoutH handle, PTextRange ranges, int maxCount);
|
||||
|
||||
C_EXPORT QTextLineH QTextLine_Create();
|
||||
C_EXPORT void QTextLine_Destroy(QTextLineH handle);
|
||||
|
@ -245,25 +245,31 @@ int QTextBlock_fragmentIndex(QTextBlockH handle)
|
||||
return (int) ((QTextBlock *)handle)->fragmentIndex();
|
||||
}
|
||||
|
||||
void QTextBlock_textFormats(QTextBlockH handle, PPtrIntArray retval)
|
||||
int QTextBlock_textFormatsCount(QTextBlockH handle)
|
||||
{
|
||||
return ((QTextBlock *)handle)->textFormats().size();
|
||||
}
|
||||
|
||||
int QTextBlock_textFormatsRanges(QTextBlockH handle, PTextRange ranges, int maxCount)
|
||||
{
|
||||
QVector<QTextLayout::FormatRange> t_retval;
|
||||
QVector<TQTextLayoutFormatRange> t_trans;
|
||||
t_retval = ((QTextBlock *)handle)->textFormats();
|
||||
int len = t_retval.size();
|
||||
t_trans.resize(len);
|
||||
setPtrIntArrayLength(retval, len);
|
||||
if (len>0) {
|
||||
PTRINT *array = (PTRINT *)getPtrIntArrayAddr(retval);
|
||||
for (int i = 0; i < len; i++) {
|
||||
t_trans[i].start = t_retval.at(i).start;
|
||||
t_trans[i].length = t_retval.at(i).length;
|
||||
t_trans[i].format = (const QTextCharFormatH) &t_retval.at(i).format;
|
||||
array[i] = (PTRINT) (&t_trans.at(i));
|
||||
}
|
||||
}
|
||||
int res = 0;
|
||||
int cnt = maxCount;
|
||||
int sz;
|
||||
|
||||
t_retval = ((QTextBlock *)handle)->textFormats();
|
||||
sz = t_retval.size();
|
||||
if (sz > cnt) cnt = sz;
|
||||
|
||||
for (int i=0; i<sz; i++)
|
||||
{
|
||||
ranges[i].start = t_retval.at(i).start;
|
||||
ranges[i].length = t_retval.at(i).length;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
QTextFragmentH QTextFragment_Create()
|
||||
{
|
||||
return (QTextFragmentH) new QTextFragment();
|
||||
|
@ -61,7 +61,12 @@ C_EXPORT int QTextBlock_lineCount(QTextBlockH handle);
|
||||
C_EXPORT void QTextBlock_next(QTextBlockH handle, QTextBlockH retval);
|
||||
C_EXPORT void QTextBlock_previous(QTextBlockH handle, QTextBlockH retval);
|
||||
C_EXPORT int QTextBlock_fragmentIndex(QTextBlockH handle);
|
||||
C_EXPORT void QTextBlock_textFormats(QTextBlockH handle, PPtrIntArray retval);
|
||||
|
||||
/* utility function, there's no direct Qt mapping */
|
||||
C_EXPORT int QTextBlock_textFormatsCount(QTextBlockH handle);
|
||||
/* utility function, there's no direct Qt mapping */
|
||||
C_EXPORT int QTextBlock_textFormatsRanges(QTextBlockH handle, PTextRange ranges, int maxCount);
|
||||
|
||||
C_EXPORT QTextFragmentH QTextFragment_Create();
|
||||
C_EXPORT void QTextFragment_Destroy(QTextFragmentH handle);
|
||||
C_EXPORT QTextFragmentH QTextFragment_Create2(const QTextFragmentH o);
|
||||
|
@ -8747,6 +8747,15 @@ function QTextInlineObject_textPosition(handle: QTextInlineObjectH): Integer; cd
|
||||
function QTextInlineObject_formatIndex(handle: QTextInlineObjectH): Integer; cdecl; external Qt5PasLib name 'QTextInlineObject_formatIndex';
|
||||
procedure QTextInlineObject_format(handle: QTextInlineObjectH; retval: QTextFormatH); cdecl; external Qt5PasLib name 'QTextInlineObject_format';
|
||||
|
||||
type
|
||||
TTextRange = packed record
|
||||
start : longint;
|
||||
length : longint;
|
||||
end;
|
||||
PTextRange = ^TTextRange;
|
||||
TTextRangeArray = array[word] of TTextRange;
|
||||
PTextRangeArray = ^TTextRangeArray;
|
||||
|
||||
function QTextLayout_Create(): QTextLayoutH; cdecl; external Qt5PasLib name 'QTextLayout_Create';
|
||||
procedure QTextLayout_Destroy(handle: QTextLayoutH); cdecl; external Qt5PasLib name 'QTextLayout_Destroy';
|
||||
function QTextLayout_Create(text: PWideString): QTextLayoutH; cdecl; external Qt5PasLib name 'QTextLayout_Create2';
|
||||
@ -8789,8 +8798,8 @@ procedure QTextLayout_glyphRuns(handle: QTextLayoutH; retval: PPtrIntArray; from
|
||||
procedure QTextLayout_setFlags(handle: QTextLayoutH; flags: Integer); cdecl; external Qt5PasLib name 'QTextLayout_setFlags';
|
||||
|
||||
procedure QTextLayout_clearFormats(handle: QTextLayoutH); cdecl; external Qt5PasLib name 'QTextLayout_clearFormats';
|
||||
procedure QTextLayout_formats(handle: QTextLayoutH; retval: PPtrIntArray); cdecl; external Qt5PasLib name 'QTextLayout_formats';
|
||||
procedure QTextLayout_setFormats(handle: QTextLayoutH; formats: PPtrIntArray); cdecl; external Qt5PasLib name 'QTextLayout_setFormats';
|
||||
function QTextLayout_formatsCount(handle: QTextLayoutH): longint; cdecl; external Qt5PasLib name 'QTextLayout_formatsCount';
|
||||
function QTextLayout_formatsRanges(handle: QTextLayoutH; ranges: PTextRangeArray; longint: integer): longint; cdecl; external Qt5PasLib name 'QTextLayout_formatsRanges';
|
||||
|
||||
function QTextLine_Create(): QTextLineH; cdecl; external Qt5PasLib name 'QTextLine_Create';
|
||||
procedure QTextLine_Destroy(handle: QTextLineH); cdecl; external Qt5PasLib name 'QTextLine_Destroy';
|
||||
@ -8871,7 +8880,9 @@ function QTextBlock_lineCount(handle: QTextBlockH): Integer; cdecl; external Qt5
|
||||
procedure QTextBlock_next(handle: QTextBlockH; retval: QTextBlockH); cdecl; external Qt5PasLib name 'QTextBlock_next';
|
||||
procedure QTextBlock_previous(handle: QTextBlockH; retval: QTextBlockH); cdecl; external Qt5PasLib name 'QTextBlock_previous';
|
||||
function QTextBlock_fragmentIndex(handle: QTextBlockH): Integer; cdecl; external Qt5PasLib name 'QTextBlock_fragmentIndex';
|
||||
procedure QTextBlock_textFormats(handle: QTextBlockH; retval: PPtrIntArray); cdecl; external Qt5PasLib name 'QTextBlock_textFormats';
|
||||
|
||||
function QTextBlock_textFormatsCount(handle: QTextBlockH): longint; cdecl; external Qt5PasLib name 'QTextBlock_textFormatsCount';
|
||||
function QTextBlock_textFormatsRanges(handle: QTextBlockH; ranges: PTextRangeArray; longint: integer): longint; cdecl; external Qt5PasLib name 'QTextBlock_textFormatsRanges';
|
||||
|
||||
function QTextFragment_Create(): QTextFragmentH; cdecl; external Qt5PasLib name 'QTextFragment_Create';
|
||||
procedure QTextFragment_Destroy(handle: QTextFragmentH); cdecl; external Qt5PasLib name 'QTextFragment_Destroy';
|
||||
|
Loading…
Reference in New Issue
Block a user