#ifndef OSD_H_INCLUDED #define OSD_H_INCLUDED #include // some constants #define DISABLE_KEYBOARD 0x02 // disable keyboard while OSD is active #define OSD_INFO 0x04 // display info #define REPEATDELAY 500 // repeat delay in 1ms units #define REPEATRATE 50 // repeat rate in 1ms units #define OSD_ARROW_LEFT 1 #define OSD_ARROW_RIGHT 2 /*functions*/ void OsdSetTitle(const char *s, int arrow = 0); // arrow > 0 = display right arrow in bottom right, < 0 = display left arrow void OsdSetArrow(int arrow); void OsdWrite(unsigned char n, const char *s="", unsigned char inver=0, unsigned char stipple=0, char usebg = 0, int maxinv = 32); void OsdWriteOffset(unsigned char n, const char *s, unsigned char inver, unsigned char stipple, char offset, char leftchar, char usebg = 0, int maxinv = 32); // Used for scrolling "Exit" text downwards... void OsdClear(); void OsdEnable(unsigned char mode); void InfoEnable(int x, int y, int width, int height); void OsdRotation(uint8_t rotate); void OsdDisable(); void OsdMenuCtl(int en); void OsdUpdate(); void OSD_PrintInfo(const char *message, int *width, int *height, int frame = 0); void OsdDrawLogo(int row); void ScrollText(char n, const char *str, int off, int len, int max_len, unsigned char invert); void ScrollReset(); void StarsInit(); void StarsUpdate(); // get/set core currently loaded void OsdCoreNameSet(const char* str); char* OsdCoreNameGet(); void OsdSetSize(int n); int OsdGetSize(); #define OsdIsBig (OsdGetSize()>8) #endif