vdr  2.2.0
Classes | Macros | 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
 
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 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
}
 
enum  eTextAlignment {
  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
#define ALPHA_TRANSPARENT   0x00

Definition at line 25 of file osd.h.

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

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

Definition at line 27 of file osd.h.

Referenced by cPixmapMemory::DrawPixel().

#define LOCK_PIXMAPS   cPixmapMutexLock PixmapMutexLock
#define MAXNUMCOLORS   256

Definition at line 24 of file osd.h.

Referenced by cPalette::SetAntiAliasGranularity(), cBitmap::SetXpm(), and cBitmap::ShrinkBpp().

#define MAXOSDAREAS   16

Definition at line 707 of file osd.h.

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

#define MAXOSDIMAGES   64
#define MAXPIXMAPLAYERS   8

Definition at line 452 of file osd.h.

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

#define OSD_LEVEL_DEFAULT   0

Definition at line 21 of file osd.h.

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

#define OSD_LEVEL_SUBTITLES   10

Definition at line 22 of file osd.h.

Referenced by cDvbSubtitleConverter::AssertOsd(), and cPictureControl::DisplayCaption().

#define TEXT_ALIGN_BORDER   10

Definition at line 28 of file osd.h.

Referenced by cHdffOsd::DrawText(), cBitmap::DrawText(), and cPixmapMemory::DrawText().

Typedef Documentation

typedef uint32_t tColor

Definition at line 55 of file osd.h.

typedef uint8_t tIndex

Definition at line 56 of file osd.h.

Enumeration Type Documentation

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

Definition at line 30 of file osd.h.

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

Definition at line 44 of file osd.h.

Enumerator
taCenter 
taLeft 
taRight 
taTop 
taBottom 
taBorder 
taDefault 

Definition at line 158 of file osd.h.

Function Documentation

tColor AlphaBlend ( tColor  ColorFg,
tColor  ColorBg,
uint8_t  AlphaLayer = ALPHA_OPAQUE 
)
tColor ArgbToColor ( uint8_t  A,
uint8_t  R,
uint8_t  G,
uint8_t  B 
)
inline
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().

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

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.

References constrain(), and min().

Referenced by RgbToColor().

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

Definition at line 63 of file osd.h.

Referenced by HsvToColor(), and RgbToColor().

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

Definition at line 68 of file osd.h.

References ALPHA_OPAQUE, AlphaBlend(), HsvToColor(), RgbShade(), and RgbToColor().