obs-studio/plugins/win-capture/dc-capture.h

40 lines
937 B
C

#pragma once
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <obs-module.h>
#define NUM_TEXTURES 2
struct dc_capture {
int cur_tex;
gs_texture_t *textures[NUM_TEXTURES];
bool textures_written[NUM_TEXTURES];
int x, y;
uint32_t width;
uint32_t height;
int num_textures;
bool compatibility;
HDC hdc;
HBITMAP bmp, old_bmp;
BYTE *bits;
bool capture_cursor;
bool cursor_captured;
CURSORINFO ci;
bool valid;
};
extern void dc_capture_init(struct dc_capture *capture, int x, int y,
uint32_t width, uint32_t height, bool cursor,
bool compatibility);
extern void dc_capture_free(struct dc_capture *capture);
extern void dc_capture_capture(struct dc_capture *capture, HWND window);
extern void dc_capture_render(struct dc_capture *capture, gs_effect_t *effect);
extern gs_effect_t *create_opaque_effect(void);