EXPORT BOOL WINAPI tf_setMargins(float left, float right, int p3, int p4) { lstrcpy(funcname, "tf_setMargins"); SWFTextField_setLeftMargin(mhsp_field, left); SWFTextField_setRightMargin(mhsp_field, right); return 0; }
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 set_left_margin(VALUE self, VALUE margin) { SWFTextField tf; Data_Get_Struct(self, struct SWFTextField_s, tf); SWFTextField_setLeftMargin(tf, NUM2DBL(margin)); return self; }
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); /* setting flags seem unneeded */ /*SWFTextField_setFlags(tf, SWFTEXTFIELD_USEFONT|SWFTEXTFIELD_NOEDIT);*/ SWFTextField_addChars(tf, text); SWFTextField_addString(tf, text); /* * Bounds computed by Ming (if we omit the setBounds call) * are 2640, 240. This means that we're shrinking the available * space with this explicit setting. Gnash chokes in this case. * * Ref: https://savannah.gnu.org/bugs/?func=detailitem&item_id=16637. */ SWFTextField_setBounds(tf, 100, 100); //SWFTextField_setBounds(tf, 60000, 338); /* * The following settings (found in the reported SWF) * are not needed to exploit the bug. */ /*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);*/ return SWFMovie_add(mo, (SWFBlock)tf); }
EXPORT BOOL WINAPI tf_setLeftMargin(float leftMargin, int p2, int p3, int p4) { lstrcpy(funcname, "tf_setLeftMargin"); SWFTextField_setLeftMargin(mhsp_field, leftMargin); return 0; }