| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #pragma once
- #include <Windows.h>
- #ifdef AMRECORDER_IMPORT
- #define AMRECORDER_API extern "C" __declspec(dllimport)
- #else
- #define AMRECORDER_API extern "C" __declspec(dllexport)
- #endif
- namespace am {
- class wgc_session
- {
- public:
- struct wgc_session_frame
- {
- unsigned int width;
- unsigned int height;
- unsigned int row_pitch;
- const unsigned char *data;
- };
- class wgc_session_observer
- {
- public:
- virtual ~wgc_session_observer() {}
- virtual void on_frame(const wgc_session_frame &frame) = 0;
- };
- public:
- virtual void release() = 0;
- virtual int initialize(HWND hwnd) = 0;
- virtual int initialize(HMONITOR hmonitor) = 0;
- virtual void register_observer(wgc_session_observer *observer) = 0;
- virtual int start() = 0;
- virtual int stop() = 0;
- virtual int pause() = 0;
- virtual int resume() = 0;
- protected:
- virtual ~wgc_session() {};
- };
- } // namespace am
- AMRECORDER_API bool wgc_is_supported();
- AMRECORDER_API am::wgc_session *wgc_create_session();
|