vdr  1.7.31
Classes | Macros | Typedefs | Enumerations | Functions
include/vdr/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

Macros

#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 TEXT_ALIGN_BORDER   10
#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, taBorder = 0x10, taDefault = taTop | taLeft, taCenter = 0x00,
  taLeft = 0x01, taRight = 0x02, taTop = 0x04, taBottom = 0x08,
  taBorder = 0x10, 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 RgbShade (tColor Color, double Factor)
tColor HsvToColor (double H, double S, double V)
tColor AlphaBlend (tColor ColorFg, tColor ColorBg, uint8_t AlphaLayer=ALPHA_OPAQUE)

Macro Definition 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 703 of file include/vdr/osd.h.

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

#define MAXOSDIMAGES   64
#define MAXOSDPIXMAPS   64

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

Referenced by cOsd::AddPixmap().

#define MAXPIXMAPLAYERS   8

Definition at line 448 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
#define TEXT_ALIGN_BORDER   10

Typedef Documentation

typedef uint32_t tColor

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

typedef uint8_t tIndex

Definition at line 56 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 30 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 44 of file include/vdr/osd.h.

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

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

Function Documentation

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

Definition at line 81 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 58 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 RgbShade ( tColor  Color,
double  Factor 
)

Returns a brighter (Factor > 0) or darker (Factor < 0) version of the given Color.

If Factor is 0.0, the return value is the unchanged Color, If Factor is 1.0, white is returned. If Factor is -1.0, black is returned. The alpha value of Color is returned unchanged.

Definition at line 43 of file osd.c.

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

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

Referenced by HsvToColor(), and RgbToColor().

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

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

References RgbToColor().