[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 0d6c7f0 062/156: Get rid of separate wxDC par
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 0d6c7f0 062/156: Get rid of separate wxDC parameter in the code |
Date: |
Tue, 30 Jan 2018 17:22:12 -0500 (EST) |
branch: master
commit 0d6c7f0d33bcb673ee445ac5c841e19727cb186d
Author: Vadim Zeitlin <address@hidden>
Commit: Vadim Zeitlin <address@hidden>
Get rid of separate wxDC parameter in the code
This DC is always the one associated with pdf_writer_wx, so there is no
need to pass it around when we already pass the writer object itself.
Doing it was thought to be a convenience, but the DC is actually used
very little in the code, so it became a burden instead.
---
ledger_pdf_generator_wx.cpp | 72 +++++++++++++++------------------------------
1 file changed, 24 insertions(+), 48 deletions(-)
diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index ddb5c10..b64d02a 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -250,12 +250,9 @@ class illustration_table_generator : public
wx_table_generator
public:
static int const rows_per_group = 5;
- illustration_table_generator
- (pdf_writer_wx& writer
- ,wxDC& dc
- )
+ explicit illustration_table_generator(pdf_writer_wx& writer)
:wx_table_generator
- (dc
+ (writer.dc()
,writer.get_horz_margin()
,writer.get_page_width()
)
@@ -296,10 +293,9 @@ class using_illustration_table
// virtual method.
illustration_table_generator create_table_generator
(pdf_writer_wx& writer
- ,wxDC& dc
) const
{
- illustration_table_generator table(writer, dc);
+ illustration_table_generator table(writer);
for(auto const& i : get_table_columns())
{
@@ -331,13 +327,11 @@ class page
virtual void pre_render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
)
{
stifle_warning_for_unused_value(ledger);
stifle_warning_for_unused_value(writer);
- stifle_warning_for_unused_value(dc);
stifle_warning_for_unused_value(interpolate_html);
}
@@ -345,7 +339,6 @@ class page
virtual void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) = 0;
};
@@ -359,7 +352,6 @@ class pdf_illustration : protected html_interpolator
)
:html_interpolator(ledger.make_evaluator())
,writer_(output.string(), wxPORTRAIT, &html_font_sizes)
- ,dc_(writer_.dc())
,ledger_(ledger)
{
init_variables();
@@ -377,7 +369,7 @@ class pdf_illustration : protected html_interpolator
{
for(auto const& page : pages_)
{
- page->pre_render(ledger_, writer_, dc_, *this);
+ page->pre_render(ledger_, writer_, *this);
}
bool first = true;
@@ -389,10 +381,10 @@ class pdf_illustration : protected html_interpolator
}
else
{
- dc_.StartPage();
+ writer_.dc().StartPage();
}
- page->render(ledger_, writer_, dc_, *this);
+ page->render(ledger_, writer_, *this);
}
}
@@ -457,10 +449,6 @@ class pdf_illustration : protected html_interpolator
// Writer object used for the page metrics and higher level functions.
pdf_writer_wx writer_;
- // The DC associated with the writer, it could be accessed via it, but as
- // it's needed often, provide a shorter alias for it.
- wxDC& dc_;
-
// Source of the data.
Ledger const& ledger_;
@@ -486,10 +474,11 @@ class cover_page : public page
void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
+ auto& dc = writer.dc();
+
dc.SetPen(wxPen(HIGHLIGHT_COL, 2));
dc.SetBrush(*wxTRANSPARENT_BRUSH);
@@ -656,7 +645,6 @@ class page_with_footer : public page
void pre_render
(Ledger const& /* ledger */
,pdf_writer_wx& writer
- ,wxDC& /* dc */
,html_interpolator const& interpolate_html
) override
{
@@ -682,7 +670,6 @@ class page_with_footer : public page
void render
(Ledger const& /* ledger */
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
@@ -696,6 +683,8 @@ class page_with_footer : public page
,get_footer_html(interpolate_html)
);
+ auto& dc = writer.dc();
+
dc.SetPen(HIGHLIGHT_COL);
dc.DrawLine
(frame_horz_margin
@@ -815,18 +804,16 @@ class numbered_page : public page_with_footer
void pre_render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
- page_with_footer::pre_render(ledger, writer, dc, interpolate_html);
+ page_with_footer::pre_render(ledger, writer, interpolate_html);
this_page_number_ = ++last_page_number_;
extra_pages_ = get_extra_pages_needed
(ledger
,writer
- ,dc
,interpolate_html
);
@@ -852,13 +839,13 @@ class numbered_page : public page_with_footer
}
protected:
- void next_page(wxDC& dc)
+ void next_page(pdf_writer_wx& writer)
{
// This method may only be called if we had reserved enough physical
// pages for this logical pages by overriding get_extra_pages_needed().
LMI_ASSERT(extra_pages_ > 0);
- dc.StartPage();
+ writer.dc().StartPage();
this_page_number_++;
extra_pages_--;
@@ -870,13 +857,11 @@ class numbered_page : public page_with_footer
virtual int get_extra_pages_needed
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) const
{
stifle_warning_for_unused_value(ledger);
stifle_warning_for_unused_value(writer);
- stifle_warning_for_unused_value(dc);
stifle_warning_for_unused_value(interpolate_html);
return 0;
@@ -1111,11 +1096,10 @@ class narrative_summary_page : public numbered_page
void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
- numbered_page::render(ledger, writer, dc, interpolate_html);
+ numbered_page::render(ledger, writer, interpolate_html);
text summary_html = get_header_html
(ledger.GetLedgerInvariant()
@@ -1366,11 +1350,10 @@ class narrative_summary_cont_page : public numbered_page
void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
- numbered_page::render(ledger, writer, dc, interpolate_html);
+ numbered_page::render(ledger, writer, interpolate_html);
// Just a convenient helper performing a common operation.
auto const add_body_paragraph = [=](std::string const& s) -> text
@@ -1681,11 +1664,10 @@ class columns_headings_page : public numbered_page
void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
- numbered_page::render(ledger, writer, dc, interpolate_html);
+ numbered_page::render(ledger, writer, interpolate_html);
writer.output_html
(writer.get_horz_margin()
@@ -1716,14 +1698,12 @@ class numeric_summary_or_attachment_page
void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
numbered_or_attachment_base<is_attachment>::render
(ledger
,writer
- ,dc
,interpolate_html
);
@@ -1746,13 +1726,12 @@ class page_with_tabular_report
void render
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) override
{
- numbered_page::render(ledger, writer, dc, interpolate_html);
+ numbered_page::render(ledger, writer, interpolate_html);
- illustration_table_generator table{create_table_generator(writer, dc)};
+ illustration_table_generator table{create_table_generator(writer)};
auto const& columns = get_table_columns();
@@ -1769,7 +1748,6 @@ class page_with_tabular_report
int pos_y = render_or_measure_fixed_page_part
(table
,writer
- ,dc
,interpolate_html
,e_output_normal
);
@@ -1801,8 +1779,8 @@ class page_with_tabular_report
// to have page breaks in the middle of a group.
if(pos_y >= page_bottom - rows_per_group*row_height)
{
- next_page(dc);
- numbered_page::render(ledger, writer, dc,
interpolate_html);
+ next_page(writer);
+ numbered_page::render(ledger, writer,
interpolate_html);
break;
}
}
@@ -1817,7 +1795,6 @@ class page_with_tabular_report
virtual int render_or_measure_fixed_page_part
(illustration_table_generator& table
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
,enum_output_mode output_mode
) const = 0;
@@ -1828,16 +1805,14 @@ class page_with_tabular_report
int get_extra_pages_needed
(Ledger const& ledger
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
) const override
{
- illustration_table_generator table{create_table_generator(writer, dc)};
+ illustration_table_generator table{create_table_generator(writer)};
int const pos_y = render_or_measure_fixed_page_part
(table
,writer
- ,dc
,interpolate_html
,e_output_measure_only
);
@@ -1888,7 +1863,6 @@ class tabular_detail_page : public
page_with_tabular_report
int render_or_measure_fixed_page_part
(illustration_table_generator& table
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
,enum_output_mode output_mode
) const override
@@ -1903,6 +1877,8 @@ class tabular_detail_page : public
page_with_tabular_report
,output_mode
);
+ auto& dc = writer.dc();
+
// Decrease the font size for the table to match the main page
// body text size.
dc.SetFont(dc.GetFont().Smaller());
@@ -1998,7 +1974,6 @@ class tabular_detail2_page : public
page_with_tabular_report
int render_or_measure_fixed_page_part
(illustration_table_generator& table
,pdf_writer_wx& writer
- ,wxDC& dc
,html_interpolator const& interpolate_html
,enum_output_mode output_mode
) const override
@@ -2015,6 +1990,7 @@ class tabular_detail2_page : public
page_with_tabular_report
// Decrease the font size for the table to match the main page
// body text size.
+ auto& dc = writer.dc();
dc.SetFont(dc.GetFont().Smaller());
table.output_header(&pos_y, output_mode);
- [lmi-commits] [lmi] master 6a5cd32 079/156: Add "Table Rating" to the header if necessary, (continued)
- [lmi-commits] [lmi] master 6a5cd32 079/156: Add "Table Rating" to the header if necessary, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master b01d478 029/156: Resurrect ledger XML IO code as new ledger_evaluator, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 89c676d 009/156: Add pdf_writer_wx::get_page_height() helper, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 8e26a76 004/156: Improve encapsulation by returning only wxDC from pdf_writer_wx, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master cb5cb7b 021/156: Add more contents to the narrative summary page, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 173cc28 022/156: Change interpolated strings syntax to be Mustache-like, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 2e4850c 023/156: Implement the rest of "Narrative Summary" page body text, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master c341dbb 108/156: Factor out compliance_tracking template from the footer one, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 76881d8 019/156: Refactor: extra add_body_paragraph() helper, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 08127f1 028/156: Add symbolic constant for the "valign" HTML attribute, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 0d6c7f0 062/156: Get rid of separate wxDC parameter in the code,
Greg Chicares <=
- [lmi-commits] [lmi] master bbada54 084/156: Add image to the columns headings page too, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 3cf5a1c 056/156: Add wx_table_generator::output_super_header(), Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 95e616e 105/156: Add wx_table_generator::columns_count() accessor, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 3f1d437 088/156: Add add_abbreviated_variable() helper, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 118a249 097/156: Add "Column Definitions and Key Terms" page to NASD illustrations, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 1ab47c0 063/156: Fix definition of integer-valued variable in PDF illustrations, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master bb21f4d 077/156: Fix header for composite illustrations, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master d2b2cae 038/156: Change column_headings page to use external template, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 2bb1c91 041/156: Remove unnecessary outer html and body tags, Greg Chicares, 2018/01/30
- [lmi-commits] [lmi] master 1afd45c 040/156: Avoid spurious coding style violation, Greg Chicares, 2018/01/30