Ginga  0.13.6.1771-df200
The iTV middleware.
Formatter.cpp File Reference
#include "aux-ginga.h"
#include "aux-gl.h"
#include "Formatter.h"
#include "Context.h"
#include "Media.h"
#include "MediaSettings.h"
#include "Object.h"
#include "Switch.h"
#include "ncl/ParserXercesC.h"
#include "Parser.h"
#include "player/PlayerText.h"
Include dependency graph for Formatter.cpp:

Classes

struct  GingaOptionData
 

Macros

#define OPTS_ENTRY(name, type, func)
 
#define _GINGA_CHECK_EOS(ginga)
 
#define OPT_ERR_UNKNOWN(name)   ERROR ("unknown GingaOption '%s'", (name))
 
#define OPT_ERR_BAD_TYPE(name, typename)   ERROR ("GingaOption '%s' is of type '%s'", (name), (typename))
 
#define OPT_GETSET_DEFN(Name, Type, GType)
 

Typedefs

typedef struct GingaOptionData OptionTab
 

Functions

static bool opts_table_index (const string &key, GingaOptionData **result)
 
static bool cmpz (Media *a, Media *b)
 

Variables

static GINGA_NAMESPACE_BEGIN GingaOptions opts_defaults
 
static map< string, GingaOptionDataopts_table
 

Macro Definition Documentation

#define _GINGA_CHECK_EOS (   ginga)
Value:
G_STMT_START \
{ \
if ((ginga)->getEOS ()) \
{ \
(ginga)->setEOS (false); \
g_assert ((ginga)->stop ()); \
} \
} \
G_STMT_END
g_assert(n >=0)
Definition: ginga.h:54
Definition: ginga.h:55

Referenced by Formatter::sendKeyEvent(), and Formatter::sendTickEvent().

#define OPT_ERR_BAD_TYPE (   name,
  typename 
)    ERROR ("GingaOption '%s' is of type '%s'", (name), (typename))
#define OPT_ERR_UNKNOWN (   name)    ERROR ("unknown GingaOption '%s'", (name))
#define OPT_GETSET_DEFN (   Name,
  Type,
  GType 
)
Value:
Type \
Formatter::getOption##Name (const string &name) \
{ \
GingaOptionData *opt; \
if (unlikely (!opts_table_index (name, &opt))) \
OPT_ERR_UNKNOWN (name.c_str ()); \
if (unlikely (opt->type != (GType))) \
OPT_ERR_BAD_TYPE (name.c_str (), G_STRINGIFY (Type)); \
return *((Type *)(((ptrdiff_t) &_opts) + opt->offset)); \
} \
void \
Formatter::setOption##Name (const string &name, Type value) \
{ \
GingaOptionData *opt; \
if (unlikely (!opts_table_index (name, &opt))) \
OPT_ERR_UNKNOWN (name.c_str ()); \
if (unlikely (opt->type != (GType))) \
OPT_ERR_BAD_TYPE (name.c_str (), G_STRINGIFY (Type)); \
*((Type *)(((ptrdiff_t) &_opts) + opt->offset)) = value; \
if (opt->func) \
{ \
((void (*) (Formatter *, const string &, Type)) opt->func) \
(this, name, value); \
} \
}
static bool opts_table_index(const string &key, GingaOptionData **result)
Definition: Formatter.cpp:71
#define unlikely
Definition: aux-glib.h:31
#define OPT_ERR_BAD_TYPE(name, typename)
Definition: Formatter.cpp:422
Definition: Formatter.h:35
#define OPT_ERR_UNKNOWN(name)
Definition: Formatter.cpp:420
#define OPTS_ENTRY (   name,
  type,
  func 
)
Value:
{G_STRINGIFY (name), \
{(type), offsetof (GingaOptions, name), \
pointerof (G_PASTE (Formatter::setOption, func))}}
Ginga options.
Definition: ginga.h:39
#define pointerof(x)
Definition: aux-glib.h:28

Typedef Documentation

typedef struct GingaOptionData OptionTab

Function Documentation

static bool cmpz ( Media a,
Media b 
)
static

References g_assert_nonnull(), and Media::getZ().

Referenced by Formatter::redraw().

static bool opts_table_index ( const string &  key,
GingaOptionData **  result 
)
static

References opts_table, and tryset.

Variable Documentation

GINGA_NAMESPACE_BEGIN GingaOptions opts_defaults
static
Initial value:
=
{
800,
600,
false,
false,
false,
"",
}
map<string, GingaOptionData> opts_table
static
Initial value:
=
{
OPTS_ENTRY (background, G_TYPE_STRING, Background),
OPTS_ENTRY (debug, G_TYPE_BOOLEAN, Debug),
OPTS_ENTRY (experimental, G_TYPE_BOOLEAN, Experimental),
OPTS_ENTRY (height, G_TYPE_INT, Size),
OPTS_ENTRY (opengl, G_TYPE_BOOLEAN, OpenGL),
OPTS_ENTRY (width, G_TYPE_INT, Size),
}
#define OPTS_ENTRY(name, type, func)
Definition: Formatter.cpp:53

Referenced by opts_table_index().