MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5lineart.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
31 #ifndef _MH5LINEART_H
32 #define _MH5LINEART_H
33 
34 /*---includes for this file--------------------------------------------------*/
35 #include "mh5visible.h"
36 
37 /*---Constant and macro definitions for public use---------------------------*/
38 
39 #define MHEG_LINE_STYLE_SOLID (1)
40 #define MHEG_LINE_STYLE_DASHED (2)
41 #define MHEG_LINE_STYLE_DOTTED (3)
42 
43 /*---Enumerations for public use---------------------------------------------*/
44 
45 /*---Global type defs for public use-----------------------------------------*/
46 /* LineArt, Rectangle, DynamicLineArt
47  */
48 typedef struct
49 {
50  /* Base class */
51  MHEG5Visible visible;
52 
53  /* Exchanged attributes */
54  MHEG5Bool borderedBoundingBox;
55  MHEG5Int originalLineWidth;
56  MHEG5Int originalLineStyle;
57  MHEG5Colour originalRefLineColour;
58  MHEG5Colour originalRefFillColour;
59 
60  /* Internal attributes */
61  MHEG5Int lineWidth;
62  MHEG5Int lineStyle;
63  MHEG5Colour refLineColour;
64  MHEG5Colour refFillColour;
65 } MHEG5Lineart;
66 
67 /*---Global variable declarations for public use-----------------------------*/
68 
69 /*---Global Function prototypes for public use-------------------------------*/
70 
76 /*
77  Lineart Clone
78  */
79 void MHEG5lineartClone(MHEG5Lineart *destination, MHEG5Lineart *source);
80 
81 
87 void MHEG5lineartInit(MHEG5Lineart *lineart);
88 
89 
97 void MHEG5lineartFree(MHEG5Lineart *lineart);
98 
99 /*
100  Internal behaviours
101  */
102 void MHEG5lineartPrepare(MHEG5Lineart *lineart);
103 void MHEG5lineartActivate(MHEG5Lineart *lineart);
104 void MHEG5lineartDeactivate(MHEG5Lineart *lineart);
105 void MHEG5lineartDestruct(MHEG5Lineart *lineart);
106 
107 /*
108  Actions
109  */
110 MHEG5ErrorCode MHEG5setLineWidth(MHEG5Root *target, MHEG5GList *params);
111 MHEG5ErrorCode MHEG5setLineStyle(MHEG5Root *target, MHEG5GList *params);
112 MHEG5ErrorCode MHEG5setLineColour(MHEG5Root *target, MHEG5GList *params);
113 MHEG5ErrorCode MHEG5setFillColour(MHEG5Root *target, MHEG5GList *params);
114 
115 /*
116  Debug
117  */
118 #ifdef MH5PRINTOUT
119 
125 void MHEG5lineartPrint(MHEG5Lineart *lineart, char *out);
126 #endif
127 
128 #endif /*_MH5LINEART_H*/
Definition: mh5visible.h:46
void MHEG5lineartFree(MHEG5Lineart *lineart)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Definition: mh5lineart.c:198
Definition: mh5base.h:169
Implement the MHEG5 Visible Class Defines the behaviour of Presentables that have a visual representa...
Definition: mh5base.h:147
Definition: mh5root.h:43
void MHEG5lineartClone(MHEG5Lineart *destination, MHEG5Lineart *source)
<Function description>="">
Definition: mh5lineart.c:155
void MHEG5lineartInit(MHEG5Lineart *lineart)
Initialise a lineart object with default values.
Definition: mh5lineart.c:178
Definition: mh5lineart.h:48