|
wx_BGI_Graphics
Classic BGI-compatible graphics API with modern OpenGL extension API
|
#include <bgi_types.h>

Public Member Functions | |
| BgiState () | |
| BgiState (const BgiState &)=delete | |
| BgiState & | operator= (const BgiState &)=delete |
| ~BgiState () | |
Data Fields | |
| std::string | activeCamera {"default"} |
| std::string | activeDdsName {"default"} |
| int | activePage {0} |
| palettetype | activePalette {} |
| std::string | activeUcs {"world"} |
| int | aspectX {1} |
| int | aspectY {1} |
| int | bkColor {BLACK} |
| std::unordered_map< std::string, std::shared_ptr< DdsCamera > > | cameras |
| int | currentColor {WHITE} |
| int | currentX {0} |
| int | currentY {0} |
| DdsScene * | dds {nullptr} |
| Non-owning shortcut → ddsRegistry[activeDdsName]. | |
| std::unordered_map< std::string, std::unique_ptr< DdsScene > > | ddsRegistry |
| palettetype | defaultPalette {} |
| bool | doubleBuffered {false} |
| int | extColorNext {kExtColorBase} |
| next auto-alloc slot | |
| std::array< ColorRGB, kExtPaletteSize > | extPalette {} |
| user-assigned RGB slots 16-255 | |
| int | fillColor {WHITE} |
| std::array< std::uint8_t, kPatternRows > | fillMask {} |
| int | fillPattern {SOLID_FILL} |
| bool | glfwInitialized {false} |
| unsigned | graphBufSize {0U} |
| int | graphDriver {DETECT} |
| int | graphMode {0} |
| int | height {kDefaultHeight} |
| bool | inCrtMode {false} |
| Set by restorecrtmode(); cleared by setgraphmode(). Window stays open. Optional callback set by the standalone frame to pump wx events. Called by wxbgi_poll_events() WITHOUT holding gMutex so wx handlers can safely call back into the BGI API. | |
| int | inputDefaultFlags {WXBGI_DEFAULT_ALL} |
| Bitmask controlling built-in callback behaviors. | |
| std::array< std::uint8_t, 512 > | keyDown {} |
| std::queue< int > | keyQueue |
| arccoordstype | lastArc {0, 0, 0, 0, 0, 0} |
| int | lastResult {grNoInitGraph} |
| bool | legacyGlRender {false} |
| When true, uses the old GL_POINTS per-pixel path. | |
| LightState | lightState |
| Lighting parameters for GL Phong shading passes. | |
| linesettingstype | lineSettings {SOLID_LINE, 0xFFFFU, NORM_WIDTH} |
| bool | mouseMoved {false} |
| Set true by cursorPosCallback; cleared by wxbgi_mouse_moved(). | |
| int | mouseX {0} |
| int | mouseY {0} |
| OverlayGridState | overlayGrid |
| OverlayUcsAxesState | overlayUcsAxes |
| std::vector< std::vector< std::uint8_t > > | pageBuffers |
| std::array< ColorRGB, kPaletteSize > | palette {} |
| PendingGlRender | pendingGl |
| Geometry collected by wxbgi_render_dds() for the GL solid/line passes. Per-camera GL frames queued in wxEmbedded mode so WxBgiCanvas::Render() can replay each camera's solid geometry with the correct viewport. | |
| std::vector< PendingGlFrame > | pendingGlQueue |
| std::string | pendingOverlayCam {} |
| Camera name for the post-solid overlay alpha-blit in GLFW mode. Set by wxbgi_render_dds() and consumed by flushToScreen(). | |
| double | scrollDeltaX {0.0} |
| Accumulated horizontal scroll delta. | |
| double | scrollDeltaY {0.0} |
| Accumulated vertical scroll delta. | |
| std::vector< std::string > | selectedObjectIds |
| IDs of currently selected DDS drawing objects. | |
| int | selectionFlashScheme {0} |
| Flash colour: 0 = orange (252), 1 = purple (253). | |
| int | selectionPickRadiusPx {16} |
| Screen-pixel pick threshold for object selection. | |
| bool | shouldClose {false} |
| In wx mode: set by wxbgi_request_close / frame close event. | |
| int | solidColorOverride {-1} |
| When >= 0, replaces faceColor and edgeColor in renderTriangleBatch (used by selection flash). | |
| int | solidDrawMode {0} |
| 0 = Wireframe, 1 = Solid (painter's algorithm). | |
| int | solidEdgeColor {15} |
| Default edge colour (WHITE). | |
| int | solidFaceColor {7} |
| Default face colour (LIGHTGRAY). | |
| textsettingstype | textSettings {DEFAULT_FONT, HORIZ_DIR, 1, LEFT_TEXT, TOP_TEXT} |
| std::unordered_map< std::string, std::shared_ptr< DdsUcs > > | ucsSystems |
| WxbgiCharHook | userCharHook {nullptr} |
| int | userCharSizeXDen {1} |
| int | userCharSizeXNum {1} |
| int | userCharSizeYDen {1} |
| int | userCharSizeYNum {1} |
| WxbgiCursorPosHook | userCursorPosHook {nullptr} |
| Called after cursorPosCallback logic; may be NULL. | |
| bool | userFillPatternEnabled {false} |
| WxbgiKeyHook | userKeyHook {nullptr} |
| WxbgiMouseButtonHook | userMouseButtonHook {nullptr} |
| WxbgiScrollHook | userScrollHook {nullptr} |
| viewporttype | viewport {0, 0, kDefaultWidth - 1, kDefaultHeight - 1, 1} |
| int | visualPage {0} |
| int | width {kDefaultWidth} |
| GLFWwindow * | window {nullptr} |
| std::string | windowTitle {"BGI OpenGL Wrapper"} |
| WorldExtents | worldExtents |
| int | writeMode {COPY_PUT} |
| bool | wxEmbedded {false} |
| True when the BGI surface is hosted inside a WxBgiCanvas. | |
| void(* | wxPollCallback )() |
| bgi::BgiState::BgiState | ( | ) |
| bgi::BgiState::~BgiState | ( | ) |
|
delete |
| std::string bgi::BgiState::activeCamera {"default"} |
| std::string bgi::BgiState::activeDdsName {"default"} |
| int bgi::BgiState::activePage {0} |
| palettetype bgi::BgiState::activePalette {} |
| std::string bgi::BgiState::activeUcs {"world"} |
| int bgi::BgiState::aspectX {1} |
| int bgi::BgiState::aspectY {1} |
| int bgi::BgiState::bkColor {BLACK} |
| std::unordered_map<std::string, std::shared_ptr<DdsCamera> > bgi::BgiState::cameras |
| int bgi::BgiState::currentColor {WHITE} |
| int bgi::BgiState::currentX {0} |
| int bgi::BgiState::currentY {0} |
| DdsScene* bgi::BgiState::dds {nullptr} |
Non-owning shortcut → ddsRegistry[activeDdsName].
| std::unordered_map<std::string, std::unique_ptr<DdsScene> > bgi::BgiState::ddsRegistry |
| palettetype bgi::BgiState::defaultPalette {} |
| bool bgi::BgiState::doubleBuffered {false} |
| int bgi::BgiState::extColorNext {kExtColorBase} |
next auto-alloc slot
| std::array<ColorRGB, kExtPaletteSize> bgi::BgiState::extPalette {} |
user-assigned RGB slots 16-255
| int bgi::BgiState::fillColor {WHITE} |
| std::array<std::uint8_t, kPatternRows> bgi::BgiState::fillMask {} |
| int bgi::BgiState::fillPattern {SOLID_FILL} |
| bool bgi::BgiState::glfwInitialized {false} |
| unsigned bgi::BgiState::graphBufSize {0U} |
| int bgi::BgiState::graphDriver {DETECT} |
| int bgi::BgiState::graphMode {0} |
| int bgi::BgiState::height {kDefaultHeight} |
| bool bgi::BgiState::inCrtMode {false} |
Set by restorecrtmode(); cleared by setgraphmode(). Window stays open. Optional callback set by the standalone frame to pump wx events. Called by wxbgi_poll_events() WITHOUT holding gMutex so wx handlers can safely call back into the BGI API.
| int bgi::BgiState::inputDefaultFlags {WXBGI_DEFAULT_ALL} |
Bitmask controlling built-in callback behaviors.
| std::array<std::uint8_t, 512> bgi::BgiState::keyDown {} |
| std::queue<int> bgi::BgiState::keyQueue |
| arccoordstype bgi::BgiState::lastArc {0, 0, 0, 0, 0, 0} |
| int bgi::BgiState::lastResult {grNoInitGraph} |
| bool bgi::BgiState::legacyGlRender {false} |
When true, uses the old GL_POINTS per-pixel path.
| LightState bgi::BgiState::lightState |
Lighting parameters for GL Phong shading passes.
| linesettingstype bgi::BgiState::lineSettings {SOLID_LINE, 0xFFFFU, NORM_WIDTH} |
| bool bgi::BgiState::mouseMoved {false} |
Set true by cursorPosCallback; cleared by wxbgi_mouse_moved().
| int bgi::BgiState::mouseX {0} |
| int bgi::BgiState::mouseY {0} |
| OverlayGridState bgi::BgiState::overlayGrid |
| OverlayUcsAxesState bgi::BgiState::overlayUcsAxes |
| std::vector<std::vector<std::uint8_t> > bgi::BgiState::pageBuffers |
| std::array<ColorRGB, kPaletteSize> bgi::BgiState::palette {} |
| PendingGlRender bgi::BgiState::pendingGl |
Geometry collected by wxbgi_render_dds() for the GL solid/line passes. Per-camera GL frames queued in wxEmbedded mode so WxBgiCanvas::Render() can replay each camera's solid geometry with the correct viewport.
| std::vector<PendingGlFrame> bgi::BgiState::pendingGlQueue |
| std::string bgi::BgiState::pendingOverlayCam {} |
Camera name for the post-solid overlay alpha-blit in GLFW mode. Set by wxbgi_render_dds() and consumed by flushToScreen().
| double bgi::BgiState::scrollDeltaX {0.0} |
Accumulated horizontal scroll delta.
| double bgi::BgiState::scrollDeltaY {0.0} |
Accumulated vertical scroll delta.
| std::vector<std::string> bgi::BgiState::selectedObjectIds |
IDs of currently selected DDS drawing objects.
| int bgi::BgiState::selectionFlashScheme {0} |
Flash colour: 0 = orange (252), 1 = purple (253).
| int bgi::BgiState::selectionPickRadiusPx {16} |
Screen-pixel pick threshold for object selection.
| bool bgi::BgiState::shouldClose {false} |
In wx mode: set by wxbgi_request_close / frame close event.
| int bgi::BgiState::solidColorOverride {-1} |
When >= 0, replaces faceColor and edgeColor in renderTriangleBatch (used by selection flash).
| int bgi::BgiState::solidDrawMode {0} |
0 = Wireframe, 1 = Solid (painter's algorithm).
| int bgi::BgiState::solidEdgeColor {15} |
Default edge colour (WHITE).
| int bgi::BgiState::solidFaceColor {7} |
Default face colour (LIGHTGRAY).
| textsettingstype bgi::BgiState::textSettings {DEFAULT_FONT, HORIZ_DIR, 1, LEFT_TEXT, TOP_TEXT} |
| std::unordered_map<std::string, std::shared_ptr<DdsUcs> > bgi::BgiState::ucsSystems |
| WxbgiCharHook bgi::BgiState::userCharHook {nullptr} |
| int bgi::BgiState::userCharSizeXDen {1} |
| int bgi::BgiState::userCharSizeXNum {1} |
| int bgi::BgiState::userCharSizeYDen {1} |
| int bgi::BgiState::userCharSizeYNum {1} |
| WxbgiCursorPosHook bgi::BgiState::userCursorPosHook {nullptr} |
Called after cursorPosCallback logic; may be NULL.
| bool bgi::BgiState::userFillPatternEnabled {false} |
| WxbgiKeyHook bgi::BgiState::userKeyHook {nullptr} |
| WxbgiMouseButtonHook bgi::BgiState::userMouseButtonHook {nullptr} |
| WxbgiScrollHook bgi::BgiState::userScrollHook {nullptr} |
| viewporttype bgi::BgiState::viewport {0, 0, kDefaultWidth - 1, kDefaultHeight - 1, 1} |
| int bgi::BgiState::visualPage {0} |
| int bgi::BgiState::width {kDefaultWidth} |
| GLFWwindow* bgi::BgiState::window {nullptr} |
| std::string bgi::BgiState::windowTitle {"BGI OpenGL Wrapper"} |
| WorldExtents bgi::BgiState::worldExtents |
| int bgi::BgiState::writeMode {COPY_PUT} |
| bool bgi::BgiState::wxEmbedded {false} |
True when the BGI surface is hosted inside a WxBgiCanvas.
|
inline |