VCiewRenderer no longer depends on the global TextContext variable. Instead it's updated when it changes.
--HG-- branch : gui-refactoring
This commit is contained in:
parent
c27ad72de6
commit
8c5b47f979
5 changed files with 25 additions and 6 deletions
|
@ -83,6 +83,7 @@ void resetTextContext (const char *font, bool resetInterfaceManager)
|
|||
if (resetInterfaceManager)
|
||||
{
|
||||
CInterfaceManager *im = CInterfaceManager::getInstance();
|
||||
im->setTextContext( TextContext );
|
||||
im->resetTextIndex();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -254,7 +254,7 @@ int CInterfaceManager::DebugTrackGroupsGetId( CInterfaceGroup *pIG )
|
|||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
CInterfaceManager::CInterfaceManager() :
|
||||
_ViewRenderer( Driver )
|
||||
_ViewRenderer( Driver, TextContext )
|
||||
{
|
||||
_Instance = this;
|
||||
_DbRootNode = new CCDBNodeBranch("ROOT");
|
||||
|
@ -6599,4 +6599,9 @@ bool CInterfaceManager::parseTokens(ucstring& ucstr)
|
|||
|
||||
ucstr = str;
|
||||
return true;;
|
||||
}
|
||||
|
||||
void CInterfaceManager::setTextContext( NL3D::UTextContext *textcontext )
|
||||
{
|
||||
_ViewRenderer.setTextContext( textcontext );
|
||||
}
|
|
@ -720,6 +720,9 @@ public:
|
|||
*/
|
||||
static bool parseTokens(ucstring& ucstr);
|
||||
|
||||
/// Sets the current TextContext.
|
||||
void setTextContext( NL3D::UTextContext *textcontext );
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
private:
|
||||
|
||||
|
|
|
@ -30,11 +30,12 @@ using namespace NLMISC;
|
|||
using namespace std;
|
||||
using namespace NL3D;
|
||||
|
||||
CViewRenderer::CViewRenderer( NL3D::UDriver *driver )
|
||||
CViewRenderer::CViewRenderer( NL3D::UDriver *driver, NL3D::UTextContext *textcontext )
|
||||
{
|
||||
setup();
|
||||
|
||||
this->driver = driver;
|
||||
this->textcontext = textcontext;
|
||||
}
|
||||
|
||||
CViewRenderer::~CViewRenderer()
|
||||
|
@ -155,7 +156,7 @@ void CViewRenderer::init()
|
|||
// Init all renderBuffer
|
||||
for(uint i=0;i<VR_NUM_LAYER;i++)
|
||||
{
|
||||
_StringRBLayers[i]= TextContext->createRenderBuffer();
|
||||
_StringRBLayers[i]= textcontext->createRenderBuffer();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,6 +201,11 @@ NL3D::UDriver* CViewRenderer::getDriver(){
|
|||
return driver;
|
||||
}
|
||||
|
||||
void CViewRenderer::setTextContext(NL3D::UTextContext *textcontext)
|
||||
{
|
||||
this->textcontext = textcontext;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
void CViewRenderer::SImage::setupQuadUV(bool flipv, uint8 rot, CQuadColorUV &dest)
|
||||
{
|
||||
|
@ -1211,9 +1217,9 @@ void CViewRenderer::flush ()
|
|||
|
||||
// **** Display Computed Strings of this layer
|
||||
if (_WorldSpaceTransformation)
|
||||
TextContext->flushRenderBufferUnProjected(_StringRBLayers[layerId], false);
|
||||
textcontext->flushRenderBufferUnProjected(_StringRBLayers[layerId], false);
|
||||
else
|
||||
TextContext->flushRenderBuffer(_StringRBLayers[layerId]);
|
||||
textcontext->flushRenderBuffer(_StringRBLayers[layerId]);
|
||||
|
||||
// flushed
|
||||
_EmptyLayer[layerId]= true;
|
||||
|
|
|
@ -103,7 +103,7 @@ public:
|
|||
sint32 _TextureId;
|
||||
};
|
||||
|
||||
CViewRenderer( NL3D::UDriver *driver );
|
||||
CViewRenderer( NL3D::UDriver *driver, NL3D::UTextContext *textcontext );
|
||||
|
||||
~CViewRenderer ();
|
||||
|
||||
|
@ -122,6 +122,9 @@ public:
|
|||
/// Retrieves the 3d driver we are using
|
||||
NL3D::UDriver* getDriver();
|
||||
|
||||
/// Sets the current TextContext.
|
||||
void setTextContext( NL3D::UTextContext *textcontext );
|
||||
|
||||
/*
|
||||
* setClipWindow : set the current clipping window
|
||||
* (this window do not inherit properties from parent or whatever)
|
||||
|
@ -561,6 +564,7 @@ private:
|
|||
|
||||
|
||||
NL3D::UDriver *driver;
|
||||
NL3D::UTextContext *textcontext;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue