2008-11-09 12:43:27 +01:00
|
|
|
/*
|
2015-03-07 21:32:58 +01:00
|
|
|
* symbol.h: Frontend Status Monitor plugin for the Video Disk Recorder
|
2008-11-09 12:43:27 +01:00
|
|
|
*
|
|
|
|
* See the README file for copyright information and how to reach the author.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2015-03-07 21:32:58 +01:00
|
|
|
#ifndef __FEMON_SYMBOL_H
|
|
|
|
#define __FEMON_SYMBOL_H
|
2008-11-09 12:43:27 +01:00
|
|
|
|
2011-04-20 17:09:31 +02:00
|
|
|
#include <vdr/tools.h>
|
2008-11-09 12:43:27 +01:00
|
|
|
#include <vdr/osd.h>
|
|
|
|
|
|
|
|
enum eSymbols {
|
2014-01-02 20:33:34 +01:00
|
|
|
SYMBOL_ONEPIXEL,
|
2008-11-09 12:43:27 +01:00
|
|
|
SYMBOL_STEREO,
|
|
|
|
SYMBOL_MONO_LEFT,
|
|
|
|
SYMBOL_MONO_RIGHT,
|
|
|
|
SYMBOL_DD,
|
|
|
|
SYMBOL_DD20,
|
|
|
|
SYMBOL_DD51,
|
|
|
|
SYMBOL_MPEG2,
|
|
|
|
SYMBOL_H264,
|
2017-01-05 16:55:53 +01:00
|
|
|
SYMBOL_H265,
|
2008-11-09 12:43:27 +01:00
|
|
|
SYMBOL_PAL,
|
|
|
|
SYMBOL_NTSC,
|
2008-11-09 13:35:12 +01:00
|
|
|
SYMBOL_ENCRYPTED,
|
2008-11-09 12:43:27 +01:00
|
|
|
SYMBOL_SVDRP,
|
|
|
|
SYMBOL_LOCK,
|
|
|
|
SYMBOL_SIGNAL,
|
|
|
|
SYMBOL_CARRIER,
|
|
|
|
SYMBOL_VITERBI,
|
|
|
|
SYMBOL_SYNC,
|
|
|
|
SYMBOL_AR_1_1,
|
|
|
|
SYMBOL_AR_16_9,
|
|
|
|
SYMBOL_AR_2_21_1,
|
|
|
|
SYMBOL_AR_4_3,
|
|
|
|
SYMBOL_DEVICE,
|
|
|
|
SYMBOL_ZERO,
|
|
|
|
SYMBOL_ONE,
|
|
|
|
SYMBOL_TWO,
|
|
|
|
SYMBOL_THREE,
|
|
|
|
SYMBOL_FOUR,
|
|
|
|
SYMBOL_FIVE,
|
|
|
|
SYMBOL_SIX,
|
|
|
|
SYMBOL_SEVEN,
|
2009-09-02 14:58:30 +02:00
|
|
|
SYMBOL_EIGHT,
|
2017-02-24 19:49:44 +01:00
|
|
|
SYMBOL_FORMAT_2160,
|
|
|
|
SYMBOL_FORMAT_2160i,
|
|
|
|
SYMBOL_FORMAT_2160p,
|
2009-09-02 14:58:30 +02:00
|
|
|
SYMBOL_FORMAT_1080,
|
2011-11-27 01:09:27 +01:00
|
|
|
SYMBOL_FORMAT_1080i,
|
|
|
|
SYMBOL_FORMAT_1080p,
|
2009-09-02 14:58:30 +02:00
|
|
|
SYMBOL_FORMAT_720,
|
2011-11-27 01:09:27 +01:00
|
|
|
SYMBOL_FORMAT_720i,
|
|
|
|
SYMBOL_FORMAT_720p,
|
2009-09-02 14:58:30 +02:00
|
|
|
SYMBOL_FORMAT_576,
|
2011-11-27 01:09:27 +01:00
|
|
|
SYMBOL_FORMAT_576i,
|
|
|
|
SYMBOL_FORMAT_576p,
|
2009-09-02 14:58:30 +02:00
|
|
|
SYMBOL_FORMAT_480,
|
2011-11-27 01:09:27 +01:00
|
|
|
SYMBOL_FORMAT_480i,
|
|
|
|
SYMBOL_FORMAT_480p,
|
2008-11-09 12:43:27 +01:00
|
|
|
SYMBOL_MAX_COUNT
|
|
|
|
};
|
|
|
|
|
2011-04-20 16:41:17 +02:00
|
|
|
class cFemonSymbolCache {
|
|
|
|
private:
|
|
|
|
enum {
|
|
|
|
DEFAULT_SPACING = 5,
|
|
|
|
DEFAULT_ROUNDING = 10,
|
|
|
|
DEFAULT_HEIGHT = 576,
|
|
|
|
DEFAULT_WIDTH = 720
|
2011-04-21 09:59:40 +02:00
|
|
|
};
|
2011-04-20 16:41:17 +02:00
|
|
|
double xFactorM;
|
|
|
|
double yFactorM;
|
|
|
|
bool antiAliasM;
|
2011-04-20 17:09:31 +02:00
|
|
|
cVector<cBitmap*> cacheM;
|
2011-04-20 16:41:17 +02:00
|
|
|
bool Populate(void);
|
|
|
|
bool Flush(void);
|
|
|
|
public:
|
|
|
|
cFemonSymbolCache();
|
|
|
|
~cFemonSymbolCache();
|
|
|
|
void Refresh();
|
2011-04-20 17:09:31 +02:00
|
|
|
cBitmap& Get(eSymbols symbolP);
|
2014-01-02 20:33:34 +01:00
|
|
|
int GetSpacing() { return int(yFactorM * cFemonSymbolCache::DEFAULT_SPACING); }
|
|
|
|
int GetRounding() { return int(yFactorM * cFemonSymbolCache::DEFAULT_ROUNDING); }
|
2011-04-20 16:41:17 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
extern cFemonSymbolCache femonSymbols;
|
2008-11-09 12:43:27 +01:00
|
|
|
|
2015-03-07 21:32:58 +01:00
|
|
|
#endif // __FEMON_SYMBOL_H
|