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