⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cursorqt.cpp

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 CPP
字号:
/* * Copyright (C) 2006 Dirk Mueller <mueller@kde.org> * Copyright (C) 2006 George Staikos <staikos@kde.org> * Copyright (C) 2006 Charles Samuels <charles@kde.org> * Copyright (C) 2008 Holger Hans Peter Freyther * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  */#include "config.h"#include "Cursor.h"#include "Image.h"#include "IntPoint.h"#include "NotImplemented.h"#include <stdio.h>#include <stdlib.h>#undef CopyCursornamespace WebCore {Cursor::Cursor(PlatformCursor p)    : m_impl(p){}Cursor::Cursor(const Cursor& other)    : m_impl(other.m_impl){}Cursor::~Cursor(){}Cursor::Cursor(Image* image, const IntPoint& hotspot)#ifndef QT_NO_CURSOR    : m_impl(*(image->nativeImageForCurrentFrame()), hotspot.x(), hotspot.y())#endif{}Cursor& Cursor::operator=(const Cursor& other){    m_impl = other.m_impl;    return *this;}namespace {// FIXME: static deleterclass Cursors {protected:    Cursors()#ifndef QT_NO_CURSOR        : CrossCursor(Qt::CrossCursor)        , MoveCursor(Qt::SizeAllCursor)        , PointerCursor(Qt::ArrowCursor)        , PointingHandCursor(Qt::PointingHandCursor)        , IBeamCursor(Qt::IBeamCursor)        , WaitCursor(Qt::WaitCursor)        , WhatsThisCursor(Qt::WhatsThisCursor)        , SizeHorCursor(Qt::SizeHorCursor)        , SizeVerCursor(Qt::SizeVerCursor)        , SizeFDiagCursor(Qt::SizeFDiagCursor)        , SizeBDiagCursor(Qt::SizeBDiagCursor)        , SplitHCursor(Qt::SplitHCursor)        , SplitVCursor(Qt::SplitVCursor)        , NoDropCursor(Qt::ForbiddenCursor)        , BlankCursor(Qt::BlankCursor)        , ZoomInCursor(QPixmap(QLatin1String(":/webkit/resources/zoomInCursor.png")))        , ZoomOutCursor(QPixmap(QLatin1String(":/webkit/resources/zoomOutCursor.png")))        , VerticalTextCursor(QPixmap(QLatin1String(":/webkit/resources/verticalTextCursor.png")))        , CellCursor(QPixmap(QLatin1String(":/webkit/resources/cellCursor.png")))        , ContextMenuCursor(QPixmap(QLatin1String(":/webkit/resources/contextMenuCursor.png")))        , CopyCursor(QPixmap(QLatin1String(":/webkit/resources/copyCursor.png")))        , ProgressCursor(QPixmap(QLatin1String(":/webkit/resources/progressCursor.png")))        , AliasCursor(QPixmap(QLatin1String(":/webkit/resources/aliasCursor.png")))#endif    {    }    ~Cursors()    {    }public:    static Cursors* self();    static Cursors* s_self;    Cursor CrossCursor;    Cursor MoveCursor;    Cursor PointerCursor;    Cursor PointingHandCursor;    Cursor IBeamCursor;    Cursor WaitCursor;    Cursor WhatsThisCursor;    Cursor SizeHorCursor;    Cursor SizeVerCursor;    Cursor SizeFDiagCursor;    Cursor SizeBDiagCursor;    Cursor SplitHCursor;    Cursor SplitVCursor;    Cursor NoDropCursor;    Cursor BlankCursor;    Cursor ZoomInCursor;    Cursor ZoomOutCursor;    Cursor VerticalTextCursor;    Cursor CellCursor;    Cursor ContextMenuCursor;    Cursor CopyCursor;    Cursor ProgressCursor;    Cursor AliasCursor;};Cursors* Cursors::s_self = 0;Cursors* Cursors::self(){    if (!s_self)        s_self = new Cursors();    return s_self;}}const Cursor& pointerCursor(){    return Cursors::self()->PointerCursor;}const Cursor& moveCursor(){    return Cursors::self()->MoveCursor;}const Cursor& crossCursor(){    return Cursors::self()->CrossCursor;}const Cursor& handCursor(){    return Cursors::self()->PointingHandCursor;}const Cursor& iBeamCursor(){    return Cursors::self()->IBeamCursor;}const Cursor& waitCursor(){    return Cursors::self()->WaitCursor;}const Cursor& helpCursor(){    return Cursors::self()->WhatsThisCursor;}const Cursor& eastResizeCursor(){    return Cursors::self()->SizeHorCursor;}const Cursor& northResizeCursor(){    return Cursors::self()->SizeVerCursor;}const Cursor& northEastResizeCursor(){    return Cursors::self()->SizeBDiagCursor;}const Cursor& northWestResizeCursor(){    return Cursors::self()->SizeFDiagCursor;}const Cursor& southResizeCursor(){    return Cursors::self()->SizeVerCursor;}const Cursor& southEastResizeCursor(){    return Cursors::self()->SizeFDiagCursor;}const Cursor& southWestResizeCursor(){    return Cursors::self()->SizeBDiagCursor;}const Cursor& westResizeCursor(){    return Cursors::self()->SizeHorCursor;}const Cursor& northSouthResizeCursor(){    return Cursors::self()->SizeVerCursor;}const Cursor& eastWestResizeCursor(){    return Cursors::self()->SizeHorCursor;}const Cursor& northEastSouthWestResizeCursor(){    return Cursors::self()->SizeBDiagCursor;}const Cursor& northWestSouthEastResizeCursor(){    return Cursors::self()->SizeFDiagCursor;}const Cursor& columnResizeCursor(){    return Cursors::self()->SplitHCursor;}const Cursor& rowResizeCursor(){    return Cursors::self()->SplitVCursor;}    const Cursor& middlePanningCursor(){    return moveCursor();}const Cursor& eastPanningCursor(){    return eastResizeCursor();}const Cursor& northPanningCursor(){    return northResizeCursor();}const Cursor& northEastPanningCursor(){    return northEastResizeCursor();}const Cursor& northWestPanningCursor(){    return northWestResizeCursor();}const Cursor& southPanningCursor(){    return southResizeCursor();}const Cursor& southEastPanningCursor(){    return southEastResizeCursor();}const Cursor& southWestPanningCursor(){    return southWestResizeCursor();}const Cursor& westPanningCursor(){    return westResizeCursor();}    const Cursor& verticalTextCursor(){    return Cursors::self()->VerticalTextCursor;}const Cursor& cellCursor(){    return Cursors::self()->CellCursor;}const Cursor& contextMenuCursor(){    return Cursors::self()->ContextMenuCursor;}const Cursor& noDropCursor(){    return Cursors::self()->NoDropCursor;}const Cursor& copyCursor(){    return Cursors::self()->CopyCursor;}const Cursor& progressCursor(){    return Cursors::self()->ProgressCursor;}const Cursor& aliasCursor(){    return Cursors::self()->AliasCursor;}const Cursor& noneCursor(){    return Cursors::self()->BlankCursor;}const Cursor& notAllowedCursor(){   return Cursors::self()->NoDropCursor;}const Cursor& zoomInCursor(){    return Cursors::self()->ZoomInCursor;}const Cursor& zoomOutCursor(){    return Cursors::self()->ZoomOutCursor;}const Cursor& grabCursor(){    notImplemented();    return Cursors::self()->PointerCursor;}const Cursor& grabbingCursor(){    notImplemented();    return Cursors::self()->PointerCursor;}}// vim: ts=4 sw=4 et

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -