wx_BGI_Graphics
Classic BGI-compatible graphics API with modern OpenGL extension API
Loading...
Searching...
No Matches
bgi_draw.h
Go to the documentation of this file.
1#pragma once
2
3#include "bgi_types.h"
4
5#include <array>
6#include <utility>
7#include <vector>
8
9namespace bgi
10{
11
12 int normalizeColor(int color);
13 std::uint8_t normalizeColorByte(int value);
15 std::array<std::uint8_t, kPatternRows> makeFillPatternMask(int pattern);
16
17 bool isReady();
19 bool useFillAt(int x, int y);
20 bool toDeviceCoordinates(int x, int y, int &screenX, int &screenY);
21
22 void setPixel(int x, int y, int color);
23 void setPixelWithMode(int x, int y, int color, int mode);
24 int getPixel(int x, int y);
25 void clearActivePage(int color);
26 void clearViewportRegion(int color);
27
29 void renderPageToCurrentGLContext(int w, int h);
30 void destroyWindowIfNeeded(bool resetGlState = false);
31
32 void drawLineInternal(int x1, int y1, int x2, int y2, int color);
33 void drawCircleInternal(int cx, int cy, int radius, int color);
34 void drawEllipseInternal(int cx, int cy, int startAngle, int endAngle, int xradius, int yradius, int color);
35 void fillRectInternal(int left, int top, int right, int bottom, int color);
36 void fillEllipseInternal(int cx, int cy, int xradius, int yradius, int color);
37 void drawPolygonInternal(const std::vector<std::pair<int, int>> &points, int color);
38 void fillPolygonInternal(const std::vector<std::pair<int, int>> &points, int color);
39 std::vector<std::pair<int, int>> buildArcPoints(int cx, int cy, int startAngle, int endAngle, int xradius, int yradius);
40
41} // namespace bgi
Definition bgi_camera.h:28
int getPixel(int x, int y)
void clearViewportRegion(int color)
void drawCircleInternal(int cx, int cy, int radius, int color)
bool syncGlfwWindowSize()
void drawEllipseInternal(int cx, int cy, int startAngle, int endAngle, int xradius, int yradius, int color)
bool isReady()
std::vector< std::pair< int, int > > buildArcPoints(int cx, int cy, int startAngle, int endAngle, int xradius, int yradius)
void destroyWindowIfNeeded(bool resetGlState=false)
bool toDeviceCoordinates(int x, int y, int &screenX, int &screenY)
ColorRGB colorToRGB(int c)
resolves any colour index (0-255) to an RGB triple
void drawLineInternal(int x1, int y1, int x2, int y2, int color)
bool useFillAt(int x, int y)
void setPixel(int x, int y, int color)
void renderPageToCurrentGLContext(int w, int h)
void setPixelWithMode(int x, int y, int color, int mode)
int normalizeColor(int color)
void clearActivePage(int color)
void flushToScreen()
void fillEllipseInternal(int cx, int cy, int xradius, int yradius, int color)
std::uint8_t normalizeColorByte(int value)
void drawPolygonInternal(const std::vector< std::pair< int, int > > &points, int color)
std::array< std::uint8_t, kPatternRows > makeFillPatternMask(int pattern)
void fillPolygonInternal(const std::vector< std::pair< int, int > > &points, int color)
void fillRectInternal(int left, int top, int right, int bottom, int color)
Definition bgi_types.h:301