| C_keytype | Unshifted/shifted character pair for a single keyboard key |
| C_optionlist | Fixed-size name/value pair list backing a GuiOptionBrowser |
| ►CAudioDriver | Platform audio backend GuiSound delegates to: fixed one-shot PCM voices plus one background OGG stream |
| COgcAudioDriver | GC/Wii AudioDriver: AESND-based fixed voices for one-shots, wraps a GuiSoundOggPlayer for the background stream |
| CWutAudioDriver | Wii U AudioDriver: AX (sndcore2), 16 fixed AXVoice slots for one-shots plus a dedicated stereo streaming path (two AXVoices, ring-buffered) fed by a GuiSoundOggPlayer for the background stream |
| CCond | A condition variable |
| CDvmWutVolume | One storage slot's dvm mount state |
| CGuiLayout::Entry | A child (or gap) and what layout knows about it |
| ►CFileSystemDriver | Storage device enumeration/mount/poll backend for the SD/USB/DVD file browser |
| ►COgcFileSystemDriver | Shared GameCube/Wii FileSystemDriver base: FAT slot enumeration, mounting and polling |
| CGameCubeFileSystemDriver | GameCube FileSystemDriver: memory card slots, GC Loader, and DVD, plus DEVICE_SMB (broadband adapter) |
| CWiiFileSystemDriver | Wii FileSystemDriver: hot-pluggable SD and up to 3 concurrent USB MSD plus DVD (ISO9660) and DEVICE_SMB |
| CWutFileSystemDriver | SD: a plain WHBMountSdCard() FSA mount, done once in init() |
| CFontOffset | Per-pixel-size font metrics used for text-block alignment/positioning |
| CGameCubeNetwork | GameCube network bring-up for the Broadband Adapter (synchronous if_config) |
| CGlyphData | Cached per-glyph metrics and rasterized texture, keyed by (pixel size, char code) in GuiTextRenderer::fontData |
| ►CGlyphRenderer | Draws glyph textures and solid rectangles on behalf of GuiTextRenderer |
| COgcGlyphRenderer | GX-backed GlyphRenderer for GuiTextRenderer |
| CWutGlyphRenderer | GX2-backed GlyphRenderer for GuiTextRenderer, using Texture2DShader for glyph quads and ColorShader for solid "feature" rectangles |
| CGuiBodyPiece | One rounded rectangle of the silhouette (the pieces are merged into one outline) |
| CGuiControllerLayout | A controller: its drawing size, silhouette and controls |
| CGuiControlSpot | One control on a controller drawing |
| CGuiCorners | Per-corner radii, in the order top-left, top-right, bottom-right, bottom-left |
| ►CGuiElement | Primary GUI class |
| CGuiButton | Display, manage, and manipulate buttons in the GUI |
| CGuiControllerView | Draws a controller from a GuiControllerLayout and shows what is happening on it: controls light up while pressed, a chosen control is highlighted (optionally with a line from a list row to it), and sticks follow their position |
| CGuiFileBrowser | Display a list of files |
| CGuiGlyph | A small control icon drawn from shapes: a light badge with a dark symbol or letter, for list rows and hint bars |
| CGuiImage | Display, manage, and manipulate images in the GUI |
| CGuiOptionBrowser | Display a list of menu options |
| CGuiShape | A code-drawn shape: a rectangle (optionally rounded) or ellipse with a fill, outline and shadow, and no image assets |
| CGuiText | Display, manage, and manipulate text in the GUI |
| ►CGuiWindow | Allows GuiElements to be grouped together into a "window" |
| CGuiKeyboard | On-screen keyboard |
| ►CGuiLayout | Base of the layout containers. Not used directly; see GuiRow, GuiColumn, GuiGrid, GuiOverlay |
| CGuiColumn | Lays children out top to bottom |
| CGuiGrid | Lays children out in rows of a set number of columns |
| CGuiOverlay | Stacks children in one box, each aligned inside it (centered by default) |
| CGuiRow | Lays children out left to right |
| CUiScope::Runner | |
| CGuiFill | A solid color or a two-color linear gradient |
| CGuiGridItem | One child of a grid |
| CGuiGridSpec | Rules for a grid, filled row by row |
| CGuiImageData | Decodes compressed image data (PNG) into a platform-native texture created from it |
| CGuiInsets | Space around the inside edge of a container |
| CGuiLayoutResult | The solver's answer: the container's size and each item's rectangle |
| CGuiMesh | Accumulates shapes as a triangle list of MeshVertex |
| CGuiMeshCache | Static, since there is one video backend |
| CGuiMeshKey | Everything that decides what a shape's triangles are |
| CGuiNavItem | An item that selection can move between |
| CGuiOverlayItem | One child of an overlay |
| CGuiOverlaySpec | Rules for an overlay: children share one box |
| CGuiPath | A closed outline made of straight lines and cubic Beziers, in whatever units the caller likes |
| CGuiPoint | A 2D point in design-canvas pixels |
| CGuiRect | An axis-aligned rectangle (top-left origin) in design-canvas pixels |
| CGuiShapeStyle | A set of paints, one per state. States left unset fall back to the normal paint. GuiShapeStyle(rest).onFocus(lit).onPress(pressed) |
| CGuiSharedMesh | One cached mesh |
| CGuiSound | Sound conversion and playback |
| CGuiSoundOggPlayer | Platform-agnostic Tremor (integer OGG) decoder |
| CGuiStackItem | One child of a stack, as the solver sees it |
| CGuiStackSpec | Rules for a row or column |
| CGuiTextRenderer | FreeType2-based glyph shaping/caching |
| CGuiTextTranslator | Hashed msgid -> UTF-8 string table loaded from a single binary .lang blob (see loadLanguage()) |
| CGuiTheme | Colors, metrics and the style recipes built from them |
| CGuiTrigger | Input-condition matcher attached to a GuiElement (via setSimpleTrigger() etc.) and evaluated against an InputController - the isClicked()/ isHeld()/isReleased() methods GuiElement::update() calls each frame |
| ►CImageRenderer | Platform image/texture backend GuiImageData and GuiImage delegate to |
| COgcImageRenderer | GX-backed ImageRenderer for GuiImage/GuiImageData textures |
| CWutImageRenderer | GX2-backed ImageRenderer for GuiImage/GuiImageData, using Texture2DShader |
| CInputController | Logical controller for one input channel |
| ►CInputDriver | Platform input backend GuiElements delegate to, via the per-channel InputController objects update() feeds |
| COgcInputDriver | GC/Wii InputDriver: PAD (GameCube) / WPAD (Wiimote, Nunchuk, Classic, Wii U Pro Controller) plus a WiiDRC channel that lets a Wii app read a Wii U GamePad |
| CWutInputDriver | Wii U InputDriver: VPAD for the GamePad (stick, buttons, and touch, channel 0 only) plus KPAD/WPAD for up to 4 Wiimotes/Nunchuks/Classic/ Pro Controllers |
| CInputPadData | The universal input payload for UI elements |
| CLogConfig | Full runtime configuration for the Logger |
| CLogger | Central fan-out dispatcher |
| ►CLoggingDriver | Abstract backend a Logger fans a formatted line out to |
| CLoggerFile | Log backend that appends to a file through the platform's devoptab path |
| COgcLoggerSysReport | Log backend writing to the console debug output via SYS_Report |
| COgcLoggerUdp | Non-blocking UDP log backend |
| COgcLoggerUsbGecko | Log backend for a USB Gecko adapter over EXI, via usbgecko.c |
| CWutLoggerOSReport | Log backend writing to the console debug output via OSReport |
| CWutLoggerUdp | Non-blocking UDP log backend over nsysnet sockets |
| CWutLoggerUsbSerial | Log backend writing to a USB serial adapter (requires the optional usbserial module) |
| CLowPassFilter | Exponential low-pass filter used as the building block of OneEuroFilter |
| CMeshVertex | A single 2D vertex with its own color, in design-canvas coordinates |
| CMutex | A simple mutual-exclusion lock |
| CMutexLock | RAII lock guard - locks on construction, unlocks on destruction |
| COgcFatSlotDescriptor | One hot-pluggable FAT-formatted slot, shared shape between GameCube (SD Gecko A/B/port2, GC Loader) and Wii (SD, USB1-3) |
| COgcMesh | |
| COneEuroFilter | Adaptive speed-based low-pass filter (the 1-euro filter) for smoothing noisy pointer signals such as the Wii U IR pointer |
| CPixelColor | 8-bit-per-channel RGBA color used by the video interfaces |
| ►CPlatform | Composition root for a platform |
| CGameCubePlatform | GameCube (HW_DOL) Platform: same driver set as WiiPlatform except for file system, which uses GameCubeFileSystemDriver (memory card/GC Loader/DVD) instead of SD/USB/DVD |
| CWiiPlatform | Wii Platform, built on the shared GC/Wii driver set (OgcVideoDriver, OgcAudioDriver, OgcInputDriver, OgcThreadDriver) plus WiiFileSystemDriver for hot-pluggable SD/USB/DVD |
| CWutPlatform | Wii U Platform: ProcUI application lifecycle plus the wut driver set |
| CPlatformConfig | Settings passed to Platform::init() |
| CPngMemoryData | Read cursor over an in-memory PNG, used as the libpng read callback's I/O pointer |
| ►CShader | Common base for the GX2 shader wrappers below - just the vertex attribute size constants and the shared GX2DrawEx() call |
| CColorShader | Flat-color quad shader (rectangles, keyboard/dialog chrome), used via WutGlyphRenderer's drawFeature() |
| CFetchShader | Owns the GX2 fetch shader program that binds vertex attribute streams to a vertex shader |
| CPixelShader | Owns a GX2PixelShader's compiled program and uniform/sampler metadata, mirroring VertexShader's role on the pixel-shader side |
| CTexture2DShader | Textured quad shader (images, glyphs), used by WutImageRenderer and WutGlyphRenderer |
| CVertexShader | Owns a GX2VertexShader's compiled program and uniform/attribute metadata |
| CSmbDirState | Per-open-directory state for the smb: devoptab directory callbacks |
| ►CSmbDriver | Network-share driver |
| COgcSmbDriver | Wraps libsmb2 behind a "smb:/" devoptab |
| CWutSmbDriver | Wii U SmbDriver built on libsmb2, registering its own smb:/ newlib devoptab |
| CSmbFileState | Per-open-file state for the smb: devoptab file callbacks |
| CSmbShareInfo | Credentials/target for a single SMB share |
| CStorageDevice | Description of one storage device: id, display name, mount prefix, volume label and flags such as removable or always-listed |
| CSystemTime | Platform-agnostic monotonic clock |
| CThread | A platform thread |
| ►CThreadDriver | Raw platform threading primitives |
| COgcThreadDriver | GC/Wii ThreadDriver, built on libogc's LWP threading primitives |
| CWutThreadDriver | Wii U ThreadDriver, built on coreinit's OSThread/OSMutex/OSCondition |
| CThreadId | A lightweight, comparable identifier for a thread - including the app's own main/original thread, which was never itself started via Thread and so has no Thread object of its own to name it |
| CThreadSync | Bundles the mutex and pair of condition variables used by the common producer/consumer handshake between a background thread and its caller: one side sets a flag (protected by mutex) and signals workCond to wake the other; the other clears the flag and signals idleCond once it's done/idle |
| CTraceEvent | One entry in the ring of recent phase changes |
| CTraceSlot | One traced thread: its name and the phase it is in right now |
| CUsbHardwareInterfaceInfo | One USBCLASS_STORAGE interface as seen by a single ScanUsbHardwareSignature() call |
| CUsbHardwareSignature | The set of USBCLASS_STORAGE interfaces nsysuhs currently reports across every controller_num probed |
| ►CVideoDriver | Platform video backend owning the frame lifecycle (init/render/clear, screen size, refresh rate, delta time) and handing out an ImageRenderer and a GlyphRenderer |
| COgcVideoDriver | GC/Wii VideoDriver: raw GX, double-buffered XFB |
| CWutVideoDriver | Wii U VideoDriver: GX2 + libwhb's WHBGfx* helpers |
| CWiiNetwork | Wii network bring-up (asynchronous net_init_async on a background thread) |
| CWutDeviceState | State tracker for a single storage device slot |
| CWutDrawCmd | One recorded UI draw (image, glyph quad or flat rectangle) |
| CWutMesh | A mesh kept in GPU-readable vertex buffers across frames (ImageRenderer::createMesh()) |
| CWutStorageSlot | One USB mass-storage slot as Cafe OS/Mocha actually exposes it: just a DISC_INTERFACE handed to libdvm (vfat/exfat/ntfs) via dvm_wut.c - see tryMountStorageSlot() |