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 *******************************************************************************/ 00032 #ifndef _MH5VIDEO_H 00033 #define _MH5VIDEO_H 00034 00035 /*---includes for this file--------------------------------------------------*/ 00036 00037 #include "mh5presentable.h" 00038 #include "mh5stream.h" 00039 00040 /*---Constant and macro definitions for public use---------------------------*/ 00041 00042 /*---Enumerations for public use---------------------------------------------*/ 00043 00044 /*---Global type defs for public use-----------------------------------------*/ 00045 00046 typedef struct 00047 { 00048 /* Base class */ 00049 MHEG5Visible visible; 00050 00051 /* Engine data */ 00052 MHEG5Bool scaleSet; 00053 MHEG5Int xScale; 00054 MHEG5Int yScale; 00055 00056 /* Internal attributes */ 00057 MHEG5Int xOffset; 00058 MHEG5Int yOffset; 00059 00060 /* above attributes are common with bitmap class - and need the same positions */ 00061 00062 MHEG5Bool terminationFreeze; 00063 MHEG5Int componentTag; 00064 00065 MHEG5Stream *parent; 00066 } MHEG5Video; 00067 00068 00069 /*---Global variable declarations for public use-----------------------------*/ 00070 00071 /*---Global Function prototypes for public use-------------------------------*/ 00072 00084 void MHEG5videoInit(MHEG5Video *video); 00085 00086 00094 void MHEG5videoFree(MHEG5Video *video); 00095 00096 /* 00097 Internal behaviours 00098 */ 00106 void MHEG5videoPrepare(MHEG5Video *video); 00107 00113 void MHEG5videoActivate(MHEG5Video *video); 00114 00122 void MHEG5videoDeactivate(MHEG5Video *video); 00123 00130 void MHEG5videoDestruct(MHEG5Video *video); 00131 00132 /* 00133 Actions 00134 */ 00135 00160 MHEG5ErrorCode MHEG5scaleVideo(MHEG5Root *target, MHEG5GList *params); 00161 00191 MHEG5ErrorCode MHEG5setVideoDecodeOffset(MHEG5Root *target, MHEG5GList *params); 00192 00213 MHEG5ErrorCode MHEG5getVideoDecodeOffset(MHEG5Root *target, MHEG5GList *params); 00214 00215 00216 /* 00217 Debug 00218 */ 00219 00220 #ifdef MH5PRINTOUT 00221 00229 void MHEG5videoPrint(MHEG5Video *video, char *out); 00230 00231 #endif /* #ifdef MH5PRINTOUT */ 00232 00233 #endif /*_MH5VIDEO_H*/