MCPcopy Create free account
hub / github.com/crownengine/crown / draw

Method draw

src/device/graph.cpp:336–464  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

334 }
335
336 void draw(DebugLine &dl, u16 window_width, u16 window_height)
337 {
338 if (!_visible)
339 return;
340
341 sample_with_filter(profiler_globals::buffer_begin(), profiler_globals::buffer_end());
342
343 auto remap = [](f32 x, f32 in_min, f32 in_max, f32 out_min, f32 out_max) -> f32 {
344 return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
345 };
346
347 const f32 margin_padding = 32.0; // Pixels of padding inside window margins.
348 const f32 window_width_padded = f32(window_width) - margin_padding;
349 const f32 window_height_padded = f32(window_height) - margin_padding;
350
351 // Margins in window-coordinates.
352 const f32 margin_right = window_width_padded / 2.0f;
353 const f32 margin_left = -margin_right;
354 const f32 margin_top = window_height_padded / 2.0f;
355 const f32 margin_bottom = -margin_top;
356
357 f32 x_start;
358 f32 x_step;
359 f32 y_min;
360 f32 y_max;
361 switch (_layout) {
362 case LEFT:
363 x_start = margin_left;
364 x_step = f32(margin_right - margin_left) / f32(_num_samples - 1) / 2.0f;
365 y_min = margin_bottom;
366 y_max = margin_top;
367 break;
368
369 case RIGHT:
370 x_start = 0.0f;
371 x_step = f32(margin_right - margin_left) / f32(_num_samples - 1) / 2.0f;
372 y_min = margin_bottom;
373 y_max = margin_top;
374 break;
375
376 case BOTTOM:
377 x_start = margin_left;
378 x_step = f32(margin_right - margin_left) / f32(_num_samples - 1);
379 y_min = margin_bottom;
380 y_max = 0.0f;
381 break;
382
383 case TOP:
384 x_start = margin_left;
385 x_step = f32(margin_right - margin_left) / f32(_num_samples - 1);
386 y_min = 0.0f;
387 y_max = margin_top;
388 break;
389
390 case FILL:
391 default:
392 x_start = margin_left;
393 x_step = f32(margin_right - margin_left) / f32(_num_samples - 1);

Callers 1

draw_allFunction · 0.45

Calls 6

buffer_beginFunction · 0.85
buffer_endFunction · 0.85
draw_stringFunction · 0.85
add_lineMethod · 0.80
sizeFunction · 0.50
submitMethod · 0.45

Tested by

no test coverage detected