From 61eeae42caf53ab93a6270a13ad4c4f2e590bc8a Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Mon, 22 Oct 2018 17:17:51 +0900 Subject: Inherit LibWindowmanager to provide libwindowmanager function Change-Id: I14a679e240efaf8956c9d527c87aa04fcb70ab29 Signed-off-by: Kazumasa Mitsunari --- src/qlibwindowmanager.cpp | 22 ++++++++++------------ src/qlibwindowmanager.h | 3 +-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/qlibwindowmanager.cpp b/src/qlibwindowmanager.cpp index 4d32aab..fba1634 100644 --- a/src/qlibwindowmanager.cpp +++ b/src/qlibwindowmanager.cpp @@ -24,12 +24,12 @@ using namespace std; int QLibWindowmanager::init(int port, const QString &token) { string ctoken = token.toStdString(); - int ret_init = this->wm->init(port, ctoken); + int ret_init = LibWindowmanager::init(port, ctoken); this->screen_info = new AGLScreenInfoPrivate; if(ret_init == 0) { - struct Screen scrn = this->wm->getScreenInfo(); + struct Screen scrn = LibWindowmanager::getScreenInfo(); this->screen_info->set_width_dp(scrn.width_dp); this->screen_info->set_height_dp(scrn.height_dp); this->screen_info->set_width_mm(scrn.width_mm); @@ -43,7 +43,7 @@ int QLibWindowmanager::init(int port, const QString &token) { int QLibWindowmanager::setRole(const QString &role, bool request) { this->graphic_role = role.toStdString(); int ret = -1; - int surface_id = this->wm->setRole(this->graphic_role.c_str(), request); + int surface_id = LibWindowmanager::setRole(this->graphic_role.c_str(), request); if(request) { if(surface_id < 0){ @@ -66,7 +66,7 @@ int QLibWindowmanager::setRole(const QString &role, bool request) { int QLibWindowmanager::requestSurface(const QString &role) { this->graphic_role = role.toStdString(); - int surface_id = this->wm->requestSurface(this->graphic_role.c_str()); + int surface_id = LibWindowmanager::requestSurface(this->graphic_role.c_str()); if(surface_id < 0){ qDebug("failed to get surfaceID"); return -1; @@ -83,18 +83,18 @@ int QLibWindowmanager::requestSurface(const QString &role) { int QLibWindowmanager::activateWindow(const QString &role) { string srole = role.toStdString(); // Request default drawing area "normal.full" in libwindowmanager - return this->wm->activateWindow(srole.c_str()); + return LibWindowmanager::activateWindow(srole.c_str()); } int QLibWindowmanager::activateWindow(const QString &role, const QString &area) { string srole = role.toStdString(); string sarea = area.toStdString(); - return this->wm->activateWindow(srole.c_str(), sarea.c_str()); + return LibWindowmanager::activateWindow(srole.c_str(), sarea.c_str()); } int QLibWindowmanager::deactivateWindow(const QString &role) { string srole = role.toStdString(); - return this->wm->deactivateWindow(srole.c_str()); + return LibWindowmanager::deactivateWindow(srole.c_str()); } // This API is deprecated, please use new API @@ -114,7 +114,7 @@ int QLibWindowmanager::deactivateSurface(const QString &role) { int QLibWindowmanager::endDraw(const QString &role) { string srole = role.toStdString(); - return this->wm->endDraw(srole.c_str()); + return LibWindowmanager::endDraw(srole.c_str()); } int QLibWindowmanager::setRenderOrder(const QVector& render_order) @@ -124,13 +124,13 @@ int QLibWindowmanager::setRenderOrder(const QVector& render_order) std::string elem = itr->toStdString(); vec.emplace_back(elem); } - return this->wm->setRenderOrder(vec); + return LibWindowmanager::setRenderOrder(vec); } void QLibWindowmanager::set_event_handler(enum QEventType et, handler_fun f) { LibWindowmanager::EventType wet = (LibWindowmanager::EventType)et; - return this->wm->set_event_handler(wet, std::move(f)); + return LibWindowmanager::set_event_handler(wet, std::move(f)); } void QLibWindowmanager::slotActivateWindow(){ @@ -159,11 +159,9 @@ void QLibWindowmanager::slotActivateSurface(){ QLibWindowmanager::QLibWindowmanager(QObject *parent) :QObject(parent), isActive(false), screen_info(nullptr) { - wm = new LibWindowmanager(); } QLibWindowmanager::~QLibWindowmanager() { - delete wm; delete screen_info; } \ No newline at end of file diff --git a/src/qlibwindowmanager.h b/src/qlibwindowmanager.h index aad9630..cd002a0 100644 --- a/src/qlibwindowmanager.h +++ b/src/qlibwindowmanager.h @@ -58,7 +58,7 @@ class AGLScreenInfoPrivate double _scale = 1.0; }; -class QLibWindowmanager : public QObject{ +class QLibWindowmanager : public QObject, LibWindowmanager{ Q_OBJECT public: explicit QLibWindowmanager(QObject *parent = nullptr); @@ -115,7 +115,6 @@ public slots: THIS_FUNCTION_IS_DEPRECATED(void slotActivateSurface()); private: - LibWindowmanager* wm; std::string graphic_role; bool isActive; AGLScreenInfoPrivate* screen_info; -- cgit 1.2.3-korg