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:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2015-04-16 14:48:30 +0300
committerr.kuznetsov <r.kuznetsov@corp.mail.ru>2015-11-30 16:04:17 +0300
commit734b0a10b024dac63a26710522683fdb0209a0b5 (patch)
tree96554add69ea14b6d9e2ed13eb17fdeb3a763eb4 /drape_head/testing_engine.cpp
parent4d6dcfc596953ef570d1d51f11416cdd5298999c (diff)
Pointers refactoring
Diffstat (limited to 'drape_head/testing_engine.cpp')
-rw-r--r--drape_head/testing_engine.cpp85
1 files changed, 40 insertions, 45 deletions
diff --git a/drape_head/testing_engine.cpp b/drape_head/testing_engine.cpp
index dee46549bc..12e20a86c9 100644
--- a/drape_head/testing_engine.cpp
+++ b/drape_head/testing_engine.cpp
@@ -48,7 +48,7 @@ public:
{
}
- void Draw(dp::RefPointer<dp::Batcher> batcher, dp::RefPointer<dp::TextureManager> textures) const
+ void Draw(ref_ptr<dp::Batcher> batcher, ref_ptr<dp::TextureManager> textures) const
{
gui::StaticLabel::LabelResult result;
gui::StaticLabel::CacheStaticText(m_text, "\n", m_anchor, m_font, textures, result);
@@ -57,9 +57,9 @@ public:
dp::AttributeProvider provider(1 /* streamCount */, result.m_buffer.size());
provider.InitStream(0 /* streamIndex */, gui::StaticLabel::Vertex::GetBindingInfo(),
- dp::MakeStackRefPointer<void>(result.m_buffer.data()));
+ make_ref<void>(result.m_buffer.data()));
- batcher->InsertListOfStrip(result.m_state, dp::MakeStackRefPointer(&provider),
+ batcher->InsertListOfStrip(result.m_state, make_ref(&provider),
4 /* vertexStride */);
}
@@ -79,7 +79,7 @@ public:
{
}
- void Draw(dp::RefPointer<dp::Batcher> batcher, dp::RefPointer<dp::TextureManager> textures) const
+ void Draw(ref_ptr<dp::Batcher> batcher, ref_ptr<dp::TextureManager> textures) const
{
gui::MutableLabel textCacher(dp::LeftBottom);
gui::MutableLabel::PrecacheParams p;
@@ -100,11 +100,11 @@ public:
dp::AttributeProvider provider(2, dynResult.m_buffer.size());
provider.InitStream(0 /* streamIndex */, gui::MutableLabel::StaticVertex::GetBindingInfo(),
- dp::MakeStackRefPointer<void>(staticData.m_buffer.data()));
+ make_ref<void>(staticData.m_buffer.data()));
provider.InitStream(1 /* streamIndex */, gui::MutableLabel::DynamicVertex::GetBindingInfo(),
- dp::MakeStackRefPointer<void>(dynResult.m_buffer.data()));
+ make_ref<void>(dynResult.m_buffer.data()));
- batcher->InsertListOfStrip(staticData.m_state, dp::MakeStackRefPointer(&provider), 4);
+ batcher->InsertListOfStrip(staticData.m_state, make_ref(&provider), 4);
}
private:
@@ -120,7 +120,7 @@ public:
{
}
- void Draw(dp::RefPointer<dp::Batcher> batcher, dp::RefPointer<dp::TextureManager> textures) const
+ void Draw(ref_ptr<dp::Batcher> batcher, ref_ptr<dp::TextureManager> textures) const
{
dp::TextureManager::TStipplePattern key;
key.push_back(10);
@@ -148,12 +148,12 @@ public:
dp::AttributeProvider provider(1, 4);
- provider.InitStream(0, gpu::SolidTexturingVertex::GetBindingInfo(), dp::MakeStackRefPointer<void>(vertexes));
+ provider.InitStream(0, gpu::SolidTexturingVertex::GetBindingInfo(), make_ref<void>(vertexes));
dp::GLState state(gpu::TEXTURING_PROGRAM, dp::GLState::GeometryLayer);
state.SetColorTexture(region.GetTexture());
- batcher->InsertTriangleStrip(state, dp::MakeStackRefPointer(&provider));
+ batcher->InsertTriangleStrip(state, make_ref(&provider));
}
private:
@@ -165,7 +165,7 @@ class DummyColorElement : public MapShape
public:
DummyColorElement() { }
- void Draw(dp::RefPointer<dp::Batcher> batcher, dp::RefPointer<dp::TextureManager> textures) const
+ void Draw(ref_ptr<dp::Batcher> batcher, ref_ptr<dp::TextureManager> textures) const
{
dp::TextureManager::ColorRegion region;
textures->GetColorRegion(dp::Color(rand() % 256, rand() % 256, rand() % 256, 255), region);
@@ -184,12 +184,12 @@ public:
};
dp::AttributeProvider provider(1, 4);
- provider.InitStream(0, gpu::SolidTexturingVertex::GetBindingInfo(), dp::MakeStackRefPointer<void>(vertexes));
+ provider.InitStream(0, gpu::SolidTexturingVertex::GetBindingInfo(), make_ref<void>(vertexes));
dp::GLState state(gpu::TEXTURING_PROGRAM, dp::GLState::GeometryLayer);
state.SetColorTexture(region.GetTexture());
- batcher->InsertTriangleStrip(state, dp::MakeStackRefPointer(&provider));
+ batcher->InsertTriangleStrip(state, make_ref(&provider));
}
};
@@ -326,7 +326,7 @@ private:
TCreatorsMap m_creators;
};
-TestingEngine::TestingEngine(dp::RefPointer<dp::OGLContextFactory> oglcontextfactory,
+TestingEngine::TestingEngine(ref_ptr<dp::OGLContextFactory> oglcontextfactory,
Viewport const & viewport,
double vs)
: m_contextFactory(oglcontextfactory)
@@ -356,11 +356,11 @@ TestingEngine::TestingEngine(dp::RefPointer<dp::OGLContextFactory> oglcontextfac
params.m_glyphMngParams.m_blacklist = "fonts_blacklist.txt";
GetPlatform().GetFontNames(params.m_glyphMngParams.m_fonts);
- m_textures.Reset(new dp::TextureManager());
+ m_textures = move(make_unique_dp<dp::TextureManager>());
m_textures->Init(params);
- m_batcher.Reset(new dp::Batcher());
- m_programManager.Reset(new dp::GpuProgramManager());
+ m_batcher = move(make_unique_dp<dp::Batcher>());
+ m_programManager = move(make_unique_dp<dp::GpuProgramManager>());
ModelViewInit();
ProjectionInit();
@@ -372,10 +372,7 @@ TestingEngine::~TestingEngine()
{
killTimer(m_timerId);
ClearScene();
- m_batcher.Destroy();
m_textures->Release();
- m_textures.Destroy();
- m_programManager.Destroy();
}
void TestingEngine::Draw()
@@ -410,16 +407,16 @@ void TestingEngine::Draw()
for(; it != m_scene.end(); ++it)
{
dp::GLState const & state = it->first;
- dp::RefPointer<dp::GpuProgram> prg = m_programManager->GetProgram(state.GetProgramIndex());
+ ref_ptr<dp::GpuProgram> prg = m_programManager->GetProgram(state.GetProgramIndex());
prg->Bind();
ApplyState(state, prg);
ApplyUniforms(m_generalUniforms, prg);
- vector<dp::MasterPointer<dp::RenderBucket> > & buckets = it->second;
+ vector<drape_ptr<dp::RenderBucket> > & buckets = it->second;
dp::OverlayTree tree;
tree.StartOverlayPlacing(m_modelView, true);
for (size_t i = 0; i < buckets.size(); ++i)
- buckets[i]->CollectOverlayHandles(MakeStackRefPointer(&tree));
+ buckets[i]->CollectOverlayHandles(make_ref(&tree));
for (size_t i = 0; i < buckets.size(); ++i)
buckets[i]->Render(m_modelView);
tree.EndOverlayPlacing();
@@ -466,7 +463,7 @@ void TestingEngine::DrawImpl()
params.m_secondaryTextFont = auxFd;
params.m_secondaryText = "Народная Китайская республика";
TextShape sh1(m2::PointF(82.277071f, 56.9271164f), params);
- sh1.Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ sh1.Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
vector<m2::PointD> path;
path.push_back(m2::PointD(92.277071f, 50.9271164f));
@@ -480,7 +477,7 @@ void TestingEngine::DrawImpl()
ptvp.m_text = "Some text";
ptvp.m_textFont = dp::FontDecl(dp::Color::Black(), 40, dp::Color::Red());
- PathTextShape(spline, ptvp).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ PathTextShape(spline, ptvp).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
LineViewParams lvp;
lvp.m_baseGtoPScale = ptvp.m_baseGtoPScale;
lvp.m_depth = 90.0f;
@@ -488,7 +485,7 @@ void TestingEngine::DrawImpl()
lvp.m_color = dp::Color::Red();
lvp.m_width = 16.0f;
lvp.m_join = dp::BevelJoin;
- LineShape(spline, lvp).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ LineShape(spline, lvp).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
{
PathSymbolViewParams p;
@@ -497,7 +494,7 @@ void TestingEngine::DrawImpl()
p.m_offset = 0.0f;
p.m_step = 60.0f;
p.m_symbolName = "swimming";
- PathSymbolShape(spline, p).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ PathSymbolShape(spline, p).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
{
@@ -514,14 +511,14 @@ void TestingEngine::DrawImpl()
lvp.m_join = dp::RoundJoin;
lvp.m_cap = dp::RoundCap;
lvp.m_color = dp::Color::Black();
- LineShape(spl1, lvp).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ LineShape(spl1, lvp).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
{
PoiSymbolViewParams p(FeatureID(-1, 0));
p.m_depth = 0.0f;
p.m_symbolName = "subway-station-l";
- PoiSymbolShape(m2::PointF(92.27f, 30.0f), p).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ PoiSymbolShape(m2::PointF(92.27f, 30.0f), p).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
{
@@ -529,7 +526,7 @@ void TestingEngine::DrawImpl()
p.m_color = dp::Color::Red();
p.m_depth = 0.0f;
p.m_radius = 28.0f;
- CircleShape(m2::PointF(94.27f, 30.0f), p).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ CircleShape(m2::PointF(94.27f, 30.0f), p).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
{
@@ -538,7 +535,7 @@ void TestingEngine::DrawImpl()
AreaViewParams p;
p.m_color = dp::Color::White();
p.m_depth = 0.0f;
- AreaShape(move(trg), p).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ AreaShape(move(trg), p).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
m_batcher->EndSession();
@@ -553,10 +550,10 @@ void TestingEngine::DrawImpl()
lvpl.m_pattern.clear();
lvpl.m_depth = -10.0f;
lvpl.m_width = 2.0f;
- LineShape(spl, lvpl).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ LineShape(spl, lvpl).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
DummyMutableLabel tt(m2::PointF(120.0f, 30.0f), "200 km");
- tt.Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ tt.Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
m_batcher->EndSession();
@@ -572,17 +569,17 @@ void TestingEngine::DrawImpl()
lvpl.m_pattern.clear();
lvpl.m_depth = -10.0f;
lvpl.m_width = 2.0f;
- LineShape(spl, lvpl).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ LineShape(spl, lvpl).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
dp::FontDecl font(dp::Color::Black(), 14);
DummyLabel(m2::PointF(110.0f, 25.0f), "Top\nText", dp::LeftTop, font)
- .Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ .Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
DummyLabel(m2::PointF(120.0f, 25.0f), "Center\nText", dp::Center, font)
- .Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ .Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
DummyLabel(m2::PointF(130.0f, 25.0f), "Bottom\nText", dp::RightBottom, font)
- .Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ .Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
}
m_batcher->EndSession();
}
@@ -612,7 +609,7 @@ void TestingEngine::DrawRects()
};
m2::SharedSpline spline(path);
- LineShape(spline, lvp).Draw(m_batcher.GetRefPointer(), m_textures.GetRefPointer());
+ LineShape(spline, lvp).Draw(make_ref<dp::Batcher>(m_batcher), make_ref<dp::TextureManager>(m_textures));
};
for (m2::RectD const & r : m_boundRects)
@@ -670,14 +667,14 @@ void TestingEngine::ProjectionInit()
m_generalUniforms.SetMatrix4x4Value("projection", m.data());
}
-void TestingEngine::OnFlushData(dp::GLState const & state, dp::TransferPointer<dp::RenderBucket> vao)
+void TestingEngine::OnFlushData(dp::GLState const & state, drape_ptr<dp::RenderBucket> && vao)
{
- dp::MasterPointer<dp::RenderBucket> bucket(vao);
+ drape_ptr<dp::RenderBucket> bucket = move(vao);
bucket->GetBuffer()->Build(m_programManager->GetProgram(state.GetProgramIndex()));
- m_scene[state].push_back(bucket);
+ m_scene[state].push_back(move(bucket));
for (size_t i = 0; i < bucket->GetOverlayHandlesCount(); ++i)
{
- dp::RefPointer<dp::OverlayHandle> handle = bucket->GetOverlayHandle(i);
+ ref_ptr<dp::OverlayHandle> handle = bucket->GetOverlayHandle(i);
handle->Update(m_modelView);
if (handle->IsValid())
{
@@ -690,9 +687,7 @@ void TestingEngine::OnFlushData(dp::GLState const & state, dp::TransferPointer<d
void TestingEngine::ClearScene()
{
- TScene::iterator it = m_scene.begin();
- for(; it != m_scene.end(); ++it)
- DeleteRange(it->second, dp::MasterPointerDeleter());
+ m_scene.clear();
}
} // namespace df