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:
authorExMix <rahuba.youri@mapswithme.com>2015-02-16 15:51:26 +0300
committerr.kuznetsov <r.kuznetsov@corp.mail.ru>2015-11-30 16:04:03 +0300
commita404130ec315d3da5d01d201e9d5a742fbac5bfa (patch)
tree7ab448d81ca24f05a3cf201b941cdad9d34bcfbd /drape_head
parentf32047a95b937ef37d04b9a64bdaddd9d0f44f5d (diff)
[drape] testing engine fixes
Diffstat (limited to 'drape_head')
-rw-r--r--drape_head/drape_surface.cpp112
-rw-r--r--drape_head/drape_surface.hpp30
-rw-r--r--drape_head/testing_engine.cpp6
-rw-r--r--drape_head/testing_engine.hpp6
4 files changed, 4 insertions, 150 deletions
diff --git a/drape_head/drape_surface.cpp b/drape_head/drape_surface.cpp
index 8888c8672b..28a553e57f 100644
--- a/drape_head/drape_surface.cpp
+++ b/drape_head/drape_surface.cpp
@@ -1,39 +1,16 @@
#include "drape_head/drape_surface.hpp"
#include "drape_frontend/viewport.hpp"
-#include "drape_frontend/map_data_provider.hpp"
-#include "platform/platform.hpp"
-
-#include "drape/shader_def.hpp"
-
-#include "base/stl_add.hpp"
#include "base/logging.hpp"
-#include "std/bind.hpp"
-#include "std/cmath.hpp"
-
-#include <QtGui/QMouseEvent>
-
-
DrapeSurface::DrapeSurface()
- : m_dragState(false)
- , m_contextFactory(nullptr)
+ : m_contextFactory(nullptr)
{
setSurfaceType(QSurface::OpenGLSurface);
QObject::connect(this, SIGNAL(heightChanged(int)), this, SLOT(sizeChanged(int)));
QObject::connect(this, SIGNAL(widthChanged(int)), this, SLOT(sizeChanged(int)));
-
- ///{ Temporary initialization
- m_model.InitClassificator();
- // Platform::FilesList maps;
- // Platform & pl = GetPlatform();
- // pl.GetFilesByExt(pl.WritableDir(), DATA_FILE_EXTENSION, maps);
-
- // for_each(maps.begin(), maps.end(), bind(&model::FeaturesFetcher::RegisterMap, &m_model, _1));
- // ///}
- // ///
}
DrapeSurface::~DrapeSurface()
@@ -50,95 +27,20 @@ void DrapeSurface::exposeEvent(QExposeEvent *e)
{
if (m_contextFactory.IsNull())
{
- dp::ThreadSafeFactory * factory = new dp::ThreadSafeFactory(new QtOGLContextFactory(this));
+ dp::ThreadSafeFactory * factory = new dp::ThreadSafeFactory(new QtOGLContextFactory(this), false);
m_contextFactory = dp::MasterPointer<dp::OGLContextFactory>(factory);
CreateEngine();
- UpdateCoverage();
}
}
}
-void DrapeSurface::mousePressEvent(QMouseEvent * e)
-{
- QWindow::mousePressEvent(e);
- if (!isExposed())
- return;
-
- if (e->button() == Qt::LeftButton)
- {
- m2::PointF p = GetDevicePosition(e->pos());
- m_navigator.StartDrag(p, 0);
- UpdateCoverage();
- m_dragState = true;
- }
-}
-
-void DrapeSurface::mouseMoveEvent(QMouseEvent * e)
-{
- QWindow::mouseMoveEvent(e);
- if (!isExposed())
- return;
-
- if (m_dragState)
- {
- m2::PointF p = GetDevicePosition(e->pos());
- m_navigator.DoDrag(p, 0);
- UpdateCoverage();
- }
-}
-
-void DrapeSurface::mouseReleaseEvent(QMouseEvent * e)
-{
- QWindow::mouseReleaseEvent(e);
- if (!isExposed())
- return;
-
- if (m_dragState)
- {
- m2::PointF p = GetDevicePosition(e->pos());
- m_navigator.StopDrag(p, 0, false);
- UpdateCoverage();
- m_dragState = false;
- }
-}
-
-void DrapeSurface::wheelEvent(QWheelEvent * e)
-{
- if (!m_dragState)
- {
- m_navigator.ScaleToPoint(GetDevicePosition(e->pos()), exp(e->delta() / 360.0), 0);
- UpdateCoverage();
- }
-}
-
void DrapeSurface::CreateEngine()
{
dp::RefPointer<dp::OGLContextFactory> f(m_contextFactory.GetRefPointer());
float pixelRatio = devicePixelRatio();
- typedef df::MapDataProvider::TReadIDsFn TReadIDsFn;
- typedef df::MapDataProvider::TReadFeaturesFn TReadFeaturesFn;
- typedef df::MapDataProvider::TReadIdCallback TReadIdCallback;
- typedef df::MapDataProvider::TReadFeatureCallback TReadFeatureCallback;
-
- TReadIDsFn idReadFn = [this](TReadIdCallback const & fn, m2::RectD const & r, int scale)
- {
- m_model.ForEachFeatureID(r, fn, scale);
- };
-
- TReadFeaturesFn featureReadFn = [this](TReadFeatureCallback const & fn, vector<FeatureID> const & ids)
- {
- m_model.ReadFeatures(fn, ids);
- };
-
- m_drapeEngine = TEnginePrt(new df::DrapeEngine(f, df::Viewport(0, 0, pixelRatio * width(), pixelRatio * height()),
- df::MapDataProvider(idReadFn, featureReadFn), pixelRatio));
-}
-
-void DrapeSurface::UpdateCoverage()
-{
- m_drapeEngine->UpdateCoverage(m_navigator.Screen());
+ m_drapeEngine = TEnginePrt(new df::TestingEngine(f, df::Viewport(0, 0, pixelRatio * width(), pixelRatio * height()), pixelRatio));
}
void DrapeSurface::sizeChanged(int)
@@ -148,14 +50,6 @@ void DrapeSurface::sizeChanged(int)
float vs = devicePixelRatio();
int w = width() * vs;
int h = height() * vs;
- m_navigator.OnSize(0, 0, w, h);
m_drapeEngine->Resize(w, h);
- UpdateCoverage();
}
}
-
-m2::PointF DrapeSurface::GetDevicePosition(QPoint const & p)
-{
- qreal const ratio = devicePixelRatio();
- return m2::PointF(p.x() * ratio, p.y() * ratio);
-}
diff --git a/drape_head/drape_surface.hpp b/drape_head/drape_surface.hpp
index 44857c3fcc..8f705c586e 100644
--- a/drape_head/drape_surface.hpp
+++ b/drape_head/drape_surface.hpp
@@ -1,24 +1,9 @@
#pragma once
#include "drape_head/qtoglcontextfactory.hpp"
-
-#include "map/feature_vec_model.hpp"
-#include "map/navigator.hpp"
-
-#include "drape/batcher.hpp"
-#include "drape/gpu_program_manager.hpp"
-#include "drape/uniform_values_storage.hpp"
-
-#define USE_TESTING_ENGINE
-#if defined(USE_TESTING_ENGINE)
#include "drape_head/testing_engine.hpp"
-#define DrapeEngine TestingEngine
-#else
-#include "drape_frontend/drape_engine.hpp"
-#endif
#include <QtGui/QWindow>
-#include <QtCore/QTimerEvent>
class DrapeSurface : public QWindow
{
@@ -30,28 +15,15 @@ public:
protected:
void exposeEvent(QExposeEvent * e);
- void mousePressEvent(QMouseEvent * e);
- void mouseMoveEvent(QMouseEvent * e);
- void mouseReleaseEvent(QMouseEvent * e);
- void wheelEvent(QWheelEvent * e);
private:
void CreateEngine();
- void UpdateCoverage();
Q_SLOT void sizeChanged(int);
private:
- m2::PointF GetDevicePosition(QPoint const & p);
-
- bool m_dragState;
-
- model::FeaturesFetcher m_model;
- Navigator m_navigator;
-
-private:
typedef dp::MasterPointer<dp::OGLContextFactory> TContextFactoryPtr;
- typedef dp::MasterPointer<df::DrapeEngine> TEnginePrt;
+ typedef dp::MasterPointer<df::TestingEngine> TEnginePrt;
TContextFactoryPtr m_contextFactory;
TEnginePrt m_drapeEngine;
};
diff --git a/drape_head/testing_engine.cpp b/drape_head/testing_engine.cpp
index 0aa1b55f01..46032037dc 100644
--- a/drape_head/testing_engine.cpp
+++ b/drape_head/testing_engine.cpp
@@ -252,7 +252,6 @@ private:
TestingEngine::TestingEngine(dp::RefPointer<dp::OGLContextFactory> oglcontextfactory,
Viewport const & viewport,
- MapDataProvider const & model,
double vs)
: m_contextFactory(oglcontextfactory)
, m_viewport(viewport)
@@ -352,11 +351,6 @@ void TestingEngine::Resize(int w, int h)
Draw();
}
-void TestingEngine::DragStarted(m2::PointF const & p) {}
-void TestingEngine::Drag(m2::PointF const & p) {}
-void TestingEngine::DragEnded(m2::PointF const & p) {}
-void TestingEngine::Scale(m2::PointF const & p, double factor) {}
-
void TestingEngine::timerEvent(QTimerEvent * e)
{
if (e->timerId() == m_timerId)
diff --git a/drape_head/testing_engine.hpp b/drape_head/testing_engine.hpp
index 5d046cb7ec..2bf5a56451 100644
--- a/drape_head/testing_engine.hpp
+++ b/drape_head/testing_engine.hpp
@@ -23,17 +23,11 @@ class TestingEngine : public QObject
public:
TestingEngine(dp::RefPointer<dp::OGLContextFactory> oglcontextfactory,
Viewport const & viewport,
- MapDataProvider const & model,
double vs);
~TestingEngine();
void Draw();
void Resize(int w, int h);
- void DragStarted(m2::PointF const & p);
- void Drag(m2::PointF const & p);
- void DragEnded(m2::PointF const & p);
- void Scale(m2::PointF const & p, double factor);
- void UpdateCoverage(ScreenBase const & s){};
protected:
void timerEvent(QTimerEvent * e);