struct tw_engine


taiwins engine More…

#include <engine.h>

struct tw_engine
    // fields

    struct wl_display* display;
    struct tw_backend* backend;
    bool started;
    struct wl_list heads;
    uint32_t output_pool;
    struct tw_engine_output outputs[32];
    struct xkb_context* xkb_context;
    struct wl_list inputs;
    uint8_t seat_pool;
    struct tw_engine_seat seats[8];
    struct tw_engine_seat* focused_seat;
    struct tw_cursor global_cursor;
    struct tw_layers_manager layers_manager;
    struct tw_compositor compositor_manager;
    struct tw_data_device_manager data_device_manager;
    struct tw_linux_dmabuf dma_engine;
    struct tw_presentation presentation;
    struct tw_viewporter viewporter;
    struct tw_gestures_manager gestures_manager;
    struct wl_listener display_destroy;
    struct wl_listener new_output;
    struct wl_listener new_input;
    struct wl_listener backend_started;
    struct wl_listener surface_dirty;
    struct tw_engine::@38 listeners;
    struct wl_signal output_created;
    struct wl_signal output_resized;
    struct wl_signal output_remove;
    struct wl_signal seat_created;
    struct wl_signal seat_focused;
    struct wl_signal seat_remove;
    struct tw_engine::@39 signals;

Detailed Documentation

taiwins engine

The engine connects multiple taiwins components and run them together


bool started

for now backend is based on wlr_backends. Future when migrate, we would used api like wayland_impl_tw_backend(struct tw_backend *);

struct tw_cursor global_cursor

cursor is global, like most desktop experience, the one reason is that people want to fit cursor in the cursor plane.