2022-02-10 23:07:11 +01:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
2016-10-26 11:11:09 +02:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2019-02-17 22:08:12 +01:00
|
|
|
/** \file
|
|
|
|
* \ingroup bli
|
2016-10-26 11:11:09 +02:00
|
|
|
*/
|
|
|
|
|
2020-03-02 15:04:53 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2021-12-09 10:01:44 +01:00
|
|
|
/**
|
|
|
|
* Plot a line from \a p1 to \a p2 (inclusive).
|
|
|
|
*
|
|
|
|
* \note For clipped line drawing, see: http://stackoverflow.com/a/40902741/432509
|
|
|
|
*/
|
2016-10-26 11:14:48 +02:00
|
|
|
void BLI_bitmap_draw_2d_line_v2v2i(const int p1[2],
|
2016-10-26 11:11:09 +02:00
|
|
|
const int p2[2],
|
2018-04-21 20:22:12 +02:00
|
|
|
bool (*callback)(int, int, void *),
|
|
|
|
void *user_data);
|
2016-10-26 11:11:09 +02:00
|
|
|
|
2021-12-09 10:01:44 +01:00
|
|
|
/**
|
|
|
|
* \note Unclipped (clipped version can be added if needed).
|
|
|
|
*/
|
2018-04-21 18:34:34 +02:00
|
|
|
void BLI_bitmap_draw_2d_tri_v2i(const int p1[2],
|
|
|
|
const int p2[2],
|
|
|
|
const int p3[2],
|
|
|
|
void (*callback)(int x, int x_end, int y, void *),
|
|
|
|
void *user_data);
|
|
|
|
|
2021-12-09 10:01:44 +01:00
|
|
|
/**
|
|
|
|
* Draws a filled polygon with support for self intersections.
|
|
|
|
*
|
|
|
|
* \param callback: Takes the x, y coords and x-span (\a x_end is not inclusive),
|
|
|
|
* note that \a x_end will always be greater than \a x, so we can use:
|
|
|
|
*
|
|
|
|
* \code{.c}
|
|
|
|
* do {
|
|
|
|
* func(x, y);
|
|
|
|
* } while (++x != x_end);
|
|
|
|
* \endcode
|
|
|
|
*/
|
2022-01-07 01:38:08 +01:00
|
|
|
void BLI_bitmap_draw_2d_poly_v2i_n(int xmin,
|
|
|
|
int ymin,
|
|
|
|
int xmax,
|
|
|
|
int ymax,
|
2018-04-21 20:22:12 +02:00
|
|
|
const int verts[][2],
|
2022-01-07 01:38:08 +01:00
|
|
|
int verts_len,
|
2018-04-21 20:22:12 +02:00
|
|
|
void (*callback)(int x, int x_end, int y, void *),
|
|
|
|
void *user_data);
|
2016-10-26 11:11:09 +02:00
|
|
|
|
2020-03-02 15:04:53 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|