• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* ------------------------------------------------------------------
2  * Copyright (C) 1998-2009 PacketVideo
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  * -------------------------------------------------------------------
17  */
18 #ifndef TEXTSAMPLEDESCINFO_H
19 #define TEXTSAMPLEDESCINFO_H
20 
21 
22 #define DEFAULT_RGB_ARRAY_SIZE 10
23 //This class is specific for the Timed text fileformat.
24 //It stores configuration information present in the text file generated by the parser library
25 //unittest for the timed text file format
26 
27 class PVA_FF_TextSampleDescInfo
28 {
29     public:
PVA_FF_TextSampleDescInfo()30         PVA_FF_TextSampleDescInfo()
31         {
32             start_sample_num = 0;
33             sdindex = 0;
34             display_flags = 0;
35             hJust = 0;
36             vJust = 0;
37             bkRgba = (uint8*) OSCL_MALLOC(DEFAULT_RGB_ARRAY_SIZE);
38             top = 0;
39             left = 0;
40             bottom = 0;
41             right = 0;
42             startChar = 0;
43             endChar = 0;
44             fontID = 0;
45             fontSizeFlags = 0;
46             fontSize = 0;
47             tRgba = (uint8*) OSCL_MALLOC(DEFAULT_RGB_ARRAY_SIZE);
48             fontListSize = 0;
49             fontListID = 0;
50             font_id = 0;
51             font_length = 0;
52             font_name = NULL;
53             end_sample_num = 0;
54         };
PVA_FF_TextSampleDescInfo(PVA_FF_TextSampleDescInfo & info)55         PVA_FF_TextSampleDescInfo(PVA_FF_TextSampleDescInfo& info)
56         {
57             start_sample_num = info.start_sample_num;
58             sdindex = info.sdindex;
59             display_flags = info.display_flags;
60             hJust = info.hJust;
61             vJust = info.vJust;
62             bkRgba = (uint8*)OSCL_MALLOC(DEFAULT_RGB_ARRAY_SIZE);
63             oscl_memcpy(bkRgba, info.bkRgba, DEFAULT_RGB_ARRAY_SIZE);
64             top = info.top;
65             left = info.left;
66             bottom = info.bottom;
67             right = info.right;
68             startChar = info.startChar;
69             endChar = info.endChar;
70             fontID = info.fontID;
71             fontSizeFlags = info.fontSizeFlags;
72             fontSize = info.fontSize;
73             tRgba = (uint8*)OSCL_MALLOC(DEFAULT_RGB_ARRAY_SIZE);
74             oscl_memcpy(tRgba, info.tRgba, DEFAULT_RGB_ARRAY_SIZE);
75             fontListSize = info.fontListSize;
76             fontListID = info.fontListID;
77             font_id = info.font_id;
78             font_length = info.font_length;
79             if (font_length > 0)
80             {
81                 font_name = (uint8*)OSCL_MALLOC(font_length);
82                 oscl_memcpy(font_name, info.font_name, font_length);
83             }
84             else
85             {
86                 font_name = NULL;
87             }
88 
89             end_sample_num = info.end_sample_num;
90         };
91 
92 
~PVA_FF_TextSampleDescInfo()93         ~PVA_FF_TextSampleDescInfo()
94         {
95             if (bkRgba != NULL)
96             {
97                 OSCL_FREE(bkRgba);
98             }
99 
100             if (tRgba != NULL)
101             {
102                 OSCL_FREE(tRgba);
103             }
104 
105             if (font_length && font_name != NULL)
106             {
107                 OSCL_FREE(font_name);
108                 font_length = 0;
109             }
110         };
111         uint32 start_sample_num;
112         int32 sdindex;
113         uint32 display_flags;
114         int8 hJust;
115         int8 vJust;
116         uint8 *bkRgba;
117         int16 top;
118         int16 left;
119         int16 bottom;
120         int16 right;
121         uint16 startChar;
122         uint16 endChar;
123         uint16 fontID;
124         uint8 fontSizeFlags;
125         uint8 fontSize;
126         uint8 *tRgba;
127         uint16 fontListSize;
128         uint16 fontListID;
129         uint16 font_id;
130         int8 font_length;
131         uint8 *font_name;
132         uint32 end_sample_num;
133 };
134 
135 
136 
137 
138 #endif
139