|
@@ -82,22 +82,14 @@ sf::RenderWindow *RmlUiSFMLRenderer::GetWindow()
|
|
|
|
|
|
|
|
void RmlUiSFMLRenderer::Resize()
|
|
void RmlUiSFMLRenderer::Resize()
|
|
|
{
|
|
{
|
|
|
- static sf::View View;
|
|
|
|
|
- View.setViewport(sf::FloatRect(0, (float)MyWindow->getSize().x, (float)MyWindow->getSize().y, 0));
|
|
|
|
|
- MyWindow->setView(View);
|
|
|
|
|
-
|
|
|
|
|
- glMatrixMode(GL_PROJECTION);
|
|
|
|
|
- glLoadIdentity();
|
|
|
|
|
- glOrtho(0, MyWindow->getSize().x, MyWindow->getSize().y, 0, -1, 1);
|
|
|
|
|
- glMatrixMode(GL_MODELVIEW);
|
|
|
|
|
-
|
|
|
|
|
- glViewport(0, 0, MyWindow->getSize().x, MyWindow->getSize().y);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Called by RmlUi when it wants to render geometry that it does not wish to optimise.
|
|
// Called by RmlUi when it wants to render geometry that it does not wish to optimise.
|
|
|
void RmlUiSFMLRenderer::RenderGeometry(Rml::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, const Rml::Core::TextureHandle texture, const Rml::Core::Vector2f& translation)
|
|
void RmlUiSFMLRenderer::RenderGeometry(Rml::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, const Rml::Core::TextureHandle texture, const Rml::Core::Vector2f& translation)
|
|
|
{
|
|
{
|
|
|
MyWindow->pushGLStates();
|
|
MyWindow->pushGLStates();
|
|
|
|
|
+ initViewport();
|
|
|
|
|
+
|
|
|
glTranslatef(translation.x, translation.y, 0);
|
|
glTranslatef(translation.x, translation.y, 0);
|
|
|
|
|
|
|
|
std::vector<Rml::Core::Vector2f> Positions(num_vertices);
|
|
std::vector<Rml::Core::Vector2f> Positions(num_vertices);
|
|
@@ -188,6 +180,8 @@ void RmlUiSFMLRenderer::RenderCompiledGeometry(Rml::Core::CompiledGeometryHandle
|
|
|
RmlUiSFMLRendererGeometryHandler *RealGeometry = (RmlUiSFMLRendererGeometryHandler *)geometry;
|
|
RmlUiSFMLRendererGeometryHandler *RealGeometry = (RmlUiSFMLRendererGeometryHandler *)geometry;
|
|
|
|
|
|
|
|
MyWindow->pushGLStates();
|
|
MyWindow->pushGLStates();
|
|
|
|
|
+ initViewport();
|
|
|
|
|
+
|
|
|
glTranslatef(translation.x, translation.y, 0);
|
|
glTranslatef(translation.x, translation.y, 0);
|
|
|
glEnable(GL_BLEND);
|
|
glEnable(GL_BLEND);
|
|
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
@@ -308,3 +302,13 @@ void RmlUiSFMLRenderer::ReleaseTexture(Rml::Core::TextureHandle texture_handle)
|
|
|
{
|
|
{
|
|
|
delete (sf::Texture *)texture_handle;
|
|
delete (sf::Texture *)texture_handle;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+void RmlUiSFMLRenderer::initViewport() {
|
|
|
|
|
+ glViewport(0, 0, MyWindow->getSize().x, MyWindow->getSize().y);
|
|
|
|
|
+
|
|
|
|
|
+ glMatrixMode(GL_PROJECTION);
|
|
|
|
|
+ glLoadIdentity();
|
|
|
|
|
+
|
|
|
|
|
+ glOrtho(0, MyWindow->getSize().x, MyWindow->getSize().y, 0, -1, 1);
|
|
|
|
|
+ glMatrixMode(GL_MODELVIEW);
|
|
|
|
|
+}
|