MHEG5  15.3.0
source/classes/inc/mh5video.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  *******************************************************************************/
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*/
 All Data Structures Files Functions Variables Typedefs Defines