vdr  1.7.27
Classes | Defines | Typedefs | Enumerations | Functions
osd.h File Reference
#include <limits.h>
#include <stdio.h>
#include <stdint.h>
#include "config.h"
#include "font.h"
#include "thread.h"
#include "tools.h"

Go to the source code of this file.

Classes

class  cPalette
class  cBitmap
struct  tArea
class  cPoint
class  cSize
class  cRect
class  cImage
class  cPixmap
class  cPixmapMutexLock
class  cPixmapMemory
class  cOsd
 The cOsd class is the interface to the "On Screen Display". More...
class  cOsdProvider
class  cTextScroller

Defines

#define OSD_LEVEL_DEFAULT   0
#define OSD_LEVEL_SUBTITLES   10
#define MAXNUMCOLORS   256
#define ALPHA_TRANSPARENT   0x00
#define ALPHA_OPAQUE   0xFF
#define IS_OPAQUE(c)   ((c >> 24) == ALPHA_OPAQUE)
#define MAXPIXMAPLAYERS   8
#define LOCK_PIXMAPS   cPixmapMutexLock PixmapMutexLock
#define MAXOSDAREAS   16
#define MAXOSDPIXMAPS   64
#define MAXOSDIMAGES   64

Typedefs

typedef uint32_t tColor
typedef uint8_t tIndex

Enumerations

enum  {
  clrTransparent = 0x00000000, clrGray50 = 0x7F000000, clrBlack = 0xFF000000, clrRed = 0xFFFC1414,
  clrGreen = 0xFF24FC24, clrYellow = 0xFFFCC024, clrMagenta = 0xFFB000FC, clrBlue = 0xFF0000FC,
  clrCyan = 0xFF00FCFC, clrWhite = 0xFFFCFCFC
}
enum  eOsdError {
  oeOk, oeTooManyAreas, oeTooManyColors, oeBppNotSupported,
  oeAreasOverlap, oeWrongAlignment, oeOutOfMemory, oeWrongAreaSize,
  oeUnknown, oeOk, oeTooManyAreas, oeTooManyColors,
  oeBppNotSupported, oeAreasOverlap, oeWrongAlignment, oeOutOfMemory,
  oeWrongAreaSize, oeUnknown
}
enum  eTextAlignment {
  taCenter = 0x00, taLeft = 0x01, taRight = 0x02, taTop = 0x04,
  taBottom = 0x08, taDefault = taTop | taLeft, taCenter = 0x00, taLeft = 0x01,
  taRight = 0x02, taTop = 0x04, taBottom = 0x08, taDefault = taTop | taLeft
}

Functions

tColor ArgbToColor (uint8_t A, uint8_t R, uint8_t G, uint8_t B)
tColor RgbToColor (uint8_t R, uint8_t G, uint8_t B)
tColor RgbToColor (double R, double G, double B)
tColor HsvToColor (double H, double S, double V)
tColor AlphaBlend (tColor ColorFg, tColor ColorBg, uint8_t AlphaLayer=ALPHA_OPAQUE)

Define Documentation

#define ALPHA_OPAQUE   0xFF

Definition at line 26 of file include/vdr/osd.h.

Referenced by cTrueColorDemo::Action(), cPixmap::cPixmap(), and cPixmap::SetAlpha().

#define ALPHA_TRANSPARENT   0x00

Definition at line 25 of file include/vdr/osd.h.

Referenced by cPixmapMemory::Render(), and cPixmap::SetAlpha().

#define IS_OPAQUE (   c)    ((c >> 24) == ALPHA_OPAQUE)

Definition at line 27 of file include/vdr/osd.h.

Referenced by cPixmapMemory::DrawPixel().

#define LOCK_PIXMAPS   cPixmapMutexLock PixmapMutexLock
#define MAXNUMCOLORS   256
#define MAXOSDAREAS   16

Definition at line 693 of file include/vdr/osd.h.

Referenced by cOsd::CanHandleAreas(), and cDvbSubtitleBitmaps::Draw().

#define MAXOSDIMAGES   64
#define MAXOSDPIXMAPS   64

Definition at line 694 of file include/vdr/osd.h.

Referenced by cOsd::AddPixmap().

#define MAXPIXMAPLAYERS   8

Definition at line 438 of file include/vdr/osd.h.

Referenced by cPixmap::cPixmap(), cOsd::RenderPixmaps(), and cPixmap::SetLayer().

#define OSD_LEVEL_DEFAULT   0

Definition at line 21 of file include/vdr/osd.h.

Referenced by cOsd::IsOpen(), and cOsdProvider::NewOsd().

#define OSD_LEVEL_SUBTITLES   10

Typedef Documentation

typedef uint32_t tColor

Definition at line 54 of file include/vdr/osd.h.

typedef uint8_t tIndex

Definition at line 55 of file include/vdr/osd.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
clrTransparent 
clrGray50 
clrBlack 
clrRed 
clrGreen 
clrYellow 
clrMagenta 
clrBlue 
clrCyan 
clrWhite 

Definition at line 29 of file include/vdr/osd.h.

enum eOsdError
Enumerator:
oeOk 
oeTooManyAreas 
oeTooManyColors 
oeBppNotSupported 
oeAreasOverlap 
oeWrongAlignment 
oeOutOfMemory 
oeWrongAreaSize 
oeUnknown 
oeOk 
oeTooManyAreas 
oeTooManyColors 
oeBppNotSupported 
oeAreasOverlap 
oeWrongAlignment 
oeOutOfMemory 
oeWrongAreaSize 
oeUnknown 

Definition at line 43 of file include/vdr/osd.h.

Enumerator:
taCenter 
taLeft 
taRight 
taTop 
taBottom 
taDefault 
taCenter 
taLeft 
taRight 
taTop 
taBottom 
taDefault 

Definition at line 149 of file include/vdr/osd.h.


Function Documentation

tColor AlphaBlend ( tColor  ColorFg,
tColor  ColorBg,
uint8_t  AlphaLayer = ALPHA_OPAQUE 
)

Definition at line 71 of file osd.c.

Referenced by cPixmapMemory::DrawPixel(), cFreetypeFont::DrawText(), and cPixmapMemory::Render().

tColor ArgbToColor ( uint8_t  A,
uint8_t  R,
uint8_t  G,
uint8_t  B 
) [inline]

Definition at line 57 of file include/vdr/osd.h.

Referenced by cTrueColorDemo::Action(), and cSubtitleClut::cSubtitleClut().

tColor HsvToColor ( double  H,
double  S,
double  V 
)

Converts the given Hue (0..360), Saturation (0..1) and Value (0..1) to an RGB tColor value.

The alpha value of the result is 0x00, so the caller may need to set it accordingly.

Definition at line 19 of file osd.c.

Referenced by cTrueColorDemo::Action().

tColor RgbToColor ( uint8_t  R,
uint8_t  G,
uint8_t  B 
) [inline]

Definition at line 62 of file include/vdr/osd.h.

Referenced by HsvToColor(), and RgbToColor().

tColor RgbToColor ( double  R,
double  G,
double  B 
) [inline]

Definition at line 67 of file include/vdr/osd.h.

References RgbToColor().