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. Damage and persistent updates default to enabled. 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 rectangles 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.