[Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
[WebKit-https.git] / Source / WebKit2 / UIProcess / API / qt / qwebviewportinfo.cpp
1 /*
2  * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this program; see the file COPYING.LIB.  If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  *
19  */
20
21 #include "config.h"
22 #include "QtViewportInteractionEngine.h"
23 #include "qwebviewportinfo_p.h"
24
25 #include "qquickwebview_p.h"
26 #include "qquickwebview_p_p.h"
27
28 using namespace WebKit;
29
30 QWebViewportInfo::QWebViewportInfo(QQuickWebViewPrivate* webViewPrivate, QObject* parent)
31     : QObject(parent)
32     , m_webViewPrivate(webViewPrivate)
33 {
34 }
35
36 QWebViewportInfo::~QWebViewportInfo()
37 {
38 }
39
40 QSize QWebViewportInfo::contentsSize() const
41 {
42     return QSize(m_webViewPrivate->pageView->contentsSize().toSize());
43 }
44
45 QVariant QWebViewportInfo::currentScale() const
46 {
47     if (QtViewportInteractionEngine* interactionEngine = m_webViewPrivate->viewportInteractionEngine())
48         return interactionEngine->currentCSSScale();
49
50     return m_webViewPrivate->attributes.initialScale;
51 }
52
53 QVariant QWebViewportInfo::devicePixelRatio() const
54 {
55     return m_webViewPrivate->attributes.devicePixelRatio;
56 }
57
58 QVariant QWebViewportInfo::initialScale() const
59 {
60     return m_webViewPrivate->attributes.initialScale;
61 }
62
63 QVariant QWebViewportInfo::minimumScale() const
64 {
65     return m_webViewPrivate->attributes.minimumScale;
66 }
67
68 QVariant QWebViewportInfo::maximumScale() const
69 {
70     return m_webViewPrivate->attributes.maximumScale;
71 }
72
73 QVariant QWebViewportInfo::isScalable() const
74 {
75     return !!m_webViewPrivate->attributes.userScalable;
76 }
77
78 QVariant QWebViewportInfo::layoutSize() const
79 {
80     return QSize(m_webViewPrivate->attributes.layoutSize);
81 }
82
83 void QWebViewportInfo::didUpdateContentsSize()
84 {
85     emit contentsSizeUpdated();
86 }
87
88 void QWebViewportInfo::didUpdateCurrentScale()
89 {
90     emit currentScaleUpdated();
91 }
92
93 void QWebViewportInfo::didUpdateViewportConstraints()
94 {
95     emit viewportConstraintsUpdated();
96     emit currentScaleUpdated();
97 }