146{
147 size_t total_pairs = 0;
148
150 uint32_t prev_end = 0;
152 const uint32_t
count = end - prev_end;
154 total_pairs +=
count - 1;
155 prev_end = end;
156 }
157 }
158
159 std::vector<Kakshya::LineVertex> verts;
160 verts.reserve(total_pairs * 2);
161
162 for (
size_t gi = 0; gi <
m_outlines.size(); ++gi) {
165
166 uint32_t prev_end = 0;
168 const uint32_t
count = end - prev_end;
170 prev_end = end;
171 continue;
172 }
173
174 for (uint32_t pi = prev_end; pi < end - 1; ++pi) {
175 const glm::vec2
a = ol.points[pi] + off;
176 const glm::vec2
b = ol.points[pi + 1] + off;
179 }
180
181 prev_end = end;
182 }
183 }
184
185 set_vertices<Kakshya::LineVertex>(std::span { verts.data(), verts.size() });
186
188 layout->vertex_count = static_cast<uint32_t>(verts.size());
190
193}
std::vector< uint32_t > * contour_ends
bool m_vertex_data_dirty
Flag: vertex data or layout changed since last GPU upload.
std::optional< Kakshya::VertexLayout > get_vertex_layout() const
Get cached vertex layout.
void set_vertex_layout(const Kakshya::VertexLayout &layout)
Set cached vertex layout.
std::vector< glm::vec2 > m_pen_offsets
std::vector< Portal::Text::GlyphOutline > m_outlines