Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
view_fwd.hpp
Go to the documentation of this file.
1// view_fwd.hpp — slim forward declarations for the pulp::view core types.
2//
3// Header-diet alternative to a full PIMPL refactor: PIMPL would break SDK
4// ABI for public derived classes, so files that only need pointers or
5// references should include this lighter declaration surface instead of
6// <pulp/view/view.hpp>.
7//
8// Use this header when a file only needs to:
9//
10// - hold a pointer or reference to a View / WindowHost /
11// PluginViewHost / FrameClock
12// - take one of those by pointer/reference parameter or return type
13// - declare a `std::function<void(View&)>` or similar signature type
14//
15// In any of those cases, including this slim header is strictly
16// cheaper than `<pulp/view/view.hpp>`, which transitively pulls in
17// `<pulp/canvas/canvas.hpp>` (~1,500 lines), css_animation.hpp,
18// theme.hpp, geometry.hpp, and input_events.hpp.
19//
20// Include `<pulp/view/view.hpp>` only when you need to:
21//
22// - call methods on a View (deref the pointer)
23// - subclass View
24// - construct or destroy a View locally (calls inline destructor)
25// - access any of the nested enums (Position, Overflow, BlendMode
26// proxy, etc.)
27//
28// The forward-declaration set is conservative on purpose — only the
29// load-bearing public types appear here, not internal helpers /
30// FlexStyle / OverlayRequest / FilterOp, which would couple this
31// header back to view.hpp's evolution.
32
33#pragma once
34
35namespace pulp::view {
36
37class View;
38class WindowHost;
39class PluginViewHost;
40class FrameClock;
41class HostFramePump;
42
43} // namespace pulp::view
Definition frame_clock.hpp:14
Converts a host's monotonic presentation timestamps into per-frame deltas.
Definition host_frame_pump.hpp:79
Definition plugin_view_host.hpp:64
Definition view.hpp:73
Definition window_host.hpp:113
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27