void add_text_field(SWFMovie mo, const char* name, const char* varname, const char* initial_label, int depth, int x, int y) { SWFDisplayItem it; SWFTextField tf = newSWFTextField(); SWFTextField_setFont(tf, (void*)font); SWFTextField_addChars(tf, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345689:.,/\\#@?!"); SWFTextField_setVariableName(tf, varname); SWFTextField_addString(tf, "Idle"); SWFTextField_setBounds(tf, 120, 12); SWFTextField_setFlags(tf, SWFTEXTFIELD_DRAWBOX|SWFTEXTFIELD_NOEDIT); it = SWFMovie_add(mo, (SWFBlock)tf); SWFDisplayItem_moveTo(it, x, y+2); SWFDisplayItem_setDepth(it, depth); SWFDisplayItem_setName(it, name); // "textfield"); // Label tf = newSWFTextField(); SWFTextField_setFont(tf, (void*)font); SWFTextField_addString(tf, initial_label); SWFTextField_setFlags(tf, SWFTEXTFIELD_DRAWBOX|SWFTEXTFIELD_NOEDIT); it = SWFMovie_add(mo, (SWFBlock)tf); SWFDisplayItem_scale(it, 0.3, 0.3); SWFDisplayItem_setDepth(it, depth*10); SWFDisplayItem_moveTo(it, x, y); }
void add_xtrace_function_clip(SWFMovieClip mc, SWFBlock font, int depth, int x, int y, int width, int height) { SWFTextField tf; SWFDisplayItem it; int flags; tf = newSWFTextField(); SWFTextField_setFont(tf, font); /* setting flags seem unneeded */ flags = 0; //flags |= SWFTEXTFIELD_USEFONT; flags |= SWFTEXTFIELD_WORDWRAP; //flags |= SWFTEXTFIELD_NOEDIT; SWFTextField_setFlags(tf, flags); /* Add all ascii chars */ SWFTextField_addChars(tf, asciichars); SWFTextField_addString(tf, " - xtrace enabled -\n"); SWFTextField_setBounds(tf, width, height); /* * Hopefully we have a *single* _root. */ SWFTextField_setVariableName(tf, "_root._trace_text"); /* * Set flags explicitly so that the field is selectable * and you can cut&paste results. * (the default seems to include SWFTEXTFIELD_NOSELECT) */ SWFTextField_setFlags(tf, SWFTEXTFIELD_NOEDIT); /*SWFTextField_setHeight(tf, 240);*/ /*SWFTextField_setColor(tf, 0x00, 0x00, 0x00, 0xff);*/ /*SWFTextField_setAlignment(tf, SWFTEXTFIELD_ALIGN_LEFT);*/ /*SWFTextField_setLeftMargin(tf, 0);*/ /*SWFTextField_setRightMargin(tf, 0);*/ /*SWFTextField_setIndentation(tf, 0);*/ /*SWFTextField_setLineSpacing(tf, 40);*/ /*SWFTextField_setLineSpacing(tf, 40);*/ it = SWFMovieClip_add(mc, (SWFBlock)tf); SWFDisplayItem_moveTo(it, x, y); SWFDisplayItem_setDepth(it, depth); SWFDisplayItem_setName(it, "_xtrace_win"); add_clip_actions(mc, " _root.xtrace = function (msg) { " " _root._trace_text += msg + '\n'; " "};"); }
SWFDisplayItem add_text_field(SWFMovie mo, SWFBlock font, const char* text, float indent, float leftMargin, float rightMargin, SWFTextFieldAlignment align, float lineSpacing, unsigned int textR, unsigned int textG, unsigned int textB, unsigned int textA) { SWFTextField tf; tf = newSWFTextField(); SWFTextField_setFont(tf, font); SWFTextField_setIndentation(tf, indent); SWFTextField_setLeftMargin(tf, leftMargin); SWFTextField_setRightMargin(tf, rightMargin); SWFTextField_setAlignment(tf, align); SWFTextField_setLineSpacing(tf, lineSpacing); SWFTextField_setColor(tf, textR, textG, textB, textA); SWFTextField_setFlags(tf, SWFTEXTFIELD_DRAWBOX); SWFTextField_addChars(tf, text); SWFTextField_addString(tf, text); SWFTextField_setBounds(tf, 80, 16); return SWFMovie_add(mo, (SWFBlock)tf); }
static VALUE native_set_flags(VALUE self, VALUE flags) { SWFTextField tf; Data_Get_Struct(self, struct SWFTextField_s, tf); SWFTextField_setFlags(tf, NUM2INT(flags)); return flags; }
EXPORT BOOL WINAPI mhsp_SWFTextField(SWFTextField *p1, int flags, int p3, int p4) { lstrcpy(funcname, "SWFTextField"); *p1 = newSWFTextField(); SWFTextField_setFlags(*p1, flags); if (!mhsp_field) { mhsp_field = *p1; } return 0; }
int main() { SWFMovie m = newSWFMovie(); SWFTextField text = newSWFTextField(); SWFFont font = newSWFFont_fromFile(MEDIADIR "/test.ttf"); if(font == NULL) { perror(MEDIADIR "/test.tff"); exit(EXIT_FAILURE); } SWFTextField_setFont(text, font); SWFTextField_setColor(text, 0, 0, 0, 0xff); SWFTextField_setHeight(text, 20); SWFTextField_setFlags(text, SWFTEXTFIELD_NOEDIT); SWFTextField_addString(text, "The quick brown fox jumps over the lazy dog. 1234567890"); SWFMovie_add(m, text); SWFMovie_nextFrame(m); SWFMovie_save(m, "test01.swf"); return 0; }