/* header?
struct TextCreate
{
CD3DFont * pD3DFont;
TextCreate(const char * szFontName,int FontHeight,DWORD dwCreateFlags);
~TextCreate();
TextCreate(const TextCreate& that);
TextCreate& operator=(const TextCreate& that);
};
//or just:
extern struct TextCreate; ?
*/
struct TextCreate
{
CD3DFont * pD3DFont;
TextCreate(const char * szFontName,int FontHeight,DWORD dwCreateFlags){
pD3DFont = new CD3DFont(szFontName,FontHeight,dwCreateFlags);
pD3DFont->Initialize(origIDirect3DDevice9);
}
~TextCreate(){
pD3DFont->Invalidate();
}
TextCreate(const TextCreate& that) :
pD3DFont(that.pD3DFont){}
TextCreate& operator=(const TextCreate& that){
if (this == &that)
return *this;
pD3DFont = that.pD3DFont;
return *this;
}
};
std::vector<TextCreate> fonts;
LyogaGVhZGVyPwpzdHJ1Y3QgVGV4dENyZWF0ZQp7CiAgICBDRDNERm9udCAqIHBEM0RGb250OwoJVGV4dENyZWF0ZShjb25zdCBjaGFyICogc3pGb250TmFtZSxpbnQgRm9udEhlaWdodCxEV09SRCBkd0NyZWF0ZUZsYWdzKTsKCX5UZXh0Q3JlYXRlKCk7CiAgICBUZXh0Q3JlYXRlKGNvbnN0IFRleHRDcmVhdGUmIHRoYXQpOwogICAgVGV4dENyZWF0ZSYgb3BlcmF0b3I9KGNvbnN0IFRleHRDcmVhdGUmIHRoYXQpOwp9OwoKLy9vciBqdXN0OgpleHRlcm4gc3RydWN0IFRleHRDcmVhdGU7ID8KKi8Kc3RydWN0IFRleHRDcmVhdGUKewoJQ0QzREZvbnQgKiBwRDNERm9udDsKCglUZXh0Q3JlYXRlKGNvbnN0IGNoYXIgKiBzekZvbnROYW1lLGludCBGb250SGVpZ2h0LERXT1JEIGR3Q3JlYXRlRmxhZ3MpewoJCXBEM0RGb250ID0gbmV3IENEM0RGb250KHN6Rm9udE5hbWUsRm9udEhlaWdodCxkd0NyZWF0ZUZsYWdzKTsKCQlwRDNERm9udC0+SW5pdGlhbGl6ZShvcmlnSURpcmVjdDNERGV2aWNlOSk7Cgl9CgoJflRleHRDcmVhdGUoKXsKCQlwRDNERm9udC0+SW52YWxpZGF0ZSgpOwoJfQoKICAgIFRleHRDcmVhdGUoY29uc3QgVGV4dENyZWF0ZSYgdGhhdCkgOiAKCQlwRDNERm9udCh0aGF0LnBEM0RGb250KXt9CgogICAgVGV4dENyZWF0ZSYgb3BlcmF0b3I9KGNvbnN0IFRleHRDcmVhdGUmIHRoYXQpewoJCWlmICh0aGlzID09ICZ0aGF0KQoJCQlyZXR1cm4gKnRoaXM7CiAgICAgICAgcEQzREZvbnQgPSB0aGF0LnBEM0RGb250OwogICAgICAgIHJldHVybiAqdGhpczsKICAgIH0KfTsKCnN0ZDo6dmVjdG9yPFRleHRDcmVhdGU+IGZvbnRzOw==