Get the latest Blender, older versions, or experimental builds.
Stay up-to-date with the new features in the latest Blender releases.
Access production assets and knowledge from the open movies.
Documentation on the usage and features in Blender.
Latest development updates, by Blender developers.
Guidelines, release notes and development docs.
A platform to collect and share results of the Blender Benchmark.
The yearly event that brings the community together.
Support core development with a monthly contribution.
Perform a single donation with more payment options available.
Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
/** \file
* \ingroup bli
*/
#ifdef __cplusplus
extern "C" {
#endif
/**
* Plot a line from \a p1 to \a p2 (inclusive).
*
* \note For clipped line drawing, see: http://stackoverflow.com/a/40902741/432509
void BLI_bitmap_draw_2d_line_v2v2i(const int p1[2],
const int p2[2],
bool (*callback)(int, int, void *),
void *user_data);
* \note Unclipped (clipped version can be added if needed).
void BLI_bitmap_draw_2d_tri_v2i(const int p1[2],
const int p3[2],
void (*callback)(int x, int x_end, int y, void *),
* 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
void BLI_bitmap_draw_2d_poly_v2i_n(int xmin,
int ymin,
int xmax,
int ymax,
const int verts[][2],
int verts_len,
}