From 05050d18e34d17dc9a9a1ac2e607861ec3cccbd4 Mon Sep 17 00:00:00 2001 From: Dax Date: Sun, 3 Jan 2021 14:48:33 +0100 Subject: [PATCH] Surface: Don't hardcode comment column --- rdcore/renderer/renderer.cpp | 11 ++++------- rdcore/renderer/renderer.h | 3 +-- rdcore/renderer/surface.cpp | 2 +- rdcore/renderer/surface.h | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/rdcore/renderer/renderer.cpp b/rdcore/renderer/renderer.cpp index b37d7876..cc8872c2 100644 --- a/rdcore/renderer/renderer.cpp +++ b/rdcore/renderer/renderer.cpp @@ -16,7 +16,7 @@ #define SEPARATOR_LENGTH 50 #define COMMENT_SEPARATOR " | " -Renderer::Renderer(Context* ctx, rd_flag flags, int* commentcolumn): Object(ctx), m_commentcolumn(commentcolumn), m_flags(flags) { } +Renderer::Renderer(Context* ctx, rd_flag flags): Object(ctx), m_flags(flags) { } bool Renderer::render(const RDDocumentItem* item) { @@ -250,13 +250,10 @@ void Renderer::renderComments(rd_address address) { if(this->hasFlag(RendererFlags_NoComments)) return; - // Recalculate comment column - if(m_commentcolumn) *m_commentcolumn = std::max(*m_commentcolumn, m_text.size()); - std::string comment = this->document()->comment(address, false, COMMENT_SEPARATOR); if(comment.empty()) return; - if(m_commentcolumn) this->chunk(std::string((*m_commentcolumn - m_text.size()) + INDENT_COMMENT, ' ')); + this->chunk(std::string(INDENT_COMMENT, ' ')); this->chunk("# " + Utils::simplified(comment), Theme_Comment); } @@ -346,14 +343,14 @@ std::string Renderer::getInstruction(Context* ctx, rd_address address) std::string Renderer::getAssemblerInstruction(Context* ctx, rd_address address) { - Renderer r(ctx, RendererFlags_Simplified, nullptr); + Renderer r(ctx, RendererFlags_Simplified); r.renderAssemblerInstruction(address); return r.text(); } std::string Renderer::getRDILInstruction(Context* ctx, rd_address address) { - Renderer r(ctx, RendererFlags_Simplified, nullptr); + Renderer r(ctx, RendererFlags_Simplified); r.renderRDILInstruction(address); return r.text(); } diff --git a/rdcore/renderer/renderer.h b/rdcore/renderer/renderer.h index 736a0ee5..1ee19c19 100644 --- a/rdcore/renderer/renderer.h +++ b/rdcore/renderer/renderer.h @@ -35,7 +35,7 @@ class Renderer: public Object }; public: - Renderer(Context* ctx, rd_flag flags, int* commentcolumn); + Renderer(Context* ctx, rd_flag flags); bool render(const RDDocumentItem* item); const std::string& text() const; const Chunks& chunks() const; @@ -85,7 +85,6 @@ class Renderer: public Object private: mutable std::string m_asminstruction, m_rdilinstruction; u8 m_currentfg{Theme_Default}, m_currentbg{Theme_Default}; - int* m_commentcolumn; std::deque m_tokens; std::string m_text; rd_flag m_flags; diff --git a/rdcore/renderer/surface.cpp b/rdcore/renderer/surface.cpp index d9ba766a..b1995a05 100644 --- a/rdcore/renderer/surface.cpp +++ b/rdcore/renderer/surface.cpp @@ -407,7 +407,7 @@ void Surface::update(const RDDocumentItem* currentitem) continue; } - Renderer r(this->context(), m_flags, &m_commentcolumn); + Renderer r(this->context(), m_flags); if(!r.render(std::addressof(*it))) continue; m_surface[row].item = *it; diff --git a/rdcore/renderer/surface.h b/rdcore/renderer/surface.h index 696f816b..cce2937d 100644 --- a/rdcore/renderer/surface.h +++ b/rdcore/renderer/surface.h @@ -89,7 +89,7 @@ class Surface: public Object SurfacePath m_path; std::unordered_map m_surface; std::pair m_items{ }; - int m_rows{0}, m_cols{0}, m_firstcol{0}, m_commentcolumn{0}, m_lastcolumn{0}; + int m_rows{0}, m_cols{0}, m_firstcol{0}, m_lastcolumn{0}; std::string m_selectedtext; uintptr_t m_userdata; bool m_active{false};