Skip to content

Commit ed3ce45

Browse files
authored
Merge pull request #842 from MichaelBell/patch-fix-text-newline
Fix newlines in rotated text
2 parents 1a7deaa + 81f42f2 commit ed3ce45

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

libraries/pico_vector/pico_vector.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ namespace pimoroni {
123123
caret *= transform;
124124

125125
pretty_poly::point_t<float> space;
126-
pretty_poly::point_t<float> carriage_return(0, text_metrics.line_height);
126+
pretty_poly::point_t<float> carriage_return(0, -text_metrics.line_height);
127127

128128
space.x = alright_fonts::measure_character(text_metrics, ' ').w;
129129
if (space.x == 0) {
@@ -132,6 +132,7 @@ namespace pimoroni {
132132

133133
space *= transform;
134134
carriage_return *= transform;
135+
const pretty_poly::point_t<float> initial_carriage_return = carriage_return;
135136

136137
size_t i = 0;
137138

@@ -158,13 +159,13 @@ namespace pimoroni {
158159

159160
if(caret.x != 0 && caret.x + word_width > graphics->clip.w) {
160161
caret -= carriage_return;
161-
carriage_return.x = 0;
162+
carriage_return = initial_carriage_return;
162163
}
163164

164165
for(size_t j = i; j < std::min(next_break + 1, text.length()); j++) {
165166
if (text[j] == '\n') { // Linebreak
166167
caret -= carriage_return;
167-
carriage_return.x = 0;
168+
carriage_return = initial_carriage_return;
168169
} else if (text[j] == ' ') { // Space
169170
caret += space;
170171
carriage_return += space;

0 commit comments

Comments
 (0)