MHEG5
15.3.0
|
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*/