e49c25a5800826e9191455735deea56d91d803e2
[WebKit-https.git] / Source / WebKit / blackberry / Api / WebViewportArguments.h
1 /*
2  * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser 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 library 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  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18
19 #ifndef WebViewportArguments_h
20 #define WebViewportArguments_h
21
22 #include "BlackBerryGlobal.h"
23
24 // Not for public API purpose.
25 namespace WebCore {
26 class ViewportArguments;
27 }
28
29 namespace BlackBerry {
30 namespace WebKit {
31
32 class WebPage;
33
34 /**
35  * A class designed to expose a meta viewport fallback.
36  *
37  * This class simply wraps a WebCore::ViewportArguments. It can be
38  * instantiated by the WebPageClient and supplied to a WebPage to
39  * provide a userViewportArguments object that can be used whenever
40  * there is no meta viewport tag provided in any loaded html.
41  */
42 class BLACKBERRY_EXPORT WebViewportArguments {
43 public:
44     WebViewportArguments();
45     ~WebViewportArguments();
46
47     // This matches the enum found in WebCore::ViewportArguments
48     enum {
49         ValueAuto = -1,
50         ValueDesktopWidth = -2,
51         ValueDeviceWidth = -3,
52         ValueDeviceHeight = -4,
53     };
54
55     float initialScale() const;
56     void setInitialScale(float);
57
58     float minimumScale() const;
59     void setMinimumScale(float);
60
61     float maximumScale() const;
62     void setMaximumScale(float);
63
64     float width() const;
65     void setWidth(float);
66
67     float height() const;
68     void setHeight(float);
69
70     float devicePixelRatio() const;
71     void setDevicePixelRatio(float);
72
73     float userScalable() const;
74     void setUserScalable(float);
75
76     bool operator==(const WebViewportArguments &other);
77     bool operator!=(const WebViewportArguments &other);
78
79 private:
80     WebViewportArguments(const WebViewportArguments&);
81     WebCore::ViewportArguments* d;
82
83 private:
84     friend class WebPage;
85 };
86
87 } // namespace WebKit
88 } // namespace BlackBerry
89
90 #endif // WebViewportArguments_h