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