mirror of
https://github.com/libretro/RetroArch
synced 2025-03-16 07:21:03 +00:00
(360) Some more cleanups to console/debug fonts/resources
This commit is contained in:
parent
98f30469eb
commit
08f3313a3b
@ -340,14 +340,10 @@ static void ingame_menu (void)
|
||||
float ypos = 0.19f;
|
||||
float ypos_increment = 0.04f;
|
||||
|
||||
g_screen_console.m_Font.SetFontSize(3.0f, 3.0f);
|
||||
|
||||
vid->xdk360_render_device->Present(NULL, NULL, NULL, NULL);
|
||||
}
|
||||
}while(g_console.ingame_menu_enable);
|
||||
|
||||
g_screen_console.m_Font.SetFontSize(2.0f, 2.0f);
|
||||
|
||||
xdk360_unblock_swap();
|
||||
}
|
||||
|
||||
|
@ -232,25 +232,6 @@ HRESULT XdkFont::CreateFontShaders()
|
||||
return hr; // Return the error code if any
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: ReleaseFontShaders()
|
||||
// Desc: Releases the font shaders by reference
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
void XdkFont::ReleaseFontShaders()
|
||||
{
|
||||
// Safely release shaders
|
||||
// NOTE: They are released in reverse order of creation
|
||||
// to make sure any interdependencies are dealt with
|
||||
|
||||
if( ( s_AtgFontLocals.m_pFontPixelShader != NULL ) && ( s_AtgFontLocals.m_pFontPixelShader->Release() == 0 ) )
|
||||
s_AtgFontLocals.m_pFontPixelShader = NULL;
|
||||
if( ( s_AtgFontLocals.m_pFontVertexShader != NULL ) && ( s_AtgFontLocals.m_pFontVertexShader->Release() == 0 ) )
|
||||
s_AtgFontLocals.m_pFontVertexShader = NULL;
|
||||
if( ( s_AtgFontLocals.m_pFontVertexDecl != NULL ) && ( s_AtgFontLocals.m_pFontVertexDecl->Release() == 0 ) )
|
||||
s_AtgFontLocals.m_pFontVertexDecl = NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: Font()
|
||||
// Desc: Constructor
|
||||
@ -267,10 +248,6 @@ XdkFont::XdkFont()
|
||||
|
||||
m_fXScaleFactor = 2.0f;
|
||||
m_fYScaleFactor = 2.0f;
|
||||
m_fSlantFactor = 0.0f;
|
||||
m_bRotate = FALSE;
|
||||
m_dRotCos = cos( 0.0 );
|
||||
m_dRotSin = sin( 0.0 );
|
||||
|
||||
m_cMaxGlyph = 0;
|
||||
m_TranslatorTable = NULL;
|
||||
@ -377,53 +354,20 @@ void XdkFont::Destroy()
|
||||
m_dwNestedBeginCount = 0L;
|
||||
|
||||
// Safely release shaders
|
||||
ReleaseFontShaders();
|
||||
// NOTE: They are released in reverse order of creation
|
||||
// to make sure any interdependencies are dealt with
|
||||
|
||||
if( ( s_AtgFontLocals.m_pFontPixelShader != NULL ) && ( s_AtgFontLocals.m_pFontPixelShader->Release() == 0 ) )
|
||||
s_AtgFontLocals.m_pFontPixelShader = NULL;
|
||||
if( ( s_AtgFontLocals.m_pFontVertexShader != NULL ) && ( s_AtgFontLocals.m_pFontVertexShader->Release() == 0 ) )
|
||||
s_AtgFontLocals.m_pFontVertexShader = NULL;
|
||||
if( ( s_AtgFontLocals.m_pFontVertexDecl != NULL ) && ( s_AtgFontLocals.m_pFontVertexDecl->Release() == 0 ) )
|
||||
s_AtgFontLocals.m_pFontVertexDecl = NULL;
|
||||
|
||||
if( m_xprResource.m_bInitialized)
|
||||
m_xprResource.Destroy();
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: SetWindow()
|
||||
// Desc: Sets the and the bounds rect for drawing text and resets the cursor position
|
||||
//--------------------------------------------------------------------------------------
|
||||
void XdkFont::SetWindow(const D3DRECT &rcWindow )
|
||||
{
|
||||
m_rcWindow.x1 = rcWindow.x1;
|
||||
m_rcWindow.y1 = rcWindow.y1;
|
||||
m_rcWindow.x2 = rcWindow.x2;
|
||||
m_rcWindow.y2 = rcWindow.y2;
|
||||
|
||||
m_fCursorX = 0.0f;
|
||||
m_fCursorY = 0.0f;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: SetWindow()
|
||||
// Desc: Sets the and the bounds rect for drawing text and resets the cursor position
|
||||
//--------------------------------------------------------------------------------------
|
||||
void XdkFont::SetWindow( long x1, long y1, long x2, long y2 )
|
||||
{
|
||||
m_rcWindow.x1 = x1;
|
||||
m_rcWindow.y1 = y1;
|
||||
m_rcWindow.x2 = x2;
|
||||
m_rcWindow.y2 = y2;
|
||||
|
||||
m_fCursorX = 0.0f;
|
||||
m_fCursorY = 0.0f;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: GetWindow()
|
||||
// Desc: Gets the current bounds rect for drawing
|
||||
//--------------------------------------------------------------------------------------
|
||||
void XdkFont::GetWindow( D3DRECT &rcWindow ) const
|
||||
{
|
||||
rcWindow = m_rcWindow; // NOTE: This is a structure copy
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: SetCursorPosition()
|
||||
// Desc: Sets the cursor position for drawing text
|
||||
@ -782,7 +726,7 @@ VOID XdkFont::DrawText( float fOriginX, float fOriginY, unsigned long dwColor,
|
||||
if( dwFlags & FONT_TRUNCATED )
|
||||
{
|
||||
// Check if we will be exceeded the max allowed width
|
||||
if( m_fCursorX + fOffset + fWidth + fEllipsesPixelWidth + m_fSlantFactor > fOriginX + fMaxPixelWidth )
|
||||
if( m_fCursorX + fOffset + fWidth + fEllipsesPixelWidth > fOriginX + fMaxPixelWidth )
|
||||
{
|
||||
// Yup, draw the three ellipses dots instead
|
||||
dwNumEllipsesToDraw = 3;
|
||||
@ -794,7 +738,7 @@ VOID XdkFont::DrawText( float fOriginX, float fOriginY, unsigned long dwColor,
|
||||
// Setup the screen coordinates
|
||||
m_fCursorX += fOffset;
|
||||
float X4 = m_fCursorX;
|
||||
float X1 = X4 + m_fSlantFactor;
|
||||
float X1 = X4;
|
||||
float X3 = X4 + fWidth;
|
||||
float X2 = X1 + fWidth;
|
||||
float Y1 = m_fCursorY;
|
||||
@ -802,15 +746,6 @@ VOID XdkFont::DrawText( float fOriginX, float fOriginY, unsigned long dwColor,
|
||||
float Y2 = Y1;
|
||||
float Y4 = Y3;
|
||||
|
||||
// Rotate the points by the rotation factor
|
||||
if( m_bRotate )
|
||||
{
|
||||
RotatePoint( &X1, &Y1, fOriginX, fOriginY );
|
||||
RotatePoint( &X2, &Y2, fOriginX, fOriginY );
|
||||
RotatePoint( &X3, &Y3, fOriginX, fOriginY );
|
||||
RotatePoint( &X4, &Y4, fOriginX, fOriginY );
|
||||
}
|
||||
|
||||
m_fCursorX += fAdvance;
|
||||
|
||||
// Select the RGBA channel that the compressed glyph is stored in
|
||||
@ -951,19 +886,4 @@ VOID XdkFont::End()
|
||||
}
|
||||
|
||||
PIXEndNamedEvent();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: RotatePoint()
|
||||
// Desc: Rotate a 2D point around the origin
|
||||
//-------------------------------------------------------------------------------------
|
||||
void XdkFont::RotatePoint( float * X, float * Y, double OriginX, double OriginY ) const
|
||||
{
|
||||
double dTempX = *X - OriginX;
|
||||
double dTempY = *Y - OriginY;
|
||||
double dXprime = OriginX + ( m_dRotCos * dTempX - m_dRotSin * dTempY );
|
||||
double dYprime = OriginY + ( m_dRotSin * dTempX + m_dRotCos * dTempY );
|
||||
|
||||
*X = static_cast<float>( dXprime );
|
||||
*Y = static_cast<float>( dYprime );
|
||||
}
|
@ -71,9 +71,6 @@ public:
|
||||
|
||||
float m_fXScaleFactor; // Scaling constants
|
||||
float m_fYScaleFactor;
|
||||
float m_fSlantFactor; // For italics
|
||||
double m_dRotCos; // Precalculated sine and cosine for italic like rotation
|
||||
double m_dRotSin;
|
||||
|
||||
D3DRECT m_rcWindow; // Bounds rect if the text window, modify via accessors only!
|
||||
float m_fCursorX; // Current text cursor
|
||||
@ -94,8 +91,6 @@ public:
|
||||
unsigned long m_dwSavedState[ SAVEDSTATE_COUNT ];
|
||||
unsigned long m_dwNestedBeginCount;
|
||||
int m_bSaveState;
|
||||
|
||||
int m_bRotate;
|
||||
public:
|
||||
XdkFont();
|
||||
~XdkFont();
|
||||
@ -108,10 +103,6 @@ public:
|
||||
void GetTextExtent( const wchar_t * strText, float * pWidth,
|
||||
float * pHeight, int bFirstLineOnly=FALSE ) const;
|
||||
float GetTextWidth( const wchar_t * strText ) const;
|
||||
|
||||
void SetWindow(const D3DRECT &rcWindow );
|
||||
void SetWindow( long x1, long y1, long x2, long y2 );
|
||||
void GetWindow(D3DRECT &rcWindow) const;
|
||||
void SetCursorPosition( float fCursorX, float fCursorY );
|
||||
void SetFontSize(float x, float y);
|
||||
|
||||
@ -128,8 +119,6 @@ public:
|
||||
private:
|
||||
// Internal helper functions
|
||||
HRESULT CreateFontShaders();
|
||||
void ReleaseFontShaders();
|
||||
void RotatePoint( float * X, float * Y, double OriginX, double OriginY ) const;
|
||||
};
|
||||
|
||||
#endif
|
@ -171,22 +171,6 @@ HRESULT PackedResource::Create( const char * strFilename )
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: GetResourceTags
|
||||
// Desc: Retrieves the resource tags
|
||||
//--------------------------------------------------------------------------------------
|
||||
void PackedResource::GetResourceTags( unsigned long * pdwNumResourceTags,
|
||||
RESOURCE** ppResourceTags ) const
|
||||
{
|
||||
if( pdwNumResourceTags )
|
||||
( *pdwNumResourceTags ) = m_dwNumResourceTags;
|
||||
|
||||
if( ppResourceTags )
|
||||
( *ppResourceTags ) = m_pResourceTags;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: Destroy
|
||||
// Desc: Cleans up the packed resource data
|
||||
|
@ -69,10 +69,6 @@ public:
|
||||
|
||||
void Destroy();
|
||||
|
||||
// Retrieves the resource tags
|
||||
void GetResourceTags( unsigned long * pdwNumResourceTags,
|
||||
RESOURCE** ppResourceTags ) const;
|
||||
|
||||
// Helper function to make sure a resource is registered
|
||||
D3DResource* RegisterResource( D3DResource* pResource ) const
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user