Files
glest-source/source/shared_lib/sources/graphics/d3d9/font_d3d9.cpp
Mark Vejvoda 8c0bf75bf5 - got built in memory leak working. Just edit leak_dumper.h and uncomment:
//#define SL_LEAK_DUMP
- got better / more accurate stack dumps when we detect errors in game.
- Both of these need to be worked on in windows next, win32 may not compile for now until i fix it on that platform.
- BE VERY CAREFUL when working in leak_dumper.* it may cause GCC and your system to crash if you don't know what you are doing!
2012-04-14 21:21:09 +00:00

38 lines
952 B
C++

#include "font_d3d9.h"
#include <stdexcept>
#include <d3d9.h>
#include "graphics_interface.h"
#include "context_d3d9.h"
#include "leak_dumper.h"
using namespace std;
namespace Shared{ namespace Graphics{ namespace D3d9{
// ===============================================
// class Font2DD3d9
// ===============================================
void Font2DD3d9::init(){
GraphicsInterface &gi= GraphicsInterface::getInstance();
IDirect3DDevice9 *d3dDevice= static_cast<ContextD3d9*>(gi.getCurrentContext())->getD3dDevice();
HFONT hFont=CreateFont(size, 0, 0, 0, width, 0, FALSE, FALSE, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DRAFT_QUALITY, DEFAULT_PITCH, type.c_str());
HRESULT result= D3DXCreateFont(d3dDevice, hFont, &d3dFont);
if(result!=D3D_OK){
throw megaglest_runtime_error("FontD3d9::init() -> Can't create D3D font");
}
DeleteObject(hFont);
}
void Font2DD3d9::end(){
d3dFont->Release();
}
}}}//end namespace