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)
|
if (resetInterfaceManager)
|
||||||
{
|
{
|
||||||
CInterfaceManager *im = CInterfaceManager::getInstance();
|
CInterfaceManager *im = CInterfaceManager::getInstance();
|
||||||
|
im->setTextContext( TextContext );
|
||||||
im->resetTextIndex();
|
im->resetTextIndex();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,7 +254,7 @@ int CInterfaceManager::DebugTrackGroupsGetId( CInterfaceGroup *pIG )
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
CInterfaceManager::CInterfaceManager() :
|
CInterfaceManager::CInterfaceManager() :
|
||||||
_ViewRenderer( Driver )
|
_ViewRenderer( Driver, TextContext )
|
||||||
{
|
{
|
||||||
_Instance = this;
|
_Instance = this;
|
||||||
_DbRootNode = new CCDBNodeBranch("ROOT");
|
_DbRootNode = new CCDBNodeBranch("ROOT");
|
||||||
|
@ -6600,3 +6600,8 @@ bool CInterfaceManager::parseTokens(ucstring& ucstr)
|
||||||
ucstr = str;
|
ucstr = str;
|
||||||
return true;;
|
return true;;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CInterfaceManager::setTextContext( NL3D::UTextContext *textcontext )
|
||||||
|
{
|
||||||
|
_ViewRenderer.setTextContext( textcontext );
|
||||||
|
}
|
|
@ -720,6 +720,9 @@ public:
|
||||||
*/
|
*/
|
||||||
static bool parseTokens(ucstring& ucstr);
|
static bool parseTokens(ucstring& ucstr);
|
||||||
|
|
||||||
|
/// Sets the current TextContext.
|
||||||
|
void setTextContext( NL3D::UTextContext *textcontext );
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
|
@ -30,11 +30,12 @@ using namespace NLMISC;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace NL3D;
|
using namespace NL3D;
|
||||||
|
|
||||||
CViewRenderer::CViewRenderer( NL3D::UDriver *driver )
|
CViewRenderer::CViewRenderer( NL3D::UDriver *driver, NL3D::UTextContext *textcontext )
|
||||||
{
|
{
|
||||||
setup();
|
setup();
|
||||||
|
|
||||||
this->driver = driver;
|
this->driver = driver;
|
||||||
|
this->textcontext = textcontext;
|
||||||
}
|
}
|
||||||
|
|
||||||
CViewRenderer::~CViewRenderer()
|
CViewRenderer::~CViewRenderer()
|
||||||
|
@ -155,7 +156,7 @@ void CViewRenderer::init()
|
||||||
// Init all renderBuffer
|
// Init all renderBuffer
|
||||||
for(uint i=0;i<VR_NUM_LAYER;i++)
|
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;
|
return driver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CViewRenderer::setTextContext(NL3D::UTextContext *textcontext)
|
||||||
|
{
|
||||||
|
this->textcontext = textcontext;
|
||||||
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CViewRenderer::SImage::setupQuadUV(bool flipv, uint8 rot, CQuadColorUV &dest)
|
void CViewRenderer::SImage::setupQuadUV(bool flipv, uint8 rot, CQuadColorUV &dest)
|
||||||
{
|
{
|
||||||
|
@ -1211,9 +1217,9 @@ void CViewRenderer::flush ()
|
||||||
|
|
||||||
// **** Display Computed Strings of this layer
|
// **** Display Computed Strings of this layer
|
||||||
if (_WorldSpaceTransformation)
|
if (_WorldSpaceTransformation)
|
||||||
TextContext->flushRenderBufferUnProjected(_StringRBLayers[layerId], false);
|
textcontext->flushRenderBufferUnProjected(_StringRBLayers[layerId], false);
|
||||||
else
|
else
|
||||||
TextContext->flushRenderBuffer(_StringRBLayers[layerId]);
|
textcontext->flushRenderBuffer(_StringRBLayers[layerId]);
|
||||||
|
|
||||||
// flushed
|
// flushed
|
||||||
_EmptyLayer[layerId]= true;
|
_EmptyLayer[layerId]= true;
|
||||||
|
|
|
@ -103,7 +103,7 @@ public:
|
||||||
sint32 _TextureId;
|
sint32 _TextureId;
|
||||||
};
|
};
|
||||||
|
|
||||||
CViewRenderer( NL3D::UDriver *driver );
|
CViewRenderer( NL3D::UDriver *driver, NL3D::UTextContext *textcontext );
|
||||||
|
|
||||||
~CViewRenderer ();
|
~CViewRenderer ();
|
||||||
|
|
||||||
|
@ -122,6 +122,9 @@ public:
|
||||||
/// Retrieves the 3d driver we are using
|
/// Retrieves the 3d driver we are using
|
||||||
NL3D::UDriver* getDriver();
|
NL3D::UDriver* getDriver();
|
||||||
|
|
||||||
|
/// Sets the current TextContext.
|
||||||
|
void setTextContext( NL3D::UTextContext *textcontext );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* setClipWindow : set the current clipping window
|
* setClipWindow : set the current clipping window
|
||||||
* (this window do not inherit properties from parent or whatever)
|
* (this window do not inherit properties from parent or whatever)
|
||||||
|
@ -561,6 +564,7 @@ private:
|
||||||
|
|
||||||
|
|
||||||
NL3D::UDriver *driver;
|
NL3D::UDriver *driver;
|
||||||
|
NL3D::UTextContext *textcontext;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue