Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrachytski <siarhei.rachytski@gmail.com>2011-01-02 19:40:46 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:08:59 +0300
commit7db84a359ff15fec29c663b41d2f644d160c4be1 (patch)
treee13d60700a08888795ce7c953f56e954deba31ed /qt_tstfrm
parentc4087d382efc21fadb29922bbcfe29d32c108a3e (diff)
Parasite Blitting Bug.
Diffstat (limited to 'qt_tstfrm')
-rw-r--r--qt_tstfrm/macros.hpp3
-rw-r--r--qt_tstfrm/tstwidgets.cpp32
-rw-r--r--qt_tstfrm/tstwidgets.hpp1
-rw-r--r--qt_tstfrm/widgets_impl.hpp5
4 files changed, 18 insertions, 23 deletions
diff --git a/qt_tstfrm/macros.hpp b/qt_tstfrm/macros.hpp
index a2ec2edced..7cede26627 100644
--- a/qt_tstfrm/macros.hpp
+++ b/qt_tstfrm/macros.hpp
@@ -109,7 +109,10 @@ public:
virtual void DoDraw(shared_ptr<yg::gl::Screen> p)
{
+ p->beginFrame();
+ p->clear();
test.DoDraw(p);
+ p->endFrame();
}
virtual void DoResize(int, int)
{
diff --git a/qt_tstfrm/tstwidgets.cpp b/qt_tstfrm/tstwidgets.cpp
index e10ecfde4b..f0bbbccefb 100644
--- a/qt_tstfrm/tstwidgets.cpp
+++ b/qt_tstfrm/tstwidgets.cpp
@@ -46,39 +46,37 @@ void GLDrawWidget::initializeGL()
3000 * sizeof(yg::gl::Vertex),
5000 * sizeof(unsigned short),
100,
- 2048,
- 2048,
+ 10 * sizeof(yg::gl::AuxVertex),
+ 10 * sizeof(unsigned short),
30,
512, 256, 15,
2000000));
// m_resourceManager->addFont(GetPlatform().ReadPathForFile("dejavusans.ttf").c_str());
m_resourceManager->addFont(GetPlatform().ReadPathForFile("wqy-microhei.ttf").c_str());
-/* m_resourceManager = make_shared_ptr(new yg::ResourceManager(
- 5000 * sizeof(yg::gl::Vertex),
- 10000 * sizeof(unsigned short),
- 20,
- 256, 256, 10));*/
+
+ m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer());
yg::gl::Screen::Params params;
params.m_resourceManager = m_resourceManager;
- params.m_isAntiAliased = false;
+ params.m_isMultiSampled = false;
+ params.m_frameBuffer = m_frameBuffer;
m_p = make_shared_ptr(new yg::gl::Screen(params));
m_primaryFrameBuffer = make_shared_ptr(new yg::gl::FrameBuffer(true));
- m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer());
-
- m_p->setFrameBuffer(m_frameBuffer);
-
m_skin = shared_ptr<yg::Skin>(loadSkin(m_resourceManager, GetPlatform().SkinName()));
m_p->setSkin(m_skin);
+
+ params.m_frameBuffer = m_primaryFrameBuffer;
+ m_primaryScreen = make_shared_ptr(new yg::gl::Screen(params));
}
void GLDrawWidget::resizeGL(int w, int h)
{
m_p->onSize(w, h);
+ m_primaryScreen->onSize(w, h);
m_frameBuffer->onSize(w, h);
m_primaryFrameBuffer->onSize(w, h);
@@ -96,18 +94,16 @@ void GLDrawWidget::paintGL()
{
base_type::paintGL();
- m_p->setFrameBuffer(m_primaryFrameBuffer);
+// m_renderTarget->dump("renderTarget.png");
- m_p->beginFrame();
+ m_primaryScreen->beginFrame();
- m_p->immDrawTexturedRect(
+ m_primaryScreen->immDrawTexturedRect(
m2::RectF(0, 0, m_renderTarget->width(), m_renderTarget->height()),
m2::RectF(0, 0, 1, 1),
m_renderTarget
);
- m_p->endFrame();
-
- m_p->setFrameBuffer(m_frameBuffer);
+ m_primaryScreen->endFrame();
}
}
diff --git a/qt_tstfrm/tstwidgets.hpp b/qt_tstfrm/tstwidgets.hpp
index 054c743099..545140d1da 100644
--- a/qt_tstfrm/tstwidgets.hpp
+++ b/qt_tstfrm/tstwidgets.hpp
@@ -37,6 +37,7 @@ namespace tst
shared_ptr<yg::gl::RenderBuffer> m_depthBuffer;
shared_ptr<yg::Skin> m_skin;
shared_ptr<qt::gl::RenderContext> m_primaryContext;
+ shared_ptr<yg::gl::Screen> m_primaryScreen;
public:
diff --git a/qt_tstfrm/widgets_impl.hpp b/qt_tstfrm/widgets_impl.hpp
index a34c2168cf..5cbd0a49ef 100644
--- a/qt_tstfrm/widgets_impl.hpp
+++ b/qt_tstfrm/widgets_impl.hpp
@@ -14,12 +14,7 @@ namespace qt
void GLDrawWidgetT<T>::paintGL()
{
if (m_p)
- {
- m_p->beginFrame();
- m_p->clear();
DoDraw(m_p);
- m_p->endFrame();
- }
}
template <class T>