MHEG5  15.3.0
source/classes/inc/mh5visible.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
00003  * Copyright © 2004 Ocean Blue Software Ltd
00004  * Copyright © 2000 Koninklijke Philips Electronics N.V
00005  *
00006  * This file is part of a DTVKit Software Component
00007  * You are permitted to copy, modify or distribute this file subject to the terms
00008  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
00009  * 
00010  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
00011  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
00012  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
00013  * 
00014  * If you or your organisation is not a member of DTVKit then you have access
00015  * to this source code outside of the terms of the licence agreement
00016  * and you are expected to delete this and any associated files immediately.
00017  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
00018  *******************************************************************************/
00030 #ifndef _MH5VISIBLE_H
00031 #define _MH5VISIBLE_H
00032 
00033 /*---includes for this file--------------------------------------------------*/
00034 
00035 #include "techtype.h"
00036 #include "mh5ingredient.h"
00037 #include "osdtypes.h"
00038 
00039 /*---Constant and macro definitions for public use---------------------------*/
00040 
00041 /*---Enumerations for public use---------------------------------------------*/
00042 
00043 /*---Global type defs for public use-----------------------------------------*/
00044 
00045 
00046 typedef struct
00047 {
00048    /* Base class */
00049    MHEG5Ingredient ingredient;
00050 
00051    /* Exchanged attributes */
00052    MHEG5Int originalBoxSize[2];
00053    MHEG5Int originalPosition[2];
00054    MHEG5Int originalPaletteRefID;
00055    MH5GroupRef originalPaletteRefGROUPID;
00056 
00057    /* Internal attributes */
00058    MHEG5Int boxSize[2];
00059    MHEG5Int position[2];
00060 #if 0
00061    MHEG5Int paletteRefID;
00062    MH5GroupRef paletteRefGROUPID;
00063 #endif
00064    void *graphic_data;
00065    S_REGION rect;
00066    BOOLEAN restricted;
00067 } MHEG5Visible;
00068 
00069 /*---Global variable declarations for public use-----------------------------*/
00070 
00071 /*---Global Function prototypes for public use-------------------------------*/
00072 
00078 /*
00079    Debug
00080  */
00081 #ifdef MH5PRINTOUT
00082 
00089 void MHEG5visiblePrint(MHEG5Visible *visible, char *out);
00090 #endif
00091 
00092 /*
00093    Test for Visible Objects
00094  */
00095 MHEG5Bool MHEG5visibleIs(MHEG5Root *target);
00096 
00097 /*
00098    Constructor
00099  */
00105 void MHEG5visibleInit(MHEG5Visible *visible);
00106 
00107 
00115 void MHEG5visibleFree(MHEG5Visible *visible);
00116 
00117 
00118 /*
00119    Clone help function
00120  */
00121 void MHEG5visibleClone(MHEG5Visible *destination, MHEG5Visible *source);
00122 
00123 
00124 /*
00125    Internal behaviours
00126  */
00127 void MHEG5visiblePrepare(MHEG5Visible *visible);
00128 void MHEG5visibleActivate(MHEG5Visible *visible);
00129 void MHEG5visibleDeactivate(MHEG5Visible *visible);
00130 void MHEG5visibleDestruct(MHEG5Visible *visible);
00131 
00132 /*
00133     For ListGroup
00134  */
00135 void MHEG5visibleResetPosition(MHEG5Visible *visible);
00136 void MHEG5visibleSetPosition(MHEG5Visible *visible, MHEG5Int x, MHEG5Int y);
00137 
00138 /*
00139    Actions
00140  */
00141 MHEG5ErrorCode MHEG5setPosition(MHEG5Root *target, MHEG5GList *params);
00142 MHEG5ErrorCode MHEG5getPosition(MHEG5Root *target, MHEG5GList *params);
00143 MHEG5ErrorCode MHEG5setBoxSize(MHEG5Root *target, MHEG5GList *params);
00144 MHEG5ErrorCode MHEG5getBoxSize(MHEG5Root *target, MHEG5GList *params);
00145 MHEG5ErrorCode MHEG5bringToFront(MHEG5Root *target, MHEG5GList *params);
00146 MHEG5ErrorCode MHEG5sendToBack(MHEG5Root *target, MHEG5GList *params);
00147 MHEG5ErrorCode MHEG5putBefore(MHEG5Root *target, MHEG5GList *params);
00148 MHEG5ErrorCode MHEG5putBehind(MHEG5Root *target, MHEG5GList *params);
00149 MHEG5ErrorCode MHEG5setPaletteRef(MHEG5Root *target, MHEG5GList *params);
00150 
00151 #endif /*_MH5VISIBLE_H*/
 All Data Structures Files Functions Variables Typedefs Defines