#pragma once //########################################################################### // // L4GLASSWIN -- per-display glass cockpit windows (BT_GLASS only; this TU is // only in the build when the gate is on -- see CMakeLists.txt). // // Under `-platform glass` with BT_GLASS_PANELS=1 (the glass preset default), // each pod SECONDARY display gets its OWN desktop window carrying that // display's surface AND its RIO button bank placed AROUND it, mirroring the // physical pod cockpit: // // Heat (UL) / Mfd2 (UC) / Comm (UR) / Mfd1 (LL) / Mfd3 (LR) -- red MFD // banks split 4 buttons ABOVE / 4 BELOW the surface; // sec radar (center, portrait) -- yellow // Secondary buttons split LEFT / RIGHT of the surface; // Flight Controls -- the // no-display banks (throttle 0x38-3F, joystick/fire 0x40-47, panic). // // Each window is a GDI window (like L4PADPANEL + L4PLASMAWIN): the surface is // CPU-expanded from the shared gauge pixelBuffer (SVGA16::ExpandPlaneToBGRA) // and StretchDIBits'd in -- NO D3D, so the whole D3D dev-composite path // (dock / separate window / overlay) stands down while these are up. Clicks // inject through PadRIO::SetScreenButton; lamps render from GetLampState. // Created / destroyed by the PadRIO ctor / dtor. // //########################################################################### void BTGlassPanels_Create(); void BTGlassPanels_Destroy(); // // True when BT_GLASS_PANELS mode is selected (default ON under `-platform // glass`, OFF otherwise). Read by the render loop / L4VB16 dev-composite to // suppress the single L4PADPANEL and the D3D gauge compositing. Cheap + // cached; safe to call before the windows exist. // int BTGlassPanelsActive();