void Font::CreateTypeDescription() {
Font f;
- TypeDescription &td(TypeDescription::CreateOrGet("Font"));
-
- td.SetSize(sizeof(Font));
int numberId(TypeDescription::GetTypeId("Number"));
int spriteId(TypeDescription::GetTypeId("Sprite"));
+ TypeDescription &td(TypeDescription::CreateOrGet("Font"));
+ td.SetConstructor(&Construct);
+ td.SetSize(sizeof(Font));
+
td.AddField("sprite", FieldDescription(((char *)&f.sprite) - ((char *)&f), spriteId, true));
td.AddField("columnoffset", FieldDescription(((char *)&f.colOffset) - ((char *)&f), numberId, false));
td.AddField("rowoffset", FieldDescription(((char *)&f.rowOffset) - ((char *)&f), numberId, false));
}
+void Font::Construct(void *data) {
+ new (data) Font;
+}
+
}