MHEG5  15.3.0
source/classes/inc/mh5bitmap.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  *******************************************************************************/
00031 #ifndef _MH5BITMAP_H
00032 #define _MH5BITMAP_H
00033 
00034 /*---includes for this file--------------------------------------------------*/
00035 #include "mh5visible.h"
00036 
00037 /*---Constant and macro definitions for public use---------------------------*/
00038 
00039 /*---Enumerations for public use---------------------------------------------*/
00040 
00041 /*---Global type defs for public use-----------------------------------------*/
00042 typedef struct
00043 {
00044    /* Base class */
00045    MHEG5Visible visible;
00046 
00047    /* Engine data */
00048    MHEG5Bool scaleSet;
00049    MHEG5Int xscale;
00050    MHEG5Int yscale;
00051 
00052    /* Internal attributes */
00053    MHEG5Int xOffset;
00054    MHEG5Int yOffset;
00055    /* above attributes are common with video class - and need the same positions */
00056 
00057    MHEG5Int transparency;
00058 
00059    MHEG5Bool tiling;
00060    MHEG5Int originalTransparency;
00061 } MHEG5Bitmap;
00062 
00063 /*---Global variable declarations for public use-----------------------------*/
00064 
00065 /*---Global Function prototypes for public use-------------------------------*/
00066 
00077 void MHEG5bitmapInit(MHEG5Bitmap *bitmap);
00078 
00079 
00087 void MHEG5bitmapFree(MHEG5Bitmap *bitmap);
00088 
00089 /*
00090     Clone
00091  */
00097 MHEG5Bitmap* MHEG5bitmapClone(MHEG5Bitmap *source);
00098 
00099 /*
00100     Internal behaviours
00101  */
00102 void MHEG5bitmapPrepare(MHEG5Bitmap *bitmap);
00103 void MHEG5bitmapActivate(MHEG5Bitmap *bitmap);
00104 void MHEG5bitmapDeactivate(MHEG5Bitmap *bitmap);
00105 void MHEG5bitmapDestruct(MHEG5Bitmap *bitmap);
00106 
00107 /*
00108     Actions
00109  */
00110 MHEG5ErrorCode MHEG5scaleBitmap(MHEG5Root *target, MHEG5GList *params);
00111 MHEG5ErrorCode MHEG5setTransparency(MHEG5Root *target, MHEG5GList *params);
00112 MHEG5ErrorCode MHEG5setBitmapDecodeOffset(MHEG5Root *target, MHEG5GList *params);
00113 MHEG5ErrorCode MHEG5getBitmapDecodeOffset(MHEG5Root *target, MHEG5GList *params);
00114 
00115 /*
00116    Debug
00117  */
00118 #ifdef MH5PRINTOUT
00119 void MHEG5bitmapPrint(MHEG5Bitmap *bitmap, char *out);
00120 #endif
00121 
00122 #endif /*_MH5BITMAP_H*/
 All Data Structures Files Functions Variables Typedefs Defines