From: Stanislav Vorobiov Date: Tue, 12 Aug 2014 13:29:55 +0000 (+0400) Subject: VIGS/qt5: support sw backend X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=46f2826d5822c23e3fa108809d2ca1fc976c4754;p=sdk%2Femulator%2Fqemu.git VIGS/qt5: support sw backend sw backend is working again, but still need to handle skin rotation properly Change-Id: I8f42f562aef839ff257a87db9fb346af9bf3c907 Signed-off-by: Stanislav Vorobiov --- diff --git a/hw/vigs/vigs_server.c b/hw/vigs/vigs_server.c index 082506c4d3..54d712e62a 100644 --- a/hw/vigs/vigs_server.c +++ b/hw/vigs/vigs_server.c @@ -746,7 +746,6 @@ bool vigs_server_process_captured(struct vigs_server *server, bool force) } server->captured->dirty = false; - updated = true; server->display_ops->resize(server->display_user_data, server->captured->width, diff --git a/hw/vigs/vigs_sw_backend.c b/hw/vigs/vigs_sw_backend.c index 35224c0628..613f6e557a 100644 --- a/hw/vigs/vigs_sw_backend.c +++ b/hw/vigs/vigs_sw_backend.c @@ -379,15 +379,13 @@ static bool vigs_sw_backend_composite(struct vigs_surface *surface, memcpy(display_data, surface->ptr, surface->stride * surface->ws_sfc->height); - return true; - } else if (surface->is_dirty) { + } else { memcpy(display_data, sw_sfc->data, surface->stride * surface->ws_sfc->height); - return true; } - return false; + return true; } static void vigs_sw_backend_batch_end(struct vigs_backend *backend) diff --git a/tizen/src/display/qt5.c b/tizen/src/display/qt5.c index 87648e3473..5f444b45e9 100644 --- a/tizen/src/display/qt5.c +++ b/tizen/src/display/qt5.c @@ -60,10 +60,7 @@ static void qt5_update(DisplayChangeListener *dcl, return; } -#if 0 - /* testing */ qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf)); -#endif } static void qt5_switch(DisplayChangeListener *dcl, diff --git a/tizen/src/display/qt5_supplement.cpp b/tizen/src/display/qt5_supplement.cpp index cb9b595642..357b7679c0 100644 --- a/tizen/src/display/qt5_supplement.cpp +++ b/tizen/src/display/qt5_supplement.cpp @@ -137,11 +137,14 @@ void qt5_update_internal(void *data, int width, int height) QPixmap pixmap = QPixmap(); QLabel *label = mainwindow->getLabel(); - QImage image = QImage((uchar *)data, width, height, QImage::Format_ARGB32); + /* + * TODO: support rotation. + */ + + QImage image = QImage((uchar *)data, width, height, QImage::Format_RGB32); pixmap.convertFromImage(image); label->setPixmap(pixmap.scaled(label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); - label->show(); } void qt5_switch_internal(void) diff --git a/tizen/src/ui/Makefile.objs b/tizen/src/ui/Makefile.objs index a33417671d..c5368e8239 100644 --- a/tizen/src/ui/Makefile.objs +++ b/tizen/src/ui/Makefile.objs @@ -7,7 +7,9 @@ $(obj)/qrc_resource.cpp: $(TIZEN_UI)/resource/resource.qrc obj-$(CONFIG_QT) += controllerform.o obj-$(CONFIG_QT) += controllerwidget.o moc_controllerwidget.o -obj-$(CONFIG_QT) += displaywidget.o moc_displaywidget.o +obj-$(CONFIG_QT) += displaybase.o +obj-$(CONFIG_QT) += displayglwidget.o moc_displayglwidget.o +obj-$(CONFIG_QT) += displayswwidget.o moc_displayswwidget.o obj-$(CONFIG_QT) += hardwarekey.o obj-$(CONFIG_QT) += mainwindow.o moc_mainwindow.o obj-$(CONFIG_QT) += skinbezelitem.o @@ -26,8 +28,11 @@ obj-$(CONFIG_QT) += menu/ $(obj)/moc_controllerwidget.o: $(obj)/moc_controllerwidget.cpp $(obj)/moc_controllerwidget.cpp: $(obj)/controllerwidget.h moc $< -o $@ -$(obj)/moc_displaywidget.o: $(obj)/moc_displaywidget.cpp -$(obj)/moc_displaywidget.cpp: $(obj)/displaywidget.h +$(obj)/moc_displayglwidget.o: $(obj)/moc_displayglwidget.cpp +$(obj)/moc_displayglwidget.cpp: $(obj)/displayglwidget.h + moc $< -o $@ +$(obj)/moc_displayswwidget.o: $(obj)/moc_displayswwidget.cpp +$(obj)/moc_displayswwidget.cpp: $(obj)/displayswwidget.h moc $< -o $@ $(obj)/moc_mainwindow.o: $(obj)/moc_mainwindow.cpp $(obj)/moc_mainwindow.cpp: $(obj)/mainwindow.h diff --git a/tizen/src/ui/displaybase.cpp b/tizen/src/ui/displaybase.cpp new file mode 100644 index 0000000000..e7dfc4b647 --- /dev/null +++ b/tizen/src/ui/displaybase.cpp @@ -0,0 +1,155 @@ +#include "displaybase.h" +#include "mainwindow.h" + +uint32_t qt5_window_width = 0; +uint32_t qt5_window_height = 0; +int qt5_window_angle = 0; + +DisplayBase::DisplayBase(QSize resolution, QWidget *w) +: resolution(resolution), + w(w), + isDragging(false) +{ + /* initialize */ + // TODO: compare display region with resolution + + MainWindow *win = ((MainWindow *)w->parent()->parent()); + rotateAngle = win->getUIState()->formAngle; + scaleFactor = win->getUIState()->getScaleFactor(); +} + +DisplayBase::~DisplayBase() +{ + qDebug("destory display"); +} + +void DisplayBase::rotate(int angle) +{ + qDebug("display rotate : %d", angle); + + rotateAngle = angle; + + qt5_window_angle = angle; + + /* adjustSize() doesn't work */ + w->resize(0, 0); + + w->repaint(); +} + +void DisplayBase::scale(int scale) +{ + qDebug("display scale : %d", scale); + + scaleFactor = ((qreal)scale) / 100; + + /* adjustSize() doesn't work */ + w->resize(0, 0); + + w->repaint(); +} + +void DisplayBase::handlePaint(QPaintEvent *event) +{ +} + +void DisplayBase::handleResize(QResizeEvent *event) +{ + qDebug("resize display"); + + MainWindow *win = ((MainWindow *)w->parent()->parent()); + SkinForm *form = win->uiInfo->getForm(); + + const qreal sx = scaleFactor; + const qreal sy = scaleFactor; + + w->setGeometry(form->displayRegion.x() * sx, + form->displayRegion.y() * sy, + form->displayRegion.width() * sx, + form->displayRegion.height() * sy); + + qt5_window_width = w->width(); + qt5_window_height = w->height(); + + qt5_graphic_hw_invalidate(); +} + +void DisplayBase::handleMousePress(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) { + isDragging = true; + + sendTouchEvent(TOUCH_PRESS, event->x(), event->y()); + } +} + +void DisplayBase::handleMouseRelease(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) { + if (isDragging) { + isDragging = false; + } + + sendTouchEvent(TOUCH_RELEASE, event->x(), event->y()); + } +} + +void DisplayBase::handleMouseMove(QMouseEvent *event) +{ + if (isDragging == true) { + int event_type = TOUCH_PRESS; + int clientX = event->x(); + int clientY = event->y(); + + if (clientX < 0) { + event_type = TOUCH_RELEASE; + clientX = 0; + isDragging = false; + } else if (clientX >= w->width()) { + event_type = TOUCH_RELEASE; + clientX = w->width() - 1; + isDragging = false; + } + + if (clientY < 0) { + event_type = TOUCH_RELEASE; + clientY = 0; + isDragging = false; + } else if (clientY >= w->height()) { + event_type = TOUCH_RELEASE; + clientY = w->height() - 1; + isDragging = false; + } + + sendTouchEvent(event_type, clientX, clientY); + } +} + +void DisplayBase::sendTouchEvent(int eventType, int clientX, int clientY) +{ + int xx = clientX / scaleFactor; + int yy = clientY / scaleFactor; + int absX = xx; + int absY = yy; + + /* TODO: x*cos(rad)-y*sin(rad) */ + switch(rotateAngle) { + case 90: /* Reverse Landscape */ + absX = yy; + absY = resolution.height() - xx; + break; + case 180: /* Reverse Portrait */ + absX = resolution.width() - xx; + absY = resolution.height() - yy; + break; + case 270: /* Landscape */ + absX = resolution.width() - yy; + absY = xx; + break; + case 0: + default: + break; + } + + do_mouse_event(0, eventType, clientX, clientY, absX, absY, 0); +} diff --git a/tizen/src/ui/displaybase.h b/tizen/src/ui/displaybase.h new file mode 100644 index 0000000000..f4eda66ab3 --- /dev/null +++ b/tizen/src/ui/displaybase.h @@ -0,0 +1,46 @@ +#ifndef DISPLAYBASE_H +#define DISPLAYBASE_H + +#include + +extern "C" { +void qt5_graphic_hw_invalidate(void); +} + +enum { + TOUCH_PRESS = 1, + TOUCH_RELEASE = 2, +}; + +class DisplayBase +{ +public: + void rotate(int angle); + void scale(int scale); + +protected: + DisplayBase(QSize resolution, QWidget *w); + virtual ~DisplayBase(); + + void setRotate(int angle); + void setScale(int scale); + + void handlePaint(QPaintEvent *event); + void handleResize(QResizeEvent *event); + + void handleMousePress(QMouseEvent *event); + void handleMouseRelease(QMouseEvent *event); + void handleMouseMove(QMouseEvent *event); + +private: + void sendTouchEvent(int eventType, int clientX, int clientY); + + QSize resolution; + QWidget *w; + int rotateAngle; + qreal scaleFactor; + + bool isDragging; +}; + +#endif diff --git a/tizen/src/ui/displayglwidget.cpp b/tizen/src/ui/displayglwidget.cpp new file mode 100644 index 0000000000..84e5437aa1 --- /dev/null +++ b/tizen/src/ui/displayglwidget.cpp @@ -0,0 +1,56 @@ +#include + +#include "displayglwidget.h" + +DisplayGLWidget::DisplayGLWidget(QSize resolution, QGLContext *context, QWidget *parent) : + QGLWidget(context, parent), + DisplayBase(resolution, this) +{ + setAutoBufferSwap(false); +} + +void DisplayGLWidget::initializeGL() +{ + qDebug("initialize GL"); +} + +void DisplayGLWidget::paintEvent(QPaintEvent *event) +{ + /* + * We offload rendering to separate thread, this must be + * a no-op, see: http://qt-project.org/doc/qt-5/QGLWidget.html: + * "3. Using QPainter to draw into a QGLWidget in a thread" + */ + + handlePaint(event); +} + +void DisplayGLWidget::resizeEvent(QResizeEvent *event) +{ + /* + * We offload rendering to separate thread, this must be + * a no-op, see: http://qt-project.org/doc/qt-5/QGLWidget.html: + * "3. Using QPainter to draw into a QGLWidget in a thread" + */ + + handleResize(event); +} + +void DisplayGLWidget::mousePressEvent(QMouseEvent *event) +{ + handleMousePress(event); +} + +void DisplayGLWidget::mouseReleaseEvent(QMouseEvent *event) +{ + handleMouseRelease(event); +} + +void DisplayGLWidget::mouseMoveEvent(QMouseEvent *event) +{ + handleMouseMove(event); +} + +DisplayGLWidget::~DisplayGLWidget() +{ +} diff --git a/tizen/src/ui/displayglwidget.h b/tizen/src/ui/displayglwidget.h new file mode 100644 index 0000000000..899e85fdad --- /dev/null +++ b/tizen/src/ui/displayglwidget.h @@ -0,0 +1,27 @@ +#ifndef DISPLAYGLWIDGET_H +#define DISPLAYGLWIDGET_H + +#include "displaybase.h" +#include + +class DisplayGLWidget : public QGLWidget, + public DisplayBase +{ + Q_OBJECT + +public: + DisplayGLWidget(QSize resolution, QGLContext *context, QWidget *parent = 0); + ~DisplayGLWidget(); + +protected: + void initializeGL(); + + void paintEvent(QPaintEvent *event); + void resizeEvent(QResizeEvent *event); + + void mousePressEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); +}; + +#endif // DISPLAYGLWIDGET_H diff --git a/tizen/src/ui/displayswwidget.cpp b/tizen/src/ui/displayswwidget.cpp new file mode 100644 index 0000000000..a5d0d9b3a2 --- /dev/null +++ b/tizen/src/ui/displayswwidget.cpp @@ -0,0 +1,40 @@ +#include + +#include "displayswwidget.h" + +DisplaySWWidget::DisplaySWWidget(QSize resolution, QWidget *parent) : + QLabel(parent), + DisplayBase(resolution, this) +{ +} + +void DisplaySWWidget::paintEvent(QPaintEvent *event) +{ + QLabel::paintEvent(event); + handlePaint(event); +} + +void DisplaySWWidget::resizeEvent(QResizeEvent *event) +{ + QLabel::resizeEvent(event); + handleResize(event); +} + +void DisplaySWWidget::mousePressEvent(QMouseEvent *event) +{ + handleMousePress(event); +} + +void DisplaySWWidget::mouseReleaseEvent(QMouseEvent *event) +{ + handleMouseRelease(event); +} + +void DisplaySWWidget::mouseMoveEvent(QMouseEvent *event) +{ + handleMouseMove(event); +} + +DisplaySWWidget::~DisplaySWWidget() +{ +} diff --git a/tizen/src/ui/displayswwidget.h b/tizen/src/ui/displayswwidget.h new file mode 100644 index 0000000000..8427e8ce62 --- /dev/null +++ b/tizen/src/ui/displayswwidget.h @@ -0,0 +1,25 @@ +#ifndef DISPLAYSWWIDGET_H +#define DISPLAYSWWIDGET_H + +#include "displaybase.h" +#include + +class DisplaySWWidget : public QLabel, + public DisplayBase +{ + Q_OBJECT + +public: + DisplaySWWidget(QSize resolution, QWidget *parent = 0); + ~DisplaySWWidget(); + +protected: + void paintEvent(QPaintEvent *event); + void resizeEvent(QResizeEvent *event); + + void mousePressEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); +}; + +#endif // DISPLAYSWWIDGET_H diff --git a/tizen/src/ui/displaywidget.cpp b/tizen/src/ui/displaywidget.cpp deleted file mode 100644 index 42b060c325..0000000000 --- a/tizen/src/ui/displaywidget.cpp +++ /dev/null @@ -1,190 +0,0 @@ -#include - -#include "displaywidget.h" -#include "mainwindow.h" - -uint32_t qt5_window_width = 0; -uint32_t qt5_window_height = 0; -int qt5_window_angle = 0; - -DisplayWidget::DisplayWidget(QSize resolution, QGLContext *context, QWidget *parent) : - QGLWidget(context, parent) -{ - /* initialize */ - // TODO: compare display region with resolution - this->resolution = resolution; - - MainWindow *win = ((MainWindow *)this->parent()->parent()); - rotateAngle = win->getUIState()->formAngle; - scaleFactor = win->getUIState()->getScaleFactor(); - - //setAutoFillBackground(false); - - setAutoBufferSwap(false); -} - -void DisplayWidget::initializeGL() -{ - qDebug("initialize GL"); -} - -void DisplayWidget::rotate(int angle) -{ - qDebug("display rotate : %d", angle); - - rotateAngle = angle; - - qt5_window_angle = angle; - - /* adjustSize() doesn't work */ - resize(0, 0); - - repaint(); -} - -void DisplayWidget::scale(int scale) -{ - qDebug("display scale : %d", scale); - - scaleFactor = ((qreal)scale) / 100; - - /* adjustSize() doesn't work */ - resize(0, 0); - - repaint(); -} - -void DisplayWidget::paintEvent(QPaintEvent *event) -{ - /* - * We offload rendering to separate thread, this must be - * a no-op, see: http://qt-project.org/doc/qt-5/QGLWidget.html: - * "3. Using QPainter to draw into a QGLWidget in a thread" - */ -} - -void DisplayWidget::resizeEvent(QResizeEvent *event) -{ - /* - * We offload rendering to separate thread, this must be - * a no-op, see: http://qt-project.org/doc/qt-5/QGLWidget.html: - * "3. Using QPainter to draw into a QGLWidget in a thread" - */ - - qDebug("resize display"); - - //QGLWidget::resizeEvent(event); /* initializeGL */ - - MainWindow *win = ((MainWindow *)this->parent()->parent()); - SkinForm *form = win->uiInfo->getForm(); - - const qreal sx = scaleFactor; - const qreal sy = scaleFactor; - - setGeometry(form->displayRegion.x() * sx, - form->displayRegion.y() * sy, - form->displayRegion.width() * sx, - form->displayRegion.height() * sy); - - qt5_window_width = width(); - qt5_window_height = height(); - - qt5_graphic_hw_invalidate(); -} - -void DisplayWidget::sendTouchEvent(int eventType, int clientX, int clientY) -{ - int xx = clientX / scaleFactor; - int yy = clientY / scaleFactor; - int absX = xx; - int absY = yy; - - /* TODO: x*cos(rad)-y*sin(rad) */ - switch(rotateAngle) { - case 90: /* Reverse Landscape */ - absX = yy; - absY = resolution.height() - xx; - break; - case 180: /* Reverse Portrait */ - absX = resolution.width() - xx; - absY = resolution.height() - yy; - break; - case 270: /* Landscape */ - absX = resolution.width() - yy; - absY = xx; - break; - case 0: - default: - break; - } - - do_mouse_event(0, eventType, clientX, clientY, absX, absY, 0); -} - -void DisplayWidget::mousePressEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - isDragging = true; - - sendTouchEvent(TOUCH_PRESS, event->x(), event->y()); - } -} - -void DisplayWidget::mouseReleaseEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - if (isDragging) { - isDragging = false; - } - - sendTouchEvent(TOUCH_RELEASE, event->x(), event->y()); - } -} - -void DisplayWidget::mouseMoveEvent(QMouseEvent *event) -{ - if (isDragging == true) { - int event_type = TOUCH_PRESS; - int clientX = event->x(); - int clientY = event->y(); - - if (clientX < 0) { - event_type = TOUCH_RELEASE; - clientX = 0; - isDragging = false; - } else if (clientX >= width()) { - event_type = TOUCH_RELEASE; - clientX = width() - 1; - isDragging = false; - } - - if (clientY < 0) { - event_type = TOUCH_RELEASE; - clientY = 0; - isDragging = false; - } else if (clientY >= height()) { - event_type = TOUCH_RELEASE; - clientY = height() - 1; - isDragging = false; - } - - sendTouchEvent(event_type, clientX, clientY); - } -} - -/* -void DisplayWidget::keyPressEvent(QKeyEvent *event) -{ - qDebug("key pressed : %d", event->key()); -} - -void DisplayWidget::keyReleaseEvent(QKeyEvent *event) -{ - qDebug("key released : %d", event->key()); -} -*/ - -DisplayWidget::~DisplayWidget() -{ - qDebug("destory display"); -} diff --git a/tizen/src/ui/displaywidget.h b/tizen/src/ui/displaywidget.h deleted file mode 100644 index 38bbb0712f..0000000000 --- a/tizen/src/ui/displaywidget.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef DISPLAYWIDGET_H -#define DISPLAYWIDGET_H - -#include - -extern "C" { -void qt5_graphic_hw_invalidate(void); -} - -enum { - TOUCH_PRESS = 1, - TOUCH_RELEASE = 2, -}; - -class DisplayWidget : public QGLWidget -{ - Q_OBJECT - -public: - DisplayWidget(QSize resolution, QGLContext *context, QWidget *parent = 0); - ~DisplayWidget(); - - void rotate(int angle); - void scale(int scale); - -protected: - void initializeGL(); - - void paintEvent(QPaintEvent *event); - void resizeEvent(QResizeEvent *event); - - void mousePressEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - //void keyPressEvent(QKeyEvent *event); - //void keyReleaseEvent(QKeyEvent *event); - - void sendTouchEvent(int eventType, int clientX, int clientY); - -private: - QSize resolution; - int rotateAngle; - qreal scaleFactor; - - bool isDragging; -}; - -#endif // DISPLAYWIDGET_H diff --git a/tizen/src/ui/mainwindow.cpp b/tizen/src/ui/mainwindow.cpp index 7dbcc88e5a..32203df888 100644 --- a/tizen/src/ui/mainwindow.cpp +++ b/tizen/src/ui/mainwindow.cpp @@ -2,6 +2,8 @@ #include "mainwindow.h" #include "skinform.h" +#include "displayglwidget.h" +#include "displayswwidget.h" extern "C" { int qt5_graphic_hw_display(void); @@ -23,23 +25,26 @@ void DisplaySwapper::display() * TODO: Currently qt5 skin doesn't terminate properly, * check this once proper termination is implemented. */ - context->makeCurrent(); - while (!terminating) { - if (qt5_graphic_hw_display()) { - context->swapBuffers(); + + if (context) { + context->makeCurrent(); + while (!terminating) { + if (qt5_graphic_hw_display()) { + context->swapBuffers(); + } + } + context->doneCurrent(); + } else { + while (!terminating) { + qt5_graphic_hw_display(); } } - context->doneCurrent(); } MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) : QWidget(parent) { - label = new QLabel(); - label->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - label->setAlignment(Qt::AlignCenter); - label->setFixedSize(720 / 2, 1280 / 2); - + this->label = NULL; /* initialize */ this->uiInfo = uiInfo; @@ -75,28 +80,37 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) : winLayout->addWidget(conView); #endif - QGLContext *wrapperContext = QGLContext::fromOpenGLContext(qt5GLContext); + QGLContext *context = NULL; - /* - * Qt5 bug, wrapperContext->requestedFormat() doesn't return - * originating format, it returns actual format, this may result - * in wrong OpenGL context version here. - */ + if (qt5GLContext) { + QGLContext *wrapperContext = QGLContext::fromOpenGLContext(qt5GLContext); - QGLFormat format = QGLFormat::fromSurfaceFormat(qt5GLFormat); + /* + * Qt5 bug, wrapperContext->requestedFormat() doesn't return + * originating format, it returns actual format, this may result + * in wrong OpenGL context version here. + */ - /* - * Qt5 bug, format set here doesn't always have effect, must - * set it after QGLWidget is created. - */ - QGLContext *context = new QGLContext(format); + QGLFormat format = QGLFormat::fromSurfaceFormat(qt5GLFormat); + + /* + * Qt5 bug, format set here doesn't always have effect, must + * set it after QGLWidget is created. + */ + context = new QGLContext(format); + + /* display */ + display = new DisplayGLWidget(uiInfo->resolution, context, skinView); - /* display */ - display = new DisplayWidget(uiInfo->resolution, context, skinView); + context->setFormat(format); - context->setFormat(format); + context->create(wrapperContext); + } else { + DisplaySWWidget *w = new DisplaySWWidget(uiInfo->resolution, skinView); - context->create(wrapperContext); + display = w; + label = w; + } /* popup menu */ popupMenu = new ContextMenu(this); @@ -108,8 +122,10 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) : /* swapper */ swapperThread = new QThread(this); - context->doneCurrent(); - context->moveToThread(swapperThread); + if (context) { + context->doneCurrent(); + context->moveToThread(swapperThread); + } swapper = new DisplaySwapper(context); swapper->moveToThread(swapperThread); diff --git a/tizen/src/ui/mainwindow.h b/tizen/src/ui/mainwindow.h index 281c99a277..7d8ed31b38 100644 --- a/tizen/src/ui/mainwindow.h +++ b/tizen/src/ui/mainwindow.h @@ -2,10 +2,11 @@ #define MAINWINDOW_H #include +#include #include "menu/contextmenu.h" #include "skinview.h" -#include "displaywidget.h" +#include "displaybase.h" #include "skinbezelitem.h" #include "uiinformation.h" #include "skincontrollerview.h" @@ -68,7 +69,7 @@ private: /* windowing */ ContextMenu *popupMenu; SkinView* skinView; - DisplayWidget *display; + DisplayBase *display; SkinControllerView *conView; QThread *swapperThread; DisplaySwapper *swapper;