2015-02-18 15:15:38 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "platform.hpp"
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
2019-06-22 22:13:45 -07:00
|
|
|
#define MODE_ID_AUTO -1
|
2017-05-05 05:55:06 -07:00
|
|
|
|
2015-02-18 15:15:38 -08:00
|
|
|
class DeckLinkDeviceMode {
|
|
|
|
protected:
|
2019-06-22 22:13:45 -07:00
|
|
|
long long id;
|
2015-02-18 15:15:38 -08:00
|
|
|
IDeckLinkDisplayMode *mode;
|
2019-06-22 22:13:45 -07:00
|
|
|
std::string name;
|
2015-02-18 15:15:38 -08:00
|
|
|
|
|
|
|
public:
|
|
|
|
DeckLinkDeviceMode(IDeckLinkDisplayMode *mode, long long id);
|
2019-06-22 22:13:45 -07:00
|
|
|
DeckLinkDeviceMode(const std::string &name, long long id);
|
2015-02-18 15:15:38 -08:00
|
|
|
virtual ~DeckLinkDeviceMode(void);
|
|
|
|
|
|
|
|
BMDDisplayMode GetDisplayMode(void) const;
|
2017-05-05 05:55:06 -07:00
|
|
|
BMDDisplayModeFlags GetDisplayModeFlags(void) const;
|
2015-02-18 15:15:38 -08:00
|
|
|
long long GetId(void) const;
|
2019-06-22 22:13:45 -07:00
|
|
|
const std::string &GetName(void) const;
|
2021-04-20 22:24:33 -07:00
|
|
|
bool IsEqualFrameRate(int64_t num, int64_t den);
|
2017-05-05 05:55:06 -07:00
|
|
|
|
|
|
|
void SetMode(IDeckLinkDisplayMode *mode);
|
2018-09-25 15:51:32 -07:00
|
|
|
|
|
|
|
int GetWidth();
|
|
|
|
int GetHeight();
|
2015-02-18 15:15:38 -08:00
|
|
|
};
|