1 /* ====================================================================
2  * Copyright (c) 2000-2003 by Soheil Seyfaie. All rights reserved.
3  * This program is free software; you can redistribute it and/or modify
4  * it under the same terms as Perl itself.
5  * ====================================================================
6  *
7  * $Id$
8  */
9 
10 
11 #include "EXTERN.h"
12 #include "perl.h"
13 #include "XSUB.h"
14 
15 #include "SWF.h"
16 #include "perl_swf.h"
17 
18 
19 MODULE = SWF::TextField	    PACKAGE = SWF::TextField	PREFIX = SWFTextField_
20 PROTOTYPES: ENABLE
21 
22 SWF::TextField
23 SWFTextField_new(package="SWF::TextField", ...)
24 	char *package
25         PREINIT:
26         int flags;
27 	CODE:
28         RETVAL = newSWFTextField();
29         ST(0) = sv_newmortal();
30         sv_setref_pv(ST(0), package, (void*)RETVAL);
31         if(items>1){
32             flags = (int)SvIV(ST(1));
33             SWFTextField_setFlags(RETVAL, flags);
34         }
35 
36 void
37 destroySWFTextField(field)
38         SWF::TextField	field
39         ALIAS:
40         SWF::TextField::DESTROY = 1
41 	CODE:
42         S_DEBUG(2, fprintf(stderr, "TextField DESTROY CALLED\n"));
43 	swf_stash_refcnt_dec((SV*)SvRV(ST(0)));
44         destroySWFTextField(field);
45 
46 void
47 SWFTextField_setFont(field, font)
48 	SWF::TextField	field
49 	SWF::Block	font = (SWF__Block) SvIV((SV*)SvRV(ST(1)));
50 	CODE:
51 	swf_stash_refcnt_inc((SV*)SvRV(ST(0)), (SV*)SvRV(ST(1)));
52 	SWFTextField_setFont(field, font);
53 
54 
55 void
56 SWFTextField_setBounds(field, width, height)
57 	SWF::TextField	field
58 	int	width
59 	int	height
60 
61 void
62 SWFTextField_setFlags(field, flags)
63 	SWF::TextField	field
64 	int	flags
65 
66 void
67 SWFTextField_setColor(field, r, g, b, a=0xff)
68 	SWF::TextField	field
69 	byte	r
70 	byte	g
71 	byte	b
72 	byte	a
73 
74 void
75 SWFTextField_setVariableName(field, name)
76 	SWF::TextField	field
77 	char *	name
78         ALIAS:
79         SWF::TextField::setName = 1
80 
81 void
82 SWFTextField_addString(field, string)
83 	SWF::TextField	field
84 	char *	string
85 
86 void
87 SWFTextField_addUTF8String(field, string)
88 	SWF::TextField	field
89 	char *	string
90 
91 void
92 SWFTextField_setHeight(field, height)
93 	SWF::TextField	field
94 	int	height
95 
96 void
97 SWFTextField_setPadding(field, padding)
98 	SWF::TextField	field
99 	int	padding
100 
101 void
102 SWFTextField_setMargins(field, left, right)
103 	SWF::TextField	field
104 	int	left
105         int     right
106         CODE:
107         SWFTextField_setLeftMargin(field, left);
108         SWFTextField_setRightMargin(field, right);
109 
110 
111 void
112 SWFTextField_setLeftMargin(field, leftMargin)
113 	SWF::TextField	field
114 	int	leftMargin
115 
116 void
117 SWFTextField_setRightMargin(field, rightMargin)
118 	SWF::TextField	field
119 	int	rightMargin
120 
121 void
122 SWFTextField_setIndentation(field, indentation)
123 	SWF::TextField	field
124 	int	indentation
125 
126 void
127 SWFTextField_setLineSpacing(field, lineSpacing)
128 	SWF::TextField	field
129 	int	lineSpacing
130 
131 void
132 SWFTextField_setAlignment(field, alignment)
133 	SWF::TextField	field
134 	int	alignment
135         ALIAS:
136         SWF::TextField::align =  1
137 
138 void
139 SWFTextField_addChars(field, string)
140 	SWF::TextField	field
141 	char *	string
142 
143 void
144 SWFTextField_addUTF8Chars(field, string)
145 	SWF::TextField	field
146 	char *	string
147 
148 void
149 SWFTextField_setLength(field, len)
150 	SWF::TextField field
151 	int len
152 
153 void
154 SWFTextField_setFieldHeight(field, height)
155 	SWF::TextField field
156 	int height
157 
158