mirror of
https://dev.lirent.ru/Vatrog/vm-automation-signaling.git
synced 2026-06-26 04:36:37 +03:00
vgpu in-guest producer in-tree, release CI, flexible vmie discovery
- src/si/vgpu-stream: in-guest vgpu producer built as a Windows cross-compiled target (if(WIN32)) - .gitea: release workflow — cross-build the agent and build/publish the deb against system vmie - cmake/makefile: resolve vmie from a source tree (LIBVMIE_PATH) or installed libvmie-dev
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
#ifndef VGPU_CURSOR_H
|
||||
#define VGPU_CURSOR_H
|
||||
|
||||
/* cursor.h — win32 GDI cursor sample/compose onto a tight BGRA frame. */
|
||||
|
||||
#include <stdint.h>
|
||||
#include "ctx.h" /* win32 vgpu_ctx (cursor state) */
|
||||
|
||||
/* Sample the current cursor (position/shape) into ctx->cursor.
|
||||
* Returns 1 if anything changed since last sample, else 0. */
|
||||
int cursor_sample(vgpu_ctx* ctx);
|
||||
|
||||
/* Resolve a HCURSOR to a VGPU_CURSOR_ID_* by comparing against the system cursor table
|
||||
* (LoadCursor(NULL, IDC_*) loaded once on first use). Returns VGPU_CURSOR_ID_UNKNOWN for
|
||||
* custom cursors. Not hot-path: called only under the shape-change gate. */
|
||||
int cursor_resolve_id(HCURSOR hc);
|
||||
|
||||
/* Extract glyph/hotspot/dims for hc into ctx->cursor, resolve its cursor_id, and record it as
|
||||
* the current handle. For backends that source position elsewhere (DDA from frame info) and
|
||||
* only need the shape on a shape-change gate. Caller serializes ctx->cursor writes. */
|
||||
void cursor_apply_shape(vgpu_ctx* ctx, HCURSOR hc);
|
||||
|
||||
/* Alpha/AND-XOR compose the sampled cursor onto a tight BGRA frame. */
|
||||
void cursor_draw(vgpu_ctx* ctx, uint8_t* bgra, uint32_t width, uint32_t height);
|
||||
|
||||
#endif /* VGPU_CURSOR_H */
|
||||
Reference in New Issue
Block a user