Home | History | Annotate | Download | only in win
      1 /*
      2  * Copyright (C) 2006, 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  * 1. Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  * 2. Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #include "config.h"
     27 #include "Widget.h"
     28 
     29 #include "Chrome.h"
     30 #include "Cursor.h"
     31 #include "Document.h"
     32 #include "Element.h"
     33 #include "FrameView.h"
     34 #include "FrameWin.h"
     35 #include "GraphicsContext.h"
     36 #include "IntRect.h"
     37 #include "Page.h"
     38 
     39 #include <winsock2.h>
     40 #include <windows.h>
     41 
     42 namespace WebCore {
     43 
     44 Widget::Widget(PlatformWidget widget)
     45 {
     46     init(widget);
     47 }
     48 
     49 Widget::~Widget()
     50 {
     51     ASSERT(!parent());
     52 }
     53 
     54 void Widget::show()
     55 {
     56 }
     57 
     58 void Widget::hide()
     59 {
     60 }
     61 
     62 HCURSOR lastSetCursor = 0;
     63 bool ignoreNextSetCursor = false;
     64 
     65 void Widget::setCursor(const Cursor& cursor)
     66 {
     67     // This is set by PluginViewWin so it can ignore the setCursor call made by
     68     // EventHandler.cpp.
     69     if (ignoreNextSetCursor) {
     70         ignoreNextSetCursor = false;
     71         return;
     72     }
     73 
     74     if (!cursor.impl()->nativeCursor())
     75         return;
     76 
     77     lastSetCursor = cursor.impl()->nativeCursor();
     78 
     79     ScrollView* view = root();
     80     if (!view || !view->isFrameView()) {
     81         SetCursor(lastSetCursor);
     82         return;
     83     }
     84 
     85     Frame* frame = static_cast<FrameView*>(view)->frame();
     86     if (!frame) {
     87         SetCursor(lastSetCursor);
     88         return;
     89     }
     90 
     91     Page* page = frame->page();
     92     if (!page) {
     93         SetCursor(lastSetCursor);
     94         return;
     95     }
     96 
     97     page->chrome()->setCursor(lastSetCursor);
     98 }
     99 
    100 void Widget::paint(GraphicsContext*, const IntRect&)
    101 {
    102 }
    103 
    104 void Widget::setFocus()
    105 {
    106 }
    107 
    108 void Widget::setIsSelected(bool)
    109 {
    110 }
    111 
    112 IntRect Widget::frameRect() const
    113 {
    114     return m_frame;
    115 }
    116 
    117 void Widget::setFrameRect(const IntRect& rect)
    118 {
    119     m_frame = rect;
    120 }
    121 
    122 } // namespace WebCore
    123