summaryrefslogtreecommitdiff
path: root/display.h
diff options
context:
space:
mode:
Diffstat (limited to 'display.h')
-rw-r--r--display.h63
1 files changed, 23 insertions, 40 deletions
diff --git a/display.h b/display.h
index 1e21deb..9d6f813 100644
--- a/display.h
+++ b/display.h
@@ -23,12 +23,12 @@ namespace Display {
// The Display:: namespace mainly encapsulates a cDisplay *display variable
// and allows NULL-safe access to display members.
// Additionally, selects via mode the actually used instance for *display.
-
+
enum Mode { Full, HalfUpper, HalfLower };
// Full mode: 2BPP or 4BPP full screen display, depending on memory constrains
// HalfUpper: 4BPP display of upper half, drop lower half if out of memory
// HalfLower: 4BPP display of lower half, drop upper half if out of memory
-
+
extern Mode mode;
extern cDisplay *display;
@@ -36,40 +36,40 @@ namespace Display {
void SetMode(Display::Mode mode);
inline void Delete()
{ if (display) { DELETENULL(display); } }
-
+
void ShowUpperHalf();
// Make sure the upper half of screen is visible
// eg. for entering numbers etc.
// Wrapper calls for various *display members:
- inline bool GetBlink()
+ inline bool GetBlink()
{ if (display) return display->GetBlink(); else return false; }
- inline bool SetBlink(bool blink)
+ inline bool SetBlink(bool blink)
{ if (display) display->SetBlink(blink); else return false; }
- inline bool GetConceal()
+ inline bool GetConceal()
{ if (display) return display->GetConceal(); else return false; }
- inline bool SetConceal(bool conceal)
+ inline bool SetConceal(bool conceal)
{ if (display) display->SetConceal(conceal); else return false; }
- inline cDisplay::enumZoom GetZoom()
+ inline cDisplay::enumZoom GetZoom()
{ if (display) return display->GetZoom(); else return cDisplay::Zoom_Off; }
inline void SetZoom(cDisplay::enumZoom zoom)
{ if (display) display->SetZoom(zoom); }
inline void SetBackgroundColor(tColor c)
{ if (display) display->SetBackgroundColor(c); }
-
- inline tColor GetBackgroundColor()
+
+ inline tColor GetBackgroundColor()
{ if (display) return display->GetBackgroundColor(); else return 0; }
- inline void HoldFlush()
+ inline void HoldFlush()
{ if (display) display->HoldFlush(); }
- inline void ReleaseFlush()
+ inline void ReleaseFlush()
{ if (display) display->ReleaseFlush(); }
inline void RenderTeletextCode(unsigned char *PageCode)
{ if (display) display->RenderTeletextCode(PageCode); }
-
+
inline void DrawClock()
{ if (display) display->DrawClock(); }
inline void DrawPageId(const char *text)
@@ -81,51 +81,34 @@ namespace Display {
}
-
-
-class cDisplay2BPP : public cDisplay {
- // 2BPP (4 color) OSD display
- // Use static color mapping to limit color depth
-
-public:
- cDisplay2BPP(int x0, int y0, int width, int height);
-
- virtual tColor GetColorRGB(enumTeletextColor ttc, int Area);
- virtual tColor GetColorRGBAlternate(enumTeletextColor ttc, int Area);
-};
-
-
-
-class cDisplay4BPP : public cDisplay {
- // 4BPP (16 color) OSD display
+class cDisplay32BPP : public cDisplay {
+ // True Color OSD display
// No need for color mapping
+ // Uses cPixmap instead of cBitmap
public:
- cDisplay4BPP(int x0, int y0, int width, int height);
+ cDisplay32BPP(int x0, int y0, int width, int height);
};
-
-class cDisplay4BPPHalf : public cDisplay {
- // 4BPP (16 color) OSD display with auto size reduction on memory constrains
+class cDisplay32BPPHalf : public cDisplay {
+ // 32BPP (true color) OSD display with auto size reduction on memory constrains
// Automatically tries to make visible area as big as possible
// No need for color mapping
bool Upper;
// Prefer to show upper half or lower half?
-
- int OsdX0,OsdY0;
+
+ int OsdX0,OsdY0;
// Needed to re-initialize osd
public:
- cDisplay4BPPHalf(int x0, int y0, int width, int height, bool upper);
+ cDisplay32BPPHalf(int x0, int y0, int width, int height, bool upper);
bool GetUpper() { return Upper; }
- void SetUpper(bool upper)
+ void SetUpper(bool upper)
{ if (Upper!=upper) { Upper=upper; InitOSD(); } }
protected:
void InitOSD();
};
-
-
#endif