wl_shm (ver 2) | |
struct wl_shm_listener | ハンドラ構造体 |
---|---|
wl_shm_add_listener | ハンドラ設定 |
wl_shm_destroy | 破棄 |
wl_shm_release | 解放 |
wl_shm_create_pool | wl_shm_pool を作成 |
wl_shm_pool | |
wl_shm_pool_create_buffer | wl_buffer を作成 |
wl_shm_pool_destroy | 破棄 |
wl_shm_pool_resize | リサイズ |
wl_shm (ver 2)
struct wl_shm_listener { void (*format)(void *data, struct wl_shm *wl_shm, uint32_t format); };
ハンドラ構造体
format
有効なピクセルフォーマットが列挙される (enum wl_shm_format)。
WL_SHM_FORMAT_ARGB8888 = 0
WL_SHM_FORMAT_XRGB8888 = 1
すべてのレンダラは、上記2つのフォーマットを常にサポートしているが、他はオプション。
上記以外のフォーマットは、ASCII文字 x 4 の数値となっている (下位ビットが先頭文字)。
WL_SHM_FORMAT_ARGB8888 = 0
WL_SHM_FORMAT_XRGB8888 = 1
すべてのレンダラは、上記2つのフォーマットを常にサポートしているが、他はオプション。
上記以外のフォーマットは、ASCII文字 x 4 の数値となっている (下位ビットが先頭文字)。
int wl_shm_add_listener(struct wl_shm *wl_shm, const struct wl_shm_listener *listener, void *data);
ハンドラ設定
void wl_shm_release(struct wl_shm *wl_shm); //ver 2
サーバーに、このオブジェクトは今後使用しないことを通知する。
このオブジェクトから作成された wl_shm_pool には影響を与えない。
このオブジェクトから作成された wl_shm_pool には影響を与えない。
struct wl_shm_pool *wl_shm_create_pool(struct wl_shm *wl_shm, int32_t fd, int32_t size);
新しい wl_shm_pool オブジェクトを作成する。
サーバーは、渡された fd の size バイトを mmap する。
サーバーは、渡された fd の size バイトを mmap する。
wl_shm_pool
struct wl_buffer *wl_shm_pool_create_buffer(struct wl_shm_pool *wl_shm_pool, int32_t offset, int32_t width, int32_t height, int32_t stride, uint32_t format);
wl_shm_pool から wl_buffer オブジェクトを作成する。
wl_buffer は wl_shm_pool への参照を保持するので、作成後は wl_shm_pool を削除してもよい。
wl_buffer は wl_shm_pool への参照を保持するので、作成後は wl_shm_pool を削除してもよい。
offset
バイト数
stride
Y1行のバイト数