Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::WindowOptions Struct Reference

#include <window_host.hpp>

Classes

struct  MenuCommand

Public Attributes

std::string title = "Pulp"
float width = 400
float height = 300
float min_width = 0
 Minimum window width (0 = no minimum).
float min_height = 0
 Minimum window height (0 = no minimum).
bool resizable = true
bool use_gpu = false
 Use GPU rendering (Dawn/Skia Graphite) instead of CoreGraphics.
std::uint32_t background_rgb = 0x1E1E2E
 The window's own background, 0xRRGGBB.
bool initially_hidden = false
 When true, the window is created and the run loop drives the bridge per-vsync as usual, but the window is never made visible / brought to front / activated.
bool secondary_window = false
 Explicit window role for the close policy.
WindowType * window_type = nullptr
 Optional type hint for platform styling.
void * parent_native_handle = nullptr
 Parent window handle (HWND, NSWindow*).
void * shared_gpu_device = nullptr
 Shared Dawn device for multi-window GPU.
std::vector< MenuCommand > menu_commands
 Commands exposed through the platform's native application menu bar.

Member Data Documentation

◆ background_rgb

std::uint32_t pulp::view::WindowOptions::background_rgb = 0x1E1E2E

The window's own background, 0xRRGGBB.

It is what the window shows wherever no frame of the tree has landed yet: the window's backing colour, the content layer's colour before the first GPU present (and after a resize empties the drawable), the fill under the tree, and the letterbox bars around a pinned design viewport. A standalone editor sets it from ViewBridge::editor_background_rgb() so the app opens on the editor's own colour, the same contract a plug-in editor host follows. The default is kEditorHostClearRgb (plugin_view_host.hpp).

◆ height

float pulp::view::WindowOptions::height = 300

◆ initially_hidden

bool pulp::view::WindowOptions::initially_hidden = false

When true, the window is created and the run loop drives the bridge per-vsync as usual, but the window is never made visible / brought to front / activated.

The app also skips the Dock-icon and focus-stealing activation steps. Intended for headless smoke tests (live-host-pump-smoke.sh) and any validation flow that wants the full live-host code path without a GUI window flashing on screen. Backends that don't honor the flag fall back to normal behavior.

◆ menu_commands

std::vector<MenuCommand> pulp::view::WindowOptions::menu_commands

Commands exposed through the platform's native application menu bar.

Backends that do not provide a native menu may ignore this list; the command's keyboard route remains the caller's responsibility.

◆ min_height

float pulp::view::WindowOptions::min_height = 0

Minimum window height (0 = no minimum).

◆ min_width

float pulp::view::WindowOptions::min_width = 0

Minimum window width (0 = no minimum).

◆ parent_native_handle

void* pulp::view::WindowOptions::parent_native_handle = nullptr

Parent window handle (HWND, NSWindow*).

◆ resizable

bool pulp::view::WindowOptions::resizable = true

◆ secondary_window

bool pulp::view::WindowOptions::secondary_window = false

Explicit window role for the close policy.

A PRIMARY window (default) is the app's main window: closing it stops/tears down the app. A SECONDARY window (e.g. the floating InspectorWindow) only orders itself out on close and never stops the app, so closing the inspector while the main canvas is open leaves the app running, and closing the main canvas while the inspector is open still quits. Replaces the previous "stop the app when no other visible window remains" heuristic, which left the app alive with only the inspector after the main window closed.

◆ shared_gpu_device

void* pulp::view::WindowOptions::shared_gpu_device = nullptr

Shared Dawn device for multi-window GPU.

◆ title

std::string pulp::view::WindowOptions::title = "Pulp"

◆ use_gpu

bool pulp::view::WindowOptions::use_gpu = false

Use GPU rendering (Dawn/Skia Graphite) instead of CoreGraphics.

◆ width

float pulp::view::WindowOptions::width = 400

◆ window_type

WindowType* pulp::view::WindowOptions::window_type = nullptr

Optional type hint for platform styling.


The documentation for this struct was generated from the following file: