class EE::Window::KittyFramePresenter¶
Overview¶
Presents completed window frames using the Kitty graphics protocol. More…
#include <kittyframepresenter.hpp> class KittyFramePresenter: public EE::Window::FramePresenter { public: // structs struct DamageRectangle; struct Frame; // construction ~KittyFramePresenter(); // methods virtual bool initialize(Window&); virtual void present(Window&); virtual void shutdown(Window&); };
Inherited Members¶
public: // methods virtual bool initialize(Window&) = 0; virtual void present(Window&) = 0; virtual void resized(Window&, const Math::Sizei&); virtual void shutdown(Window&);
Detailed Documentation¶
Presents completed window frames using the Kitty graphics protocol.
Presentation policy can be configured before initialization with EEPP_TERMINAL_DAMAGE_UPDATES, EEPP_TERMINAL_PERSISTENT_UPDATES, and EEPP_TERMINAL_ZLIB_LEVEL. Persistent and damage updates default to enabled only when TERM=eterm; other terminals default to anonymous full-frame transfers because support for the Kitty root-image animation update commands is inconsistent. Either default can be explicitly overridden with its corresponding environment variable. The zlib level defaults to 1, accepts levels 1 through 9, and can be set to 0 to disable compression. Disabling persistent updates also disables damage updates because rectangle updates require a persistent image.
Methods¶
virtual bool initialize(Window&)
Initializes the terminal transport and sender worker.
virtual void present(Window&)
Captures and queues the newest complete RGB24 frame.
virtual void shutdown(Window&)
Stops the sender worker and restores the terminal transport.