[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 22c911a 2/6: Pass modifiable arguments by ref
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 22c911a 2/6: Pass modifiable arguments by reference |
Date: |
Sat, 13 Oct 2018 20:35:18 -0400 (EDT) |
branch: master
commit 22c911a0145b4dd56ae337e8ae52298fa3ba9d33
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Pass modifiable arguments by reference
Cf. commits a3a294f211 and 06d9a8c475.
---
group_quote_pdf_gen_wx.cpp | 82 ++++++++++++++++++++++------------------------
pdf_command_wx.cpp | 2 +-
pdf_writer_wx.cpp | 6 ++--
pdf_writer_wx.hpp | 2 +-
4 files changed, 45 insertions(+), 47 deletions(-)
diff --git a/group_quote_pdf_gen_wx.cpp b/group_quote_pdf_gen_wx.cpp
index 1142de9..51eefec 100644
--- a/group_quote_pdf_gen_wx.cpp
+++ b/group_quote_pdf_gen_wx.cpp
@@ -243,7 +243,7 @@ class group_quote_pdf_generator_wx
// updated with the space remaining on the last page on output.
int compute_pages_for_table_rows
(pdf_writer_wx& pdf_writer
- ,int* remaining_space
+ ,int& remaining_space
,int header_height
,int row_height
,int last_row_y
@@ -256,20 +256,20 @@ class group_quote_pdf_generator_wx
);
void output_image_header
(pdf_writer_wx& pdf_writer
- ,int* pos_y
+ ,int& pos_y
);
void output_document_header
(pdf_writer_wx& pdf_writer
- ,int* pos_y
+ ,int& pos_y
);
void output_aggregate_values
(pdf_writer_wx& pdf_writer
,wx_table_generator& table_gen
- ,int* pos_y
+ ,int& pos_y
);
void output_footer
(pdf_writer_wx& pdf_writer
- ,int* pos_y
+ ,int& pos_y
,oenum_render_or_only_measure output_mode
);
@@ -624,10 +624,10 @@ void group_quote_pdf_generator_wx::save(std::string
const& output_filename)
int pos_y = 0;
- output_image_header(pdf_writer, &pos_y);
+ output_image_header(pdf_writer, pos_y);
pos_y += 2 * vert_skip;
- output_document_header(pdf_writer, &pos_y);
+ output_document_header(pdf_writer, pos_y);
pos_y += 2 * vert_skip;
// Some of the table columns don't need to be shown if all the values in
@@ -707,14 +707,14 @@ void group_quote_pdf_generator_wx::save(std::string
const& output_filename)
,pdf_writer.get_page_width()
);
- output_aggregate_values(pdf_writer, table_gen, &pos_y);
+ output_aggregate_values(pdf_writer, table_gen, pos_y);
int const y_before_header = pos_y;
table_gen.output_headers(pos_y);
int const header_height = pos_y - y_before_header;
int y_after_footer = pos_y;
- output_footer(pdf_writer, &y_after_footer, oe_only_measure);
+ output_footer(pdf_writer, y_after_footer, oe_only_measure);
int const footer_height = y_after_footer - pos_y;
int const last_row_y = pdf_writer.get_page_bottom();
@@ -722,7 +722,7 @@ void group_quote_pdf_generator_wx::save(std::string const&
output_filename)
int total_pages = compute_pages_for_table_rows
(pdf_writer
- ,&remaining_space
+ ,remaining_space
,header_height
,table_gen.row_height()
,last_row_y
@@ -780,7 +780,7 @@ void group_quote_pdf_generator_wx::save(std::string const&
output_filename)
pos_y += 2 * vert_skip;
}
- output_footer(pdf_writer, &pos_y, oe_render);
+ output_footer(pdf_writer, pos_y, oe_render);
LMI_ASSERT(current_page == total_pages);
output_page_number_and_version(pdf_writer, total_pages, current_page);
@@ -790,7 +790,7 @@ void group_quote_pdf_generator_wx::save(std::string const&
output_filename)
int group_quote_pdf_generator_wx::compute_pages_for_table_rows
(pdf_writer_wx& pdf_writer
- ,int* remaining_space
+ ,int& remaining_space
,int header_height
,int row_height
,int last_row_y
@@ -798,7 +798,7 @@ int
group_quote_pdf_generator_wx::compute_pages_for_table_rows
{
int total_pages = 1;
- int const max_rows_on_first_page = (*remaining_space) / row_height;
+ int const max_rows_on_first_page = remaining_space / row_height;
int remaining_rows = static_cast<int>(rows_.size());
if(max_rows_on_first_page < remaining_rows)
{
@@ -810,11 +810,11 @@ int
group_quote_pdf_generator_wx::compute_pages_for_table_rows
int const page_area_y = last_row_y - first_row_y;
int const rows_per_page = page_area_y / row_height;
total_pages += outward_quotient(remaining_rows, rows_per_page);
- *remaining_space = page_area_y;
+ remaining_space = page_area_y;
remaining_rows %= rows_per_page;
}
- *remaining_space -= remaining_rows * row_height;
+ remaining_space -= remaining_rows * row_height;
return total_pages;
}
@@ -849,7 +849,7 @@ void
group_quote_pdf_generator_wx::output_page_number_and_version
void group_quote_pdf_generator_wx::output_image_header
(pdf_writer_wx& pdf_writer
- ,int* pos_y
+ ,int& pos_y
)
{
wxImage banner_image(load_image("group_quote_banner.png"));
@@ -861,7 +861,7 @@ void group_quote_pdf_generator_wx::output_image_header
// Set the scale to fit the image to the document width.
double const image_width = banner_image.GetWidth();
double const scale = image_width / pdf_writer.get_total_width();
- int const pos_top = *pos_y;
+ int const pos_top = pos_y;
pdf_writer.output_image(banner_image, "banner", scale, 0, pos_y);
auto& pdf_dc = pdf_writer.dc();
@@ -879,7 +879,7 @@ void group_quote_pdf_generator_wx::output_image_header
pdf_dc.DrawLabel
(image_text
,wxRect
- (wxPoint(pdf_writer.get_horz_margin(), (pos_top + *pos_y) / 2)
+ (wxPoint(pdf_writer.get_horz_margin(), (pos_top + pos_y) / 2)
,pdf_dc.GetMultiLineTextExtent(image_text)
)
,wxALIGN_CENTER_HORIZONTAL
@@ -888,7 +888,7 @@ void group_quote_pdf_generator_wx::output_image_header
void group_quote_pdf_generator_wx::output_document_header
(pdf_writer_wx& pdf_writer
- ,int* pos_y
+ ,int& pos_y
)
{
using namespace html;
@@ -927,7 +927,7 @@ void group_quote_pdf_generator_wx::output_document_header
pdf_writer.output_html
(pdf_writer.get_horz_margin()
- ,*pos_y
+ ,pos_y
,pdf_writer.get_page_width() / 2
,title_html
);
@@ -992,7 +992,7 @@ void group_quote_pdf_generator_wx::output_document_header
int const summary_height = pdf_writer.output_html
(pdf_writer.get_horz_margin() + pdf_writer.get_page_width() / 2
- ,*pos_y
+ ,pos_y
,pdf_writer.get_page_width() / 2
,summary_html
);
@@ -1003,30 +1003,28 @@ void
group_quote_pdf_generator_wx::output_document_header
pdf_dc.SetBrush(*wxTRANSPARENT_BRUSH);
pdf_dc.DrawRectangle
(pdf_writer.get_horz_margin() + pdf_writer.get_page_width() / 2
- ,*pos_y
+ ,pos_y
,pdf_writer.get_page_width() / 2
,summary_height
);
- *pos_y += summary_height;
+ pos_y += summary_height;
}
void group_quote_pdf_generator_wx::output_aggregate_values
(pdf_writer_wx & pdf_writer
,wx_table_generator& table_gen
- ,int * pos_y // PDF !! Use reference, not pointer.
+ ,int & pos_y
)
{
- int& y = *pos_y;
+ table_gen.output_horz_separator(e_first_totalled_column, e_col_max, pos_y);
+ table_gen.output_vert_separator(e_first_totalled_column, pos_y);
+ table_gen.output_vert_separator(e_col_max, pos_y);
- table_gen.output_horz_separator(e_first_totalled_column, e_col_max, y);
- table_gen.output_vert_separator(e_first_totalled_column, y);
- table_gen.output_vert_separator(e_col_max, y);
+ pos_y += table_gen.row_height();
+ int const y_next = pos_y + table_gen.row_height();
- y += table_gen.row_height();
- int const y_next = y + table_gen.row_height();
-
- table_gen.output_vert_separator(e_col_number, y);
+ table_gen.output_vert_separator(e_col_number, pos_y);
table_gen.output_vert_separator(e_col_number, y_next);
auto& pdf_dc = pdf_writer.dc();
@@ -1037,7 +1035,7 @@ void group_quote_pdf_generator_wx::output_aggregate_values
wxDCFontChanger set_bold_font(pdf_dc, pdf_dc.GetFont().Bold());
pdf_dc.DrawLabel
("Census"
- ,table_gen.external_text_rect(e_col_name, y)
+ ,table_gen.external_text_rect(e_col_name, pos_y)
,wxALIGN_LEFT
);
@@ -1049,7 +1047,7 @@ void group_quote_pdf_generator_wx::output_aggregate_values
LMI_ASSERT(0 < e_first_totalled_column);
pdf_dc.DrawLabel
("Totals:"
- ,table_gen.external_text_rect(e_first_totalled_column - 1, y)
+ ,table_gen.external_text_rect(e_first_totalled_column - 1, pos_y)
,wxALIGN_RIGHT
);
@@ -1079,7 +1077,7 @@ void group_quote_pdf_generator_wx::output_aggregate_values
table_gen.output_highlighted_cell
(i
- ,y
+ ,pos_y
,'$' + ledger_format(totals_.total(i), f)
);
@@ -1144,18 +1142,18 @@ void
group_quote_pdf_generator_wx::output_aggregate_values
table_gen.output_highlighted_cell(i, y_next, average_text);
}
- table_gen.output_vert_separator(e_col_max, y);
- table_gen.output_horz_separator(e_col_number, e_col_max, y);
+ table_gen.output_vert_separator(e_col_max, pos_y);
+ table_gen.output_horz_separator(e_col_number, e_col_max, pos_y);
table_gen.output_vert_separator(e_col_max, y_next);
table_gen.output_horz_separator(e_first_totalled_column, e_col_max,
y_next);
- y = y_next + table_gen.row_height();
+ pos_y = y_next + table_gen.row_height();
}
void group_quote_pdf_generator_wx::output_footer
(pdf_writer_wx& pdf_writer
- ,int* pos_y
+ ,int& pos_y
,oenum_render_or_only_measure output_mode
)
{
@@ -1173,14 +1171,14 @@ void group_quote_pdf_generator_wx::output_footer
,output_mode
);
- *pos_y += vert_skip;
+ pos_y += vert_skip;
}
auto footer_html = html::tag::p(report_data_.footer_html_);
- *pos_y += pdf_writer.output_html
+ pos_y += pdf_writer.output_html
(pdf_writer.get_horz_margin()
- ,*pos_y
+ ,pos_y
,pdf_writer.get_page_width()
,footer_html
,output_mode
diff --git a/pdf_command_wx.cpp b/pdf_command_wx.cpp
index 2640790..b7ebeb2 100644
--- a/pdf_command_wx.cpp
+++ b/pdf_command_wx.cpp
@@ -647,7 +647,7 @@ class scaled_image_cell : public html_cell_for_pdf_output
x += m_PosX;
int pos_y = y + m_PosY;
- writer.output_image(image_, src_.utf8_str(), scale_factor_, x, &pos_y);
+ writer.output_image(image_, src_.utf8_str(), scale_factor_, x, pos_y);
}
private:
diff --git a/pdf_writer_wx.cpp b/pdf_writer_wx.cpp
index 0420fcf..5043a18 100644
--- a/pdf_writer_wx.cpp
+++ b/pdf_writer_wx.cpp
@@ -171,7 +171,7 @@ void pdf_writer_wx::output_image
,char const* image_name
,double scale
,int x
- ,int* pos_y
+ ,int& pos_y
,oenum_render_or_only_measure output_mode
)
{
@@ -191,7 +191,7 @@ void pdf_writer_wx::output_image
LMI_ASSERT(pdf_doc);
pdf_doc->SetImageScale(scale);
- pdf_doc->Image(image_name, image, x, *pos_y);
+ pdf_doc->Image(image_name, image, x, pos_y);
pdf_doc->SetImageScale(1);
}
break;
@@ -200,7 +200,7 @@ void pdf_writer_wx::output_image
break;
}
- *pos_y += y;
+ pos_y += y;
}
/// Compute vertical page break positions needed when outputting the given HTML
diff --git a/pdf_writer_wx.hpp b/pdf_writer_wx.hpp
index 7c75ded..b22a7bb 100644
--- a/pdf_writer_wx.hpp
+++ b/pdf_writer_wx.hpp
@@ -98,7 +98,7 @@ class pdf_writer_wx
,char const* image_name
,double scale
,int x
- ,int* pos_y
+ ,int& pos_y
,oenum_render_or_only_measure output_mode = oe_render
);
- [lmi-commits] [lmi] master updated (0c75401 -> 3e5ce14), Greg Chicares, 2018/10/13
- [lmi-commits] [lmi] master 5acf3fb 5/6: Rename a member function for concinnity, Greg Chicares, 2018/10/13
- [lmi-commits] [lmi] master 3e5ce14 6/6: Use more powerful testing commands, Greg Chicares, 2018/10/13
- [lmi-commits] [lmi] master 5ef1aa2 3/6: Adjust whitespace for vertical alignment, Greg Chicares, 2018/10/13
- [lmi-commits] [lmi] master 63c28da 4/6: Remove a needless "PDF !!" marker, Greg Chicares, 2018/10/13
- [lmi-commits] [lmi] master 3639ac5 1/6: Remove references to obsolete '--pyx=only_new_pdf', Greg Chicares, 2018/10/13
- [lmi-commits] [lmi] master 22c911a 2/6: Pass modifiable arguments by reference,
Greg Chicares <=