[client] add a MPV glsl style effect loader
Some checks failed
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled

This commit is contained in:
Geoffrey McRae
2026-07-18 08:41:38 +10:00
parent d206e788af
commit 6a9957650c
22 changed files with 1494 additions and 45 deletions

View File

@@ -22,6 +22,7 @@
#define _H_LG_APP_
#include <stdbool.h>
#include <stdint.h>
#include <linux/input.h>
#include "common/ringbuffer.h"
@@ -38,6 +39,19 @@ typedef enum LG_MsgAlert
}
LG_MsgAlert;
typedef struct LG_MouseState
{
/* Normalized guest cursor hotspot coordinates. */
float x, y;
/* Bit 0: left, bit 1: middle, bit 2: right, etc. */
uint32_t buttons;
/* True when the guest cursor position is known. */
bool valid;
}
LG_MouseState;
bool app_isRunning(void);
bool app_inputEnabled(void);
bool app_isCaptureMode(void);
@@ -45,6 +59,8 @@ bool app_isCaptureOnlyMode(void);
bool app_isFormatValid(void);
bool app_isOverlayMode(void);
void app_updateCursorPos(double x, double y);
void app_updateMouseState(void);
void app_getMouseState(LG_MouseState * state);
void app_updateWindowPos(int x, int y);
void app_handleResizeEvent(int w, int h, double scale, const struct Border border);
void app_invalidateWindow(bool full);