Diffstat (limited to 'core/multimedia/opieplayer/libflash/text.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/libflash/text.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/libflash/text.h b/core/multimedia/opieplayer/libflash/text.h new file mode 100644 index 0000000..1ba7b74 --- a/dev/null +++ b/core/multimedia/opieplayer/libflash/text.h | |||
@@ -0,0 +1,77 @@ | |||
1 | ///////////////////////////////////////////////////////////// | ||
2 | // Flash Plugin and Player | ||
3 | // Copyright (C) 1998,1999 Olivier Debon | ||
4 | // | ||
5 | // This program is free software; you can redistribute it and/or | ||
6 | // modify it under the terms of the GNU General Public License | ||
7 | // as published by the Free Software Foundation; either version 2 | ||
8 | // of the License, or (at your option) any later version. | ||
9 | // | ||
10 | // This program is distributed in the hope that it will be useful, | ||
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | // GNU General Public License for more details. | ||
14 | // | ||
15 | // You should have received a copy of the GNU General Public License | ||
16 | // along with this program; if not, write to the Free Software | ||
17 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | // | ||
19 | /////////////////////////////////////////////////////////////// | ||
20 | #ifndef _TEXT_H_ | ||
21 | #define _TEXT_H_ | ||
22 | |||
23 | struct Glyph { | ||
24 | longindex; | ||
25 | longxAdvance; | ||
26 | long code;// Ascii code | ||
27 | }; | ||
28 | |||
29 | struct TextRecord { | ||
30 | |||
31 | // Normal text record | ||
32 | Glyph *glyphs; | ||
33 | long nbGlyphs; | ||
34 | |||
35 | // Control text record | ||
36 | TextFlags flags; | ||
37 | SwfFont *font; | ||
38 | long fontHeight; | ||
39 | Color color; | ||
40 | long xOffset; | ||
41 | long yOffset; | ||
42 | |||
43 | TextRecord *next; | ||
44 | |||
45 | TextRecord(); | ||
46 | ~TextRecord(); | ||
47 | |||
48 | char *getText(); | ||
49 | }; | ||
50 | |||
51 | class Text : public Character { | ||
52 | |||
53 | Rect boundary; | ||
54 | Matrix textMatrix; | ||
55 | TextRecord *textRecords;// List | ||
56 | |||
57 | public: | ||
58 | Text(long id); | ||
59 | ~Text(); | ||
60 | |||
61 | void setTextBoundary(Rect rect); | ||
62 | void setTextMatrix(Matrix m); | ||
63 | void addTextRecord(TextRecord *tr); | ||
64 | int execute(GraphicDevice *gd, Matrix *matrix, Cxform *cxform); | ||
65 | void getRegion(GraphicDevice *gd, Matrix *matrix, | ||
66 | void *id, ScanLineFunc scan_line_func); | ||
67 | int doText(GraphicDevice *gd, Matrix *matrix, Cxform *cxform, ShapeAction action, | ||
68 | void *id, ScanLineFunc scan_line_func); | ||
69 | void getBoundingBox(Rect *bb, DisplayListEntry *e); | ||
70 | TextRecord *getTextRecords(); | ||
71 | |||
72 | #ifdef DUMP | ||
73 | void dump(BitStream *bs); | ||
74 | #endif | ||
75 | }; | ||
76 | |||
77 | #endif /* _TEXT_H_ */ | ||