fix uneeded pointer indirection with glyph_info/glyph_position

This commit is contained in:
Dane Springmeyer 2014-10-09 18:38:29 -07:00
parent aed5243302
commit 536b23bfde
4 changed files with 7 additions and 7 deletions

View file

@ -42,8 +42,8 @@ struct glyph_info;
struct glyph_position struct glyph_position
{ {
glyph_position(glyph_info const& _glyph, pixel_position const& _pos, rotation const& _rot) glyph_position(glyph_info const& _glyph, pixel_position const& _pos, rotation const& _rot)
: glyph(&_glyph), pos(_pos), rot(_rot) { } : glyph(_glyph), pos(_pos), rot(_rot) { }
glyph_info const* glyph; glyph_info const& glyph;
pixel_position pos; pixel_position pos;
rotation rot; rotation rot;
}; };

View file

@ -447,7 +447,7 @@ void cairo_context::add_text(glyph_positions_ptr path,
set_operator(halo_comp_op); set_operator(halo_comp_op);
for (auto const& glyph_pos : *path) for (auto const& glyph_pos : *path)
{ {
glyph_info const& glyph = *(glyph_pos.glyph); glyph_info const& glyph = glyph_pos.glyph;
if (glyph.format) if (glyph.format)
{ {
@ -479,9 +479,9 @@ void cairo_context::add_text(glyph_positions_ptr path,
stroke(); stroke();
} }
set_operator(comp_op); set_operator(comp_op);
for (auto const &glyph_pos : *path) for (auto const& glyph_pos : *path)
{ {
glyph_info const& glyph = *(glyph_pos.glyph); glyph_info const& glyph = glyph_pos.glyph;
if (glyph.format) if (glyph.format)
{ {

View file

@ -64,7 +64,7 @@ text_render_thunk::text_render_thunk(placements_list const& placements,
for (glyph_position const& pos : *positions) for (glyph_position const& pos : *positions)
{ {
glyph_vec.push_back(*pos.glyph); glyph_vec.push_back(pos.glyph);
new_pos.push_back(glyph_vec.back(), pos.pos, pos.rot); new_pos.push_back(glyph_vec.back(), pos.pos, pos.rot);
} }

View file

@ -61,7 +61,7 @@ void text_renderer::prepare_glyphs(glyph_positions const& positions)
for (auto const& glyph_pos : positions) for (auto const& glyph_pos : positions)
{ {
glyph_info const& glyph = *(glyph_pos.glyph); glyph_info const& glyph = glyph_pos.glyph;
glyph.face->set_character_sizes(glyph.format->text_size * scale_factor_); //TODO: Optimize this? glyph.face->set_character_sizes(glyph.format->text_size * scale_factor_); //TODO: Optimize this?
matrix.xx = static_cast<FT_Fixed>( glyph_pos.rot.cos * 0x10000L); matrix.xx = static_cast<FT_Fixed>( glyph_pos.rot.cos * 0x10000L);