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 _MH5LINEART_H 00032 #define _MH5LINEART_H 00033 00034 /*---includes for this file--------------------------------------------------*/ 00035 #include "mh5visible.h" 00036 00037 /*---Constant and macro definitions for public use---------------------------*/ 00038 00039 #define MHEG_LINE_STYLE_SOLID (1) 00040 #define MHEG_LINE_STYLE_DASHED (2) 00041 #define MHEG_LINE_STYLE_DOTTED (3) 00042 00043 /*---Enumerations for public use---------------------------------------------*/ 00044 00045 /*---Global type defs for public use-----------------------------------------*/ 00046 /* LineArt, Rectangle, DynamicLineArt 00047 */ 00048 typedef struct 00049 { 00050 /* Base class */ 00051 MHEG5Visible visible; 00052 00053 /* Exchanged attributes */ 00054 MHEG5Bool borderedBoundingBox; 00055 MHEG5Int originalLineWidth; 00056 MHEG5Int originalLineStyle; 00057 MHEG5Colour originalRefLineColour; 00058 MHEG5Colour originalRefFillColour; 00059 00060 /* Internal attributes */ 00061 MHEG5Int lineWidth; 00062 MHEG5Int lineStyle; 00063 MHEG5Colour refLineColour; 00064 MHEG5Colour refFillColour; 00065 } MHEG5Lineart; 00066 00067 /*---Global variable declarations for public use-----------------------------*/ 00068 00069 /*---Global Function prototypes for public use-------------------------------*/ 00070 00076 /* 00077 Lineart Clone 00078 */ 00079 void MHEG5lineartClone(MHEG5Lineart *destination, MHEG5Lineart *source); 00080 00081 00087 void MHEG5lineartInit(MHEG5Lineart *lineart); 00088 00089 00097 void MHEG5lineartFree(MHEG5Lineart *lineart); 00098 00099 /* 00100 Internal behaviours 00101 */ 00102 void MHEG5lineartPrepare(MHEG5Lineart *lineart); 00103 void MHEG5lineartActivate(MHEG5Lineart *lineart); 00104 void MHEG5lineartDeactivate(MHEG5Lineart *lineart); 00105 void MHEG5lineartDestruct(MHEG5Lineart *lineart); 00106 00107 /* 00108 Actions 00109 */ 00110 MHEG5ErrorCode MHEG5setLineWidth(MHEG5Root *target, MHEG5GList *params); 00111 MHEG5ErrorCode MHEG5setLineStyle(MHEG5Root *target, MHEG5GList *params); 00112 MHEG5ErrorCode MHEG5setLineColour(MHEG5Root *target, MHEG5GList *params); 00113 MHEG5ErrorCode MHEG5setFillColour(MHEG5Root *target, MHEG5GList *params); 00114 00115 /* 00116 Debug 00117 */ 00118 #ifdef MH5PRINTOUT 00119 00125 void MHEG5lineartPrint(MHEG5Lineart *lineart, char *out); 00126 #endif 00127 00128 #endif /*_MH5LINEART_H*/