62#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
119 ":HighlightRefColour",
135 ":InitiallyAvailable",
136 ":ProgramConnectionTag",
142 ":NoTokenActionSlots",
145 ":MultipleSelection",
154 ":OrigRefLineColour",
155 ":OrigRefFillColour",
208 ":GetAvailabilityStatus",
211 ":GetCursorPosition",
216 ":GetHighlightStatus",
217 ":GetInteractionStatus",
220 ":GetLastAnchorFired",
230 ":GetSelectionStatus",
258 ":SetCounterEndPosition",
259 ":SetCounterPosition",
260 ":SetCounterTrigger",
261 ":SetCursorPosition",
268 ":SetHighlightStatus",
269 ":SetInteractionStatus",
301 ":NewAbsoluteColour",
308 ":SetBackgroundColour",
312 ":SetFontAttributes",
313 ":SetVideoDecodeOffset",
314 ":GetVideoDecodeOffset",
317 ":SetBitmapDecodeOffset",
318 ":GetBitmapDecodeOffset",
319 ":SetSliderParameters",
335 {
"black", 0, 0, 0, 0 },
336 {
"transparent", 0, 0, 0, 255 },
337 {
"gray", 128, 128, 128, 0 },
338 {
"darkgray", 192, 192, 192, 0 },
339 {
"red", 255, 0, 0, 0 },
340 {
"darkred", 128, 0, 0, 0 },
341 {
"blue", 0, 0, 255, 0 },
342 {
"darkblue", 0, 0, 128, 0 },
343 {
"green", 0, 255, 0, 0 },
344 {
"darkgreen", 0, 128, 0, 0 },
345 {
"yellow", 255, 255, 0, 0 },
346 {
"cyan", 0, 255, 255, 0 },
347 {
"magenta", 255, 0, 255, 0 }
356 if (str.compare(
rchTagNames[i], Qt::CaseInsensitive) == 0)
367#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
368static constexpr int MAX_ENUM { 30 };
404 Error(
"Malformed comment");
438 Error(
"Unrecognised tag");
465 Error(
"Unterminated string");
473 Error(
"Insufficient memory");
504 Error(
"Unterminated string");
519 Error(
"Malformed quoted printable string");
534 else if (
m_ch >=
'A' &&
m_ch <=
'F')
536 byte =
m_ch -
'A' + 10;
538 else if (
m_ch >=
'a' &&
m_ch <=
'f')
540 byte =
m_ch -
'a' + 10;
544 Error(
"Malformed quoted printable string");
554 else if (
m_ch >=
'A' &&
m_ch <=
'F')
556 byte +=
m_ch -
'A' + 10;
558 else if (
m_ch >=
'a' &&
m_ch <=
'f')
560 byte +=
m_ch -
'a' + 10;
564 Error(
"Malformed quoted printable string");
575 Error(
"Insufficient memory");
589 MHERROR(
"Base 64 string is not implemented");
593 MHERROR(
"3-byte hex constant is not implemented");
609 bool negative =
m_ch ==
'-';
615 if (m_ch < '0' || m_ch >
'9')
617 Error(
"Expected digit after '-'");
628 MHERROR(
"Hex constant is not implemented");
706 while ((isalpha(
m_ch) ||
m_ch ==
'-')
713 if (buff.compare(
"NULL", Qt::CaseInsensitive) == 0)
719 if (buff.compare(
"true", Qt::CaseInsensitive) == 0)
726 if (buff.compare(
"false", Qt::CaseInsensitive) == 0)
780 if (buff.compare(colour.m_name, Qt::CaseInsensitive) == 0)
783 auto *str = (
unsigned char *)realloc(
m_string, 4 + 1);
787 Error(
"Insufficient memory");
801 Error(
"Unrecognised enumeration");
832 Error(
"Unknown character");
853 Error(
"Expected ':' after '{'");
1000 Error(
"Expected '('");
1093 Error(
"Unexpected symbol");
@ C_NEW_GENERIC_OCTETSTRING
@ C_SET_COUNTER_END_POSITION
@ C_GET_LAST_ANCHOR_FIRED
@ C_NEW_GENERIC_CONTENT_REF
@ C_GET_INTERACTION_STATUS
@ C_SET_INTERACTION_STATUS
@ C_NEW_GENERIC_OBJECT_REF
@ C_GET_AVAILABILITY_STATUS
static constexpr ssize_t MAX_TAG_LENGTH
const std::array< const QString, 253 > rchTagNames
static int FindTag(const QString &str)
static constexpr ssize_t MAX_ENUM
static int GetEventType(const QString &str)
void Copy(const MHOctetString &str)
MHParseNode * Parse() override
void Error(const char *str) const
static int GetStyle(const QString &str)
static int GetOrientation(const QString &str)
static int GetStartCorner(const QString &str)
static int GetLineOrientation(const QString &str)
static int GetJustification(const QString &str)