mirror of
https://github.com/glest/glest-source.git
synced 2025-08-13 03:44:00 +02:00
- bugfix for rendering labels (now properly lines up with other controls)
This commit is contained in:
@@ -19,6 +19,7 @@ namespace Shared { namespace Graphics { namespace Gl {
|
||||
|
||||
class Font2DGl;
|
||||
class Font3DGl;
|
||||
class TextRenderer2DGl;
|
||||
class TextRenderer3DGl;
|
||||
|
||||
// =====================================================
|
||||
@@ -64,6 +65,46 @@ public:
|
||||
virtual void end();
|
||||
};
|
||||
|
||||
|
||||
|
||||
class TextRendererSafeWrapper {
|
||||
protected:
|
||||
TextRenderer *renderer;
|
||||
Font *font;
|
||||
bool mustEnd;
|
||||
|
||||
public:
|
||||
|
||||
TextRendererSafeWrapper(TextRenderer *renderer,Font *font) {
|
||||
mustEnd = false;
|
||||
this->renderer = renderer;
|
||||
this->font = font;
|
||||
begin();
|
||||
}
|
||||
~TextRendererSafeWrapper() {
|
||||
end();
|
||||
}
|
||||
|
||||
void begin() {
|
||||
if(this->renderer != NULL) {
|
||||
if(dynamic_cast<TextRenderer2DGl *>(renderer) != NULL) {
|
||||
dynamic_cast<TextRenderer2DGl *>(renderer)->begin(dynamic_cast<Font2D *>(this->font));
|
||||
mustEnd = true;
|
||||
}
|
||||
if(dynamic_cast<TextRenderer3DGl *>(renderer) != NULL) {
|
||||
mustEnd = true;
|
||||
dynamic_cast<TextRenderer3DGl *>(renderer)->begin(dynamic_cast<Font3D *>(this->font));
|
||||
}
|
||||
}
|
||||
}
|
||||
void end() {
|
||||
if(this->renderer != NULL && mustEnd == true) {
|
||||
this->renderer->end();
|
||||
mustEnd = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}}}//end namespace
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user