diff --git a/loader/src/ui/nodes/MDTextArea.cpp b/loader/src/ui/nodes/MDTextArea.cpp index c3228be89..fce2d765b 100644 --- a/loader/src/ui/nodes/MDTextArea.cpp +++ b/loader/src/ui/nodes/MDTextArea.cpp @@ -172,7 +172,7 @@ bool MDTextArea::init(std::string str, CCSize const& size) { m_impl->m_scrollLayer->setTouchEnabled(true); this->addChild(m_impl->m_scrollLayer); - + this->updateLabel(); return true; @@ -499,6 +499,9 @@ struct MDParser { renderer->breakLine(); s_breakListLine = false; } + auto cursor = renderer->getCursorPos(); + auto indent = renderer->getCurrentIndent(); + renderer->moveCursor({ indent, cursor.y }); renderer->pushOpacity(renderer->getCurrentOpacity() / 2); auto lidetail = static_cast(detail); if (s_isOrderedList) { @@ -509,6 +512,8 @@ struct MDParser { renderer->renderString("• "); } renderer->popOpacity(); + auto markerWidth = renderer->getCursorPos().x - indent; + renderer->pushIndent(markerWidth); s_breakListLine = true; } break; @@ -618,6 +623,7 @@ struct MDParser { case MD_BLOCKTYPE::MD_BLOCK_LI: { + renderer->popIndent(); } break; diff --git a/loader/src/ui/nodes/TextRenderer.cpp b/loader/src/ui/nodes/TextRenderer.cpp index f123fb421..d1dee996e 100644 --- a/loader/src/ui/nodes/TextRenderer.cpp +++ b/loader/src/ui/nodes/TextRenderer.cpp @@ -489,7 +489,7 @@ void TextRenderer::breakLine(float incY) { } if (h > y) y = h; m_cursor.y -= y; - m_cursor.x = m_origin.x; + m_cursor.x = m_origin.x + this->getCurrentIndent(); } float TextRenderer::adjustLineAlignment() {