]> git.saurik.com Git - iphone-api.git/blob - WebCore/WindowFeatures.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / WindowFeatures.h
1 /*
2 * Copyright (C) 2003, 2007 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14 * its contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29 #ifndef WindowFeatures_h
30 #define WindowFeatures_h
31
32 #include "PlatformString.h"
33 #include <wtf/HashMap.h>
34
35 namespace WebCore {
36
37 struct WindowFeatures {
38 WindowFeatures()
39 : xSet(false)
40 , ySet(false)
41 , widthSet(false)
42 , heightSet(false)
43 , menuBarVisible(true)
44 , statusBarVisible(true)
45 , toolBarVisible(true)
46 , locationBarVisible(true)
47 , scrollbarsVisible(true)
48 , resizable(true)
49 , fullscreen(false)
50 , dialog(false)
51 {
52 }
53
54 WindowFeatures(const String& features);
55
56 void setWindowFeature(const String& keyString, const String& valueString);
57
58 static bool boolFeature(const HashMap<String, String>& features, const char* key, bool defaultValue = false);
59 static float floatFeature(const HashMap<String, String>& features, const char* key, float min, float max, float defaultValue);
60
61 float x;
62 bool xSet;
63 float y;
64 bool ySet;
65 float width;
66 bool widthSet;
67 float height;
68 bool heightSet;
69
70 bool menuBarVisible;
71 bool statusBarVisible;
72 bool toolBarVisible;
73 bool locationBarVisible;
74 bool scrollbarsVisible;
75 bool resizable;
76
77 bool fullscreen;
78 bool dialog;
79 };
80
81 } // namespace WebCore
82
83 #endif // WindowFeatures_h