You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
/* PlipVideo.h
|
|
|
|
*
|
|
|
|
* Provides a toolkit-agnostic video interface.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace Plip {
|
|
|
|
enum class PlipVideoFormat {
|
|
|
|
Unknown,
|
|
|
|
RGB888,
|
|
|
|
BGR888,
|
|
|
|
ARGB8888,
|
|
|
|
ABGR8888,
|
|
|
|
RGBA8888,
|
|
|
|
BGRA8888
|
|
|
|
};
|
|
|
|
|
|
|
|
class PlipVideo {
|
|
|
|
public:
|
|
|
|
virtual bool BeginDraw() = 0;
|
|
|
|
virtual void Draw(void *data) = 0;
|
|
|
|
virtual void Clear() = 0;
|
|
|
|
virtual bool EndDraw() = 0;
|
|
|
|
virtual PlipVideoFormat GetFormat() = 0;
|
|
|
|
virtual void Resize(int width, int height) = 0;
|
|
|
|
virtual void SetTitle(std::string title) = 0;
|
|
|
|
virtual void Render() = 0;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
PlipVideo() = default;
|
|
|
|
};
|
|
|
|
}
|