/* delete line buffers */
for(y=0;y<i->height2;y++) {
- swf_DeleteTag(i->lines[y].points);
+ swf_DeleteTag(0, i->lines[y].points);
i->lines[y].points = 0;
}
layer_t*before=0, *self=0, *after=0;
if(DEBUG&2) {
- printf("[(%d,%d)/%d/%d-%d]", p->x, y, p->depth, p->shapeline->fillstyle0, p->shapeline->fillstyle1);
+ printf("[(%f,%d)/%d/%d-%d]", p->x, y, p->depth, p->shapeline->fillstyle0, p->shapeline->fillstyle1);
}
search_layer(state, p->depth, &before, &self, &after);
SHAPE2**glyphs;
} font_t;
-enum CHARACTER_TYPE {none_type, shape_type, image_type, text_type, font_type, sprite_type};
+enum CHARACTER_TYPE {none_type, shape_type, image_type, text_type, edittext_type, font_type, sprite_type};
typedef struct
{
TAG*tag;
info.buf = buf;
swf_ParseDefineText(tag, textcallback, &info);
+ } else if(idtable[id].type == edittext_type) {
+ TAG* tag = idtable[id].tag;
+ U16 flags = swf_GetBits(tag, 16);
+ if(flags & ET_HASTEXT) {
+ fprintf(stderr, "edittext not supported yet (id %d)\n", id);
+ }
} else {
fprintf(stderr, "Unknown/Unsupported Object Type for id %d: %s\n", id, swf_TagGetName(idtable[id].tag));
}
int t;
RGBA color;
+ swf_OptimizeTagOrder(swf);
swf_FoldAll(swf);
character_t* idtable = (character_t*)rfx_calloc(sizeof(character_t)*65536); // id to character mapping
idtable[id].type = text_type;
} else if(tag->id == ST_DEFINESPRITE) {
idtable[id].type = sprite_type;
+ } else if(tag->id == ST_DEFINEEDITTEXT) {
+ idtable[id].type = edittext_type;
}
}
tag = tag->next;