| /* SPDX-License-Identifier: LGPL-2.1 */ | |
| /* | |
| * Copyright (C) 2018 VMware Inc, Yordan Karadzhov <y.karadz@gmail.com> | |
| */ | |
| /** | |
| * @file libkshark-plot.h | |
| * @brief Basic tools for OpenGL plotting. | |
| */ | |
| #ifndef _LIB_KSHARK_PLOT_H | |
| #define _LIB_KSHARK_PLOT_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /** Structure defining a RGB color. */ | |
| struct ksplot_color { | |
| /** The Red component of the color. */ | |
| uint8_t red; | |
| /** The Green component of the color. */ | |
| uint8_t green; | |
| /** The Blue component of the color. */ | |
| uint8_t blue; | |
| }; | |
| /** Structure defining a 2D point. */ | |
| struct ksplot_point { | |
| /** The horizontal coordinate of the point in pixels. */ | |
| int x; | |
| /** The vertical coordinate of the pointin in pixels. */ | |
| int y; | |
| }; | |
| void ksplot_make_scene(int width, int height); | |
| void ksplot_init_opengl(int dpr); | |
| void ksplot_resize_opengl(int width, int height); | |
| void ksplot_draw_point(const struct ksplot_point *p, | |
| const struct ksplot_color *col, | |
| float size); | |
| void ksplot_draw_line(const struct ksplot_point *a, | |
| const struct ksplot_point *b, | |
| const struct ksplot_color *col, | |
| float size); | |
| void ksplot_draw_polygon(const struct ksplot_point *points, | |
| size_t n_points, | |
| const struct ksplot_color *col, | |
| float size); | |
| void ksplot_draw_polygon_contour(const struct ksplot_point *points, | |
| size_t n_points, | |
| const struct ksplot_color *col, | |
| float size); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |