| 281 | //----------------------------------------------------------------------------- |
| 282 | |
| 283 | IMPLOT3D_INLINE void PrimLine(ImDrawList3D& draw_list_3d, const ImVec2& P1, const ImVec2& P2, float half_weight, ImU32 col, const ImVec2& tex_uv0, |
| 284 | const ImVec2& tex_uv1, double z) { |
| 285 | float dx = P2.x - P1.x; |
| 286 | float dy = P2.y - P1.y; |
| 287 | IMPLOT3D_NORMALIZE2F(dx, dy); |
| 288 | dx *= half_weight; |
| 289 | dy *= half_weight; |
| 290 | draw_list_3d._VtxWritePtr[0].pos.x = P1.x + dy; |
| 291 | draw_list_3d._VtxWritePtr[0].pos.y = P1.y - dx; |
| 292 | draw_list_3d._VtxWritePtr[0].uv = tex_uv0; |
| 293 | draw_list_3d._VtxWritePtr[0].col = col; |
| 294 | draw_list_3d._VtxWritePtr[1].pos.x = P2.x + dy; |
| 295 | draw_list_3d._VtxWritePtr[1].pos.y = P2.y - dx; |
| 296 | draw_list_3d._VtxWritePtr[1].uv = tex_uv0; |
| 297 | draw_list_3d._VtxWritePtr[1].col = col; |
| 298 | draw_list_3d._VtxWritePtr[2].pos.x = P2.x - dy; |
| 299 | draw_list_3d._VtxWritePtr[2].pos.y = P2.y + dx; |
| 300 | draw_list_3d._VtxWritePtr[2].uv = tex_uv1; |
| 301 | draw_list_3d._VtxWritePtr[2].col = col; |
| 302 | draw_list_3d._VtxWritePtr[3].pos.x = P1.x - dy; |
| 303 | draw_list_3d._VtxWritePtr[3].pos.y = P1.y + dx; |
| 304 | draw_list_3d._VtxWritePtr[3].uv = tex_uv1; |
| 305 | draw_list_3d._VtxWritePtr[3].col = col; |
| 306 | draw_list_3d._VtxWritePtr += 4; |
| 307 | draw_list_3d._IdxWritePtr[0] = (ImDrawIdx)(draw_list_3d._VtxCurrentIdx); |
| 308 | draw_list_3d._IdxWritePtr[1] = (ImDrawIdx)(draw_list_3d._VtxCurrentIdx + 1); |
| 309 | draw_list_3d._IdxWritePtr[2] = (ImDrawIdx)(draw_list_3d._VtxCurrentIdx + 2); |
| 310 | draw_list_3d._IdxWritePtr[3] = (ImDrawIdx)(draw_list_3d._VtxCurrentIdx); |
| 311 | draw_list_3d._IdxWritePtr[4] = (ImDrawIdx)(draw_list_3d._VtxCurrentIdx + 2); |
| 312 | draw_list_3d._IdxWritePtr[5] = (ImDrawIdx)(draw_list_3d._VtxCurrentIdx + 3); |
| 313 | draw_list_3d._IdxWritePtr += 6; |
| 314 | draw_list_3d._VtxCurrentIdx += 4; |
| 315 | draw_list_3d._ZWritePtr[0] = z; |
| 316 | draw_list_3d._ZWritePtr[1] = z; |
| 317 | draw_list_3d._ZWritePtr += 2; |
| 318 | } |
| 319 | |
| 320 | //----------------------------------------------------------------------------- |
| 321 | // [SECTION] Renderers |