OSDN Git Service

Once more, Allow building with either giflib 4.2 or 5.0.
[swfed/swfed.git] / src / swf_tag_edit.h
1 /*
2   +----------------------------------------------------------------------+
3   | Author: yoya@awm.jp                                                  |
4   +----------------------------------------------------------------------+
5 */
6
7 #ifndef __SWF_TAG_EDIT__H__
8 #define __SWF_TAG_EDIT__H__
9
10 #include "swf_tag.h"
11 #include "swf_rect.h"
12 #include "swf_rgba.h"
13
14 typedef struct swf_tag_edit_detail_ {
15     int edit_id;
16     swf_rect_t rect;
17     int edit_has_text:1;
18     int edit_word_wrap:1;
19     int edit_multiline:1;
20     int edit_password:1;
21     int edit_readonly:1;
22     int edit_has_color:1;
23     int edit_has_max_length:1;
24     int edit_has_font:1;
25 /*    unsigned char edit_reserved; */
26     unsigned char edit_auto_size; // version >= 6
27     int edit_has_layout:1;
28     int edit_no_select:1;
29     int edit_border:1;
30 /*    int edit_researved:1; */
31     int edit_html:1;
32     int edit_use_outlines:1;
33     // edit has font -- begin
34     unsigned short edit_font_id_ref;
35     unsigned short edit_font_height;
36     // edit has font -- end
37     swf_rgba_t edit_color;          // edit has color
38     unsigned short edit_max_length; // edit has max length
39     // edit has layout -- begin
40     unsigned char edit_align;
41     unsigned short edit_left_margine;
42     unsigned short edit_right_margine;
43     signed short edit_indent;
44     signed short edit_leading;
45     // edit has layout -- end
46     char *edit_variable_name;
47     char *edit_initial_text; // edit_has text
48 } swf_tag_edit_detail_t;
49
50 extern swf_tag_detail_handler_t *swf_tag_edit_detail_handler(void);
51
52 extern void *swf_tag_edit_create_detail(void);
53 extern int swf_tag_edit_input_detail(swf_tag_t *tag, struct swf_object_ *swf);
54 extern int swf_tag_edit_get_cid_detail(swf_tag_t *tag);
55 extern int swf_tag_edit_replace_cid_detail(swf_tag_t *tag, int id);
56 extern unsigned char *swf_tag_edit_output_detail(swf_tag_t *tag,
57                                                  unsigned long *length,
58                                                  struct swf_object_ *swf);
59 extern void swf_tag_edit_print_detail(swf_tag_t *tag,
60                                       struct swf_object_ *swf,
61                                       int indent_depth);
62 extern void swf_tag_edit_destroy_detail(swf_tag_t *tag);
63
64 extern char *swf_tag_edit_get_string(void *detail,
65                                      char *variable_name,
66                                      int variable_name_len,
67                                      int *error);
68 extern int swf_tag_edit_replace_string(void *detail,
69                                        char *variable_name,
70                                        int variable_name_len,
71                                        char *initial_text,
72                                        int initial_text_len);
73
74 #endif /* __SWF_TAG_EDIT__H__ */