• 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 /*********************************************************************************/
19 /*     -------------------------------------------------------------------       */
20 /*                        MPEG-4 TextSampleEntry Class                           */
21 /*     -------------------------------------------------------------------       */
22 /*********************************************************************************/
23 /*
24     This TextSampleEntry Class is used for text streams.
25 */
26 
27 
28 #ifndef TEXTSAMPLEENTRY_H_INCLUDED
29 #define TEXTSAMPLEENTRY_H_INCLUDED
30 
31 #ifndef OSCL_FILE_IO_H_INCLUDED
32 #include "oscl_file_io.h"
33 #endif
34 
35 #ifndef SAMPLEENTRY_H_INCLUDED
36 #include "sampleentry.h"
37 #endif
38 
39 #define MAX_TEXT_SAMPLE_SIZE  2048
40 
41 class BoxRecord;
42 class FontRecord;
43 class StyleRecord;
44 class FontTableAtom;
45 
46 class TextSampleEntry : public SampleEntry
47 {
48 
49     public:
50         OSCL_IMPORT_REF TextSampleEntry(MP4_FF_FILE *fp, uint32 size, uint32 type);
51         OSCL_IMPORT_REF virtual ~TextSampleEntry();  // Destructor
52 
getDisplayFlags()53         uint32 getDisplayFlags()
54         {
55             return _displayFlags;
56         }
57 
getHorzJustification()58         int8 getHorzJustification()
59         {
60             return _horzJustification;
61         }
62 
getVertJustification()63         int8 getVertJustification()
64         {
65             return _vertJustification;
66         }
67 
getBackgroundColourRGBA()68         uint8 *getBackgroundColourRGBA()
69         {
70             return _pBackgroundRGBA;
71         }
72 
getMaxBufferSizeDB()73         virtual uint32 getMaxBufferSizeDB() const
74         {
75             return MAX_TEXT_SAMPLE_SIZE;
76         }
77 
78         OSCL_IMPORT_REF int16 getBoxTop();
79         OSCL_IMPORT_REF int16 getBoxLeft();
80         OSCL_IMPORT_REF int16 getBoxBottom();
81         OSCL_IMPORT_REF int16 getBoxRight();
82 
83         OSCL_IMPORT_REF uint16 getStartChar() ;
84         OSCL_IMPORT_REF uint16 getEndChar() ;
85         OSCL_IMPORT_REF uint16 getFontID();
86         OSCL_IMPORT_REF uint8 getFontStyleFlags() ;
87         OSCL_IMPORT_REF uint8 getfontSize();
88         OSCL_IMPORT_REF uint8 *getTextColourRGBA();
89         OSCL_IMPORT_REF uint16  getFontListSize();
90         OSCL_IMPORT_REF FontRecord   *getFontRecordAt(uint16 index) ;
91 
92         virtual uint8 getObjectTypeIndication() const;
93 
94     private:
95         uint32          _displayFlags;
96         int8            _horzJustification;
97         int8            _vertJustification;
98         uint8           *_pBackgroundRGBA;
99         BoxRecord       *_pBoxRecord;
100         StyleRecord     *_pStyleRecord;
101         FontTableAtom   *_pFontTableAtom;
102 };
103 
104 
105 #endif  // TEXTSAMPLEENTRY_H_INCLUDED
106 
107 
108