summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/libflash/text.h
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/libflash/text.h') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libflash/text.h77
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
23struct Glyph {
24 longindex;
25 longxAdvance;
26 long code;// Ascii code
27};
28
29struct 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
51class Text : public Character {
52
53 Rect boundary;
54 Matrix textMatrix;
55 TextRecord *textRecords;// List
56
57public:
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_ */