NEW gated TUs: L4PADPANEL (GDI top-level window, all-W APIs: the pod button banks -- upper/lower aux, 12 secondary, specials/hat/handle, 63 buttons -- clickable via PadRIO::SetScreenButton with lamp-lit faces from GetLampState, 10 Hz repaint; created by the PadRIO ctor on BT_PAD_PANEL=1) and L4PLASMAWIN (PlasmaWindow : Video8BitBuffered -- the gauge renderer draws the 128x32 plasma into its pixelBuffer through the SAME code path as the serial device; Update() blits orange-on-black at L4PLASMASCALE, default x4). Gated seams: L4GREND.cpp L4PLASMA=SCREEN branch; btl4main.cpp -platform glass preset (PAD,KEYBOARD + BT_DEV_GAUGES + SCREEN plasma + panel; env always overrides; non-glass builds log+fall back to DEV); run.cmd glass token. MFD surfaces need NO new code: the existing dock-bottom / BT_DEV_GAUGES_WINDOW=1 / BT_DEV_GAUGES_DOCK=1 modes are the display story. Verified live: -platform glass boots GLASS profile, panel + plasma windows up, pad detected, dev gauges awake, mission loop clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 lines
952 B
C
24 lines
952 B
C
#pragma once
|
|
|
|
//###########################################################################
|
|
//
|
|
// L4PADPANEL -- the on-screen cockpit button panel (BT_GLASS only).
|
|
//
|
|
// A developer-grade GDI window presenting the pod's RIO button banks as
|
|
// clickable, lamp-lit buttons: upper aux banks (0x20-0x37), the 12
|
|
// secondary-panel buttons (0x10-0x15, 0x18-0x1D), lower aux banks
|
|
// (0x00-0x0F), and the special/handle row (door, panic, reverse, trigger,
|
|
// hat, pinky/thumbs). Lamps render from PadRIO::GetLampState; clicks
|
|
// inject through PadRIO::SetScreenButton. Created by the PadRIO ctor when
|
|
// BT_PAD_PANEL=1 (the glass preset sets it); destroyed with the PadRIO.
|
|
//
|
|
// All window-management uses the W APIs (the L4VB16 mojibake lesson). The
|
|
// window lives on the app thread and repaints on a ~10 Hz timer.
|
|
//
|
|
//###########################################################################
|
|
|
|
void
|
|
BTPadPanel_Create();
|
|
void
|
|
BTPadPanel_Destroy();
|