aboutsummaryrefslogtreecommitdiff
path: root/include/window_texture.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2022-10-16 02:08:40 +0200
committerdec05eba <dec05eba@protonmail.com>2022-10-16 04:15:09 +0200
commita7e0dbd83381377bd05a3fa988511d3713996370 (patch)
tree0e18f4c7b95aa4cf79d6646bca77ed5f03c65fb3 /include/window_texture.h
parent93d46b976730bced7a70be1617a0171600167314 (diff)
Refactor xcomposite into abstract capture api
Refactor c++ files into c files, more usable
Diffstat (limited to 'include/window_texture.h')
-rw-r--r--include/window_texture.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/window_texture.h b/include/window_texture.h
new file mode 100644
index 0000000..db64191
--- /dev/null
+++ b/include/window_texture.h
@@ -0,0 +1,28 @@
+#ifndef WINDOW_TEXTURE_H
+#define WINDOW_TEXTURE_H
+
+#include "gl.h"
+
+typedef struct {
+ Display *display;
+ Window window;
+ Pixmap pixmap;
+ GLXPixmap glx_pixmap;
+ unsigned int texture_id;
+ int redirected;
+ gsr_gl *gl;
+} WindowTexture;
+
+/* Returns 0 on success */
+int window_texture_init(WindowTexture *window_texture, Display *display, Window window, gsr_gl *gl);
+void window_texture_deinit(WindowTexture *self);
+
+/*
+ This should ONLY be called when the target window is resized.
+ Returns 0 on success.
+*/
+int window_texture_on_resize(WindowTexture *self);
+
+unsigned int window_texture_get_opengl_texture_id(WindowTexture *self);
+
+#endif /* WINDOW_TEXTURE_H */