Changed: Render p and div as block level elements
This commit is contained in:
parent
b5f70a462d
commit
a7ec7dfcbb
2 changed files with 25 additions and 1 deletions
|
@ -572,7 +572,15 @@ namespace NLGUI
|
|||
return "";
|
||||
return _LinkClass.back().c_str();
|
||||
}
|
||||
|
||||
|
||||
std::vector<bool> _BlockLevelElement;
|
||||
inline const bool isBlockLevelElement() const
|
||||
{
|
||||
if (_BlockLevelElement.empty())
|
||||
return false;
|
||||
return _BlockLevelElement.back();
|
||||
}
|
||||
|
||||
// Divs (i.e. interface group)
|
||||
std::vector<class CInterfaceGroup*> _Divs;
|
||||
inline CInterfaceGroup *getDiv() const
|
||||
|
|
|
@ -1145,6 +1145,7 @@ namespace NLGUI
|
|||
|
||||
case HTML_DIV:
|
||||
{
|
||||
_BlockLevelElement.push_back(true);
|
||||
registerAnchorName(MY_HTML_DIV);
|
||||
|
||||
if (present[MY_HTML_DIV_NAME] && value[MY_HTML_DIV_NAME])
|
||||
|
@ -1204,6 +1205,8 @@ namespace NLGUI
|
|||
inst->setPosRef(Hotspot_TL);
|
||||
inst->setParentPosRef(Hotspot_TL);
|
||||
getDiv()->addGroup(inst);
|
||||
|
||||
_BlockLevelElement.back() = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1220,6 +1223,11 @@ namespace NLGUI
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isBlockLevelElement())
|
||||
{
|
||||
newParagraph(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -2118,12 +2126,20 @@ namespace NLGUI
|
|||
popIfNotEmpty (_GlobalColor);
|
||||
endParagraph();
|
||||
break;
|
||||
case HTML_P:
|
||||
endParagraph();
|
||||
break;
|
||||
case HTML_PRE:
|
||||
popIfNotEmpty (_PRE);
|
||||
break;
|
||||
case HTML_DIV:
|
||||
if (isBlockLevelElement())
|
||||
{
|
||||
endParagraph();
|
||||
}
|
||||
_DivName = "";
|
||||
popIfNotEmpty (_Divs);
|
||||
popIfNotEmpty (_BlockLevelElement);
|
||||
break;
|
||||
|
||||
case HTML_TABLE:
|
||||
|
|
Loading…
Reference in a new issue