• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 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  
30  #include "config.h"
31  #include "Screen.h"
32  
33  #include "FloatRect.h"
34  #include "Frame.h"
35  #include "FrameView.h"
36  #include "PlatformScreen.h"
37  #include "Widget.h"
38  
39  namespace WebCore {
40  
Screen(Frame * frame)41  Screen::Screen(Frame* frame)
42      : m_frame(frame)
43  {
44  }
45  
frame() const46  Frame* Screen::frame() const
47  {
48      return m_frame;
49  }
50  
disconnectFrame()51  void Screen::disconnectFrame()
52  {
53      m_frame = 0;
54  }
55  
height() const56  unsigned Screen::height() const
57  {
58      if (!m_frame)
59          return 0;
60      return static_cast<unsigned>(screenRect(m_frame->view()).height());
61  }
62  
width() const63  unsigned Screen::width() const
64  {
65      if (!m_frame)
66          return 0;
67      return static_cast<unsigned>(screenRect(m_frame->view()).width());
68  }
69  
colorDepth() const70  unsigned Screen::colorDepth() const
71  {
72      if (!m_frame)
73          return 0;
74      return static_cast<unsigned>(screenDepth(m_frame->view()));
75  }
76  
pixelDepth() const77  unsigned Screen::pixelDepth() const
78  {
79      if (!m_frame)
80          return 0;
81      return static_cast<unsigned>(screenDepth(m_frame->view()));
82  }
83  
availLeft() const84  int Screen::availLeft() const
85  {
86      if (!m_frame)
87          return 0;
88      return static_cast<int>(screenAvailableRect(m_frame->view()).x());
89  }
90  
availTop() const91  int Screen::availTop() const
92  {
93      if (!m_frame)
94          return 0;
95      return static_cast<int>(screenAvailableRect(m_frame->view()).y());
96  }
97  
availHeight() const98  unsigned Screen::availHeight() const
99  {
100      if (!m_frame)
101          return 0;
102      return static_cast<unsigned>(screenAvailableRect(m_frame->view()).height());
103  }
104  
availWidth() const105  unsigned Screen::availWidth() const
106  {
107      if (!m_frame)
108          return 0;
109      return static_cast<unsigned>(screenAvailableRect(m_frame->view()).width());
110  }
111  
112  } // namespace WebCore
113