(Xbox 1) Use font wrapper functions

This commit is contained in:
twinaphex 2012-07-31 01:23:42 +02:00
parent b425531dd9
commit 43077df35b
5 changed files with 20 additions and 44 deletions

View File

@ -143,6 +143,8 @@ FONTS
#if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
#include "../../gfx/fonts/ps3_libdbgfont.c"
#elif defined(_XBOX1)
#include "../../gfx/fonts/xdk1_xfonts.c"
#elif defined(_XBOX360)
#include "../../gfx/fonts/xdk360_fonts.cpp"
#endif

View File

@ -18,34 +18,23 @@
#include "xdk1_xfonts.h"
#include "../../general.h"
HRESULT xfonts_init_font(XFONT *font)
{
XFONT_OpenDefaultFont(font);
font->SetBkMode(XFONT_TRANSPARENT);
font->SetBkColor(D3DCOLOR_ARGB(100,0,0,0));
font->SetTextHeight(14);
font->SetTextAntialiasLevel(font->GetTextAntialiasLevel());
return S_OK;
}
void xfonts_deinit_font(void)
{
}
void xfonts_render_msg_pre(LPDIRECT3DDEVICE d3d)
void xfonts_render_msg_pre(xdk_d3d_video_t *d3d)
{
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &d3d->pFrontBuffer);
d3d->d3d_render_device->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &d3d->pBackBuffer);
}
void xfonts_render_msg_place(LPDIRECT3DDEVICE d3d, float x, float y, float scale, const wchar_t *msg, ...)
void xfonts_render_msg_place(xdk_d3d_video_t *d3d, float x, float y, float scale, const wchar_t *msg, ...)
{
d3d->debug_font->TextOut(d3d->pFrontBuffer, msg, (unsigned)-1, x, y);
d3d->debug_font->TextOut(d3d->pBackBuffer, msg, (unsigned)-1, x, y);
}
void xfonts_render_msg_post(LPDIRECT3DDEVICE d3d)
void xfonts_render_msg_post(xdk_d3d_video_t *d3d)
{
d3d->pFrontBuffer->Release();
d3d->pBackBuffer->Release();

View File

@ -17,16 +17,9 @@
#ifndef RARCH_XDK1_FONTS_H
#define RARCH_XDK1_FONTS_H
#ifdef _XBOX1
#define XFONT_TRUETYPE
#endif
#include <xfont.h>
HRESULT xfonts_init_font(XFONT *font);
void xfonts_deinit_font(void);
void xfonts_render_msg_pre(LPDIRECT3DDEVICE d3d);
void xfonts_render_msg_place(LPDIRECT3DDEVICE d3d, float x, float y, float scale, const wchar_t *msg, ...);
void xfonts_render_msg_post(LPDIRECT3DDEVICE d3d);
void xfonts_render_msg_pre(xdk_d3d_video_t *d3d);
void xfonts_render_msg_place(xdk_d3d_video_t *d3d, float x, float y, float scale, const wchar_t *msg, ...);
void xfonts_render_msg_post(xdk_d3d_video_t *d3d);
#endif

View File

@ -18,6 +18,7 @@
#include "RetroLaunch/Surface.h"
#include "../../console/fileio/file_browser.h"
#include "../../gfx/fonts/xdk1_xfonts.h"
#define NUM_ENTRY_PER_PAGE 17
@ -134,12 +135,9 @@ static void browser_render(filebrowser_t *b, float current_x, float current_y, f
d3d_surface_render(&m_menuMainRomSelectPanel, currentX, currentY, ROM_PANEL_WIDTH, ROM_PANEL_HEIGHT);
convert_char_to_wchar(rom_basename_w, rom_basename, sizeof(rom_basename_w));
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &d3d->pFrontBuffer);
d3d->d3d_render_device->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &d3d->pBackBuffer);
d3d->debug_font->TextOut(d3d->pFrontBuffer, rom_basename_w, (unsigned)-1, currentX, currentY);
d3d->debug_font->TextOut(d3d->pBackBuffer, rom_basename_w, (unsigned)-1, currentX, currentY);
d3d->pFrontBuffer->Release();
d3d->pBackBuffer->Release();
xfonts_render_msg_pre(d3d);
xfonts_render_msg_place(d3d, currentX, currentY, 0 /* scale */, rom_basename_w);
xfonts_render_msg_post(d3d);
}
}
@ -202,12 +200,9 @@ static void select_rom(void)
int xpos = width == 640 ? 65 : 400;
int ypos = width == 640 ? 430 : 670;
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &d3d->pFrontBuffer);
d3d->d3d_render_device->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &d3d->pBackBuffer);
d3d->debug_font->TextOut(d3d->pFrontBuffer, m_title, (unsigned)-1, xpos, ypos);
d3d->debug_font->TextOut(d3d->pBackBuffer, m_title, (unsigned)-1, xpos, ypos);
d3d->pFrontBuffer->Release();
d3d->pBackBuffer->Release();
xfonts_render_msg_pre(d3d);
xfonts_render_msg_place(d3d, xpos, ypos, 0 /* scale */, m_title);
xfonts_render_msg_post(d3d);
}
int menu_init(void)

View File

@ -22,6 +22,7 @@
#include "../driver.h"
#include "xdk_d3d8.h"
#include "../../gfx/fonts/xdk1_xfonts.h"
#include "./../gfx/gfx_context.h"
#include "../general.h"
#include "../message.h"
@ -447,8 +448,7 @@ static bool xdk_d3d_frame(void *data, const void *frame,
{
static MEMORYSTATUS stat;
GlobalMemoryStatus(&stat);
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &d3d->pFrontBuffer);
d3d->d3d_render_device->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &d3d->pBackBuffer);
xfonts_render_msg_pre(d3d);
//Output memory usage
@ -456,8 +456,7 @@ static bool xdk_d3d_frame(void *data, const void *frame,
bool ret = false;
snprintf(buf, sizeof(buf), "%.2f MB free / %.2f MB total", stat.dwAvailPhys/(1024.0f*1024.0f), stat.dwTotalPhys/(1024.0f*1024.0f));
convert_char_to_wchar(strw_buffer, buf, sizeof(strw_buffer));
d3d->debug_font->TextOut(d3d->pFrontBuffer, strw_buffer, (unsigned)-1, font_x + 30, font_y + 50 );
d3d->debug_font->TextOut(d3d->pBackBuffer, strw_buffer, (unsigned)-1, font_x + 30, font_y + 50 );
xfonts_render_msg_place(d3d, font_x + 30, font_y + 50, 0 /* scale */, strw_buffer);
if(ret = gfx_window_title(buf2, sizeof(buf2)) || sizeof(buf_fps_last))
{
@ -469,10 +468,8 @@ static bool xdk_d3d_frame(void *data, const void *frame,
else if(buf_fps_last)
convert_char_to_wchar(strw_buffer, buf_fps_last, sizeof(strw_buffer));
d3d->debug_font->TextOut(d3d->pFrontBuffer, strw_buffer, (unsigned)-1, font_x + 30, font_y + 70 );
d3d->debug_font->TextOut(d3d->pBackBuffer, strw_buffer, (unsigned)-1, font_x + 30, font_y + 70 );
d3d->pFrontBuffer->Release();
d3d->pBackBuffer->Release();
xfonts_render_msg_place(d3d, font_x + 30, font_y + 70, 0 /* scale */, strw_buffer);
xfonts_render_msg_post(d3d);
}
}