43 const char *
TagName()
const override {
return "i"; }
55 const char *
TagName()
const override {
return "c"; }
67 {
if ((pTag->
pPrev=pLast)) pLast->
pNext=pTag;
else pTags=pTag; pLast=pTag; }
69 {
C4MarkupTag *pL=pLast;
if (!pL)
return nullptr;
if ((pLast=pL->
pPrev)) pLast->
pNext=
nullptr;
else pTags=
nullptr;
return pL; }
71 C4Markup(
bool fDoClr) { pTags=pLast=
nullptr; this->fDoClr=fDoClr; };
73 {
C4MarkupTag *pTag=pTags,*pNext;
while (pTag) { pNext=pTag->
pNext;
delete pTag; pTag=pNext; } }
75 bool Read(
const char **ppText,
bool fSkip=
false);
void Apply(C4BltTransform &rBltTrf, DWORD &dwClr)
std::string OpeningTags() const
std::string ClosingTags() const
bool SkipTags(const char **ppText)
static bool StripMarkup(char *szText)
bool Read(const char **ppText, bool fSkip=false)
const char * TagName() const override
void Apply(C4BltTransform &rBltTrf, bool fDoClr, DWORD &dwClr) override
C4MarkupTagColor(DWORD dwClr)
std::string OpeningTag() const override
virtual std::string OpeningTag() const
virtual std::string ClosingTag() const
virtual ~C4MarkupTag()=default
virtual void Apply(C4BltTransform &rBltTrf, bool fDoClr, DWORD &dwClr)=0
virtual const char * TagName() const =0
void Apply(C4BltTransform &rBltTrf, bool fDoClr, DWORD &dwClr) override
const char * TagName() const override