MHEG-5  19.3.0
MHEG-5 Documentation
fpa1_iac.c
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  *******************************************************************************/
27 /*---includes for this file--------------------------------------------------*/
28 #include <stdio.h>
29 #include <stdlib.h>
30 
31 #include "vpa1_tgs.h"
32 #include "vpa1_rdf.h"
33 
34 #include "fpa1_iac.h"
35 #include "fpa1_set.h"
36 #include "fpa1_syn.h"
37 
38 /*******************
39  * LOCAL TYPEDEFS *
40  ********************/
41 
42 /*******************
43  * LOCAL MACROS *
44  ********************/
45 #define SLIDER_SET_COMPS 16
46 #define ENT_FLD_SET_COMPS 24
47 #define HYP_TXT_SET_COMPS 20
48 #define IAC_EXPLICIT 2
49 
50 /*******************
51  * EXPORTED DATA *
52  ********************/
53 
54 /*******************
55  * STATIC DATA *
56  ********************/
57 
58 int sliderSetCompsArr[ 2 * SLIDER_SET_COMPS + 1 ]
59  = { 2 * SLIDER_SET_COMPS, /* array limit */
60  /* Ingredient */
61  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
62  INITACTIVE, SYN_DEFAULT,
63  SHARED, SYN_DEFAULT,
64  /* Visible */
65  OBOXSIZE, SYN_NEEDED,
66  OPOSITION, SYN_DEFAULT,
67  OPALREF, SYN_OPTIONAL,
68  /* Interactible */
69  ENGRESP, SYN_DEFAULT,
70  HIGHREFCOL, SYN_OPTIONAL,
71  /* Slider */
72  ORIENTATION, SYN_NEEDED,
73  MAXVAL, SYN_NEEDED,
74  MINVAL, SYN_DEFAULT,
75  INITVAL, SYN_OPTIONAL,
76  INITPOR, SYN_OPTIONAL,
77  STEPSIZE, SYN_DEFAULT,
78  SLSTYLE, SYN_DEFAULT,
79  SLIDEREFCOL, SYN_OPTIONAL };
80 
81 int entFldSetCompsArr[ 2 * ENT_FLD_SET_COMPS + 1 ]
82  = { 2 * ENT_FLD_SET_COMPS, /* array limit */
83  /* Presentable (Ingredient) */
84  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
85  INITACTIVE, SYN_DEFAULT,
86  CHOOK, SYN_OPTIONAL,
87  OCONTENT, SYN_NEEDED,
88  SHARED, SYN_DEFAULT,
89  /* Visible */
90  OBOXSIZE, SYN_NEEDED,
91  OPOSITION, SYN_DEFAULT,
92  OPALREF, SYN_OPTIONAL,
93  /* Text */
94  OFONT, SYN_OPTIONAL,
95  FONTATTS, SYN_OPTIONAL,
96  TCOL, SYN_OPTIONAL,
97  BACKCOL, SYN_OPTIONAL,
98  CHARSET, SYN_OPTIONAL,
99  HJUST, SYN_DEFAULT,
100  VJUST, SYN_DEFAULT,
101  LINEOR, SYN_DEFAULT,
102  STARTCORN, SYN_DEFAULT,
103  TEXTWRAP, SYN_DEFAULT,
104  /* Interactible */
105  ENGRESP, SYN_DEFAULT,
106  HIGHREFCOL, SYN_OPTIONAL,
107  /* EntryField */
108  INPUTTYPE, SYN_DEFAULT,
109  CHARLIST, SYN_OPTIONAL,
110  OBSCURED, SYN_DEFAULT,
111  MAXLEN, SYN_DEFAULT };
112 
113 int hypTxtSetCompsArr[ 2 * HYP_TXT_SET_COMPS + 1 ]
114  = { 2 * HYP_TXT_SET_COMPS, /* array limit */
115  /* Presentable (Ingredient) */
116  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
117  INITACTIVE, SYN_DEFAULT,
118  CHOOK, SYN_OPTIONAL,
119  OCONTENT, SYN_NEEDED,
120  SHARED, SYN_DEFAULT,
121  /* Visible */
122  OBOXSIZE, SYN_NEEDED,
123  OPOSITION, SYN_DEFAULT,
124  OPALREF, SYN_OPTIONAL,
125  /* Text */
126  OFONT, SYN_OPTIONAL,
127  FONTATTS, SYN_OPTIONAL,
128  TCOL, SYN_OPTIONAL,
129  BACKCOL, SYN_OPTIONAL,
130  CHARSET, SYN_OPTIONAL,
131  HJUST, SYN_DEFAULT,
132  VJUST, SYN_DEFAULT,
133  LINEOR, SYN_DEFAULT,
134  STARTCORN, SYN_DEFAULT,
135  TEXTWRAP, SYN_DEFAULT,
136  /* Interactible */
137  ENGRESP, SYN_DEFAULT,
138  HIGHREFCOL, SYN_OPTIONAL };
139 
140 /**********************
141  * FUNCTION PROTOTYPES *
142  ***********************/
143 
150 fpa1_syntaxList* fpa1_decodeSlider( vpa1_filePos filePosLimit )
151 {
152  /* SliderClass a SET - any order */
153  return fpa1_setParse( sliderSetCompsArr, filePosLimit );
154 } /* fpa1_decodeSlider () */
155 
162 fpa1_syntaxList* fpa1_decodeEntryField( vpa1_filePos filePosLimit )
163 {
164  /* EntryFieldClass a SET - any order */
165  return fpa1_setParse( entFldSetCompsArr, filePosLimit );
166 } /* fpa1_decodeEntryField () */
167 
174 fpa1_syntaxList* fpa1_decodeHyperText( vpa1_filePos filePosLimit )
175 {
176  /* HyperTextClass a SET - any order */
177  return fpa1_setParse( hypTxtSetCompsArr, filePosLimit );
178 } /* fpa1_decodeHyperText () */
179 
fpa1_syntaxList * fpa1_setParse(int *, vpa1_filePos)
Definition: fpa1_set.c:178
fpa1_syntaxList * fpa1_decodeSlider(vpa1_filePos filePosLimit)
Definition: fpa1_iac.c:150
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
fpa1_syntaxList * fpa1_decodeEntryField(vpa1_filePos filePosLimit)
Definition: fpa1_iac.c:162
Typedefs for script reading functions.
Contains macros for MHEG-5 ASN.1 tags and structures.
fpa1_syntaxList * fpa1_decodeHyperText(vpa1_filePos filePosLimit)
Definition: fpa1_iac.c:174
Contains functions to decode MHEG-5 ASN.1 Slider, Interactible, Entry Field, Hyper Text class compone...
Contains functions used to parse MHEG-5 ASN.1 SETs. SETs can have components in any order and as such...