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 osd.h.

#define ALPHA_TRANSPARENT   0x00

Definition at line 25 of file osd.h.

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

Definition at line 27 of file osd.h.

#define LOCK_PIXMAPS   cPixmapMutexLock PixmapMutexLock

Definition at line 663 of file osd.h.

#define MAXNUMCOLORS   256

Definition at line 24 of file osd.h.

#define MAXOSDAREAS   16

Definition at line 693 of file osd.h.

#define MAXOSDIMAGES   64

Definition at line 926 of file osd.h.

#define MAXOSDPIXMAPS   64

Definition at line 694 of file osd.h.

#define MAXPIXMAPLAYERS   8

Definition at line 438 of file osd.h.

#define OSD_LEVEL_DEFAULT   0

Definition at line 21 of file osd.h.

Referenced by cOsd::IsOpen().

#define OSD_LEVEL_SUBTITLES   10

Definition at line 22 of file osd.h.


Typedef Documentation

typedef uint32_t tColor

Definition at line 54 of file osd.h.

typedef uint8_t tIndex

Definition at line 55 of file osd.h.


Enumeration Type Documentation

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

Definition at line 29 of file 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 osd.h.

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

Definition at line 149 of file osd.h.


Function Documentation

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

Definition at line 71 of file osd.c.

References AlphaLutAlpha, and AlphaLutFactors.

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

Definition at line 57 of file osd.h.

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.

References RgbToColor().

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

Definition at line 62 of file osd.h.

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

Definition at line 67 of file osd.h.

References RgbToColor().