1/* 2 * Copyright (c) 2008, 2009, Google 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 are 6 * met: 7 * 8 * * Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * * Redistributions in binary form must reproduce the above 11 * copyright notice, this list of conditions and the following disclaimer 12 * in the documentation and/or other materials provided with the 13 * distribution. 14 * * Neither the name of Google Inc. nor the names of its 15 * contributors may be used to endorse or promote products derived from 16 * this software without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31#include "config.h" 32#include "Cursor.h" 33 34namespace WebCore { 35 36Cursor::Cursor(const Cursor& other) 37 : m_impl(other.m_impl) 38{ 39} 40 41Cursor::Cursor(Image* image, const IntPoint& hotSpot) 42 : m_impl(image, hotSpot) 43{ 44} 45 46Cursor::~Cursor() 47{ 48} 49 50Cursor& Cursor::operator=(const Cursor& other) 51{ 52 m_impl = other.m_impl; 53 return *this; 54} 55 56Cursor::Cursor(PlatformCursor c) 57 : m_impl(c) 58{ 59} 60 61const Cursor& pointerCursor() 62{ 63 static const Cursor c(PlatformCursor::TypePointer); 64 return c; 65} 66 67const Cursor& crossCursor() 68{ 69 static const Cursor c(PlatformCursor::TypeCross); 70 return c; 71} 72 73const Cursor& handCursor() 74{ 75 static const Cursor c(PlatformCursor::TypeHand); 76 return c; 77} 78 79const Cursor& iBeamCursor() 80{ 81 static const Cursor c(PlatformCursor::TypeIBeam); 82 return c; 83} 84 85const Cursor& waitCursor() 86{ 87 static const Cursor c(PlatformCursor::TypeWait); 88 return c; 89} 90 91const Cursor& helpCursor() 92{ 93 static const Cursor c(PlatformCursor::TypeHelp); 94 return c; 95} 96 97const Cursor& eastResizeCursor() 98{ 99 static const Cursor c(PlatformCursor::TypeEastResize); 100 return c; 101} 102 103const Cursor& northResizeCursor() 104{ 105 static const Cursor c(PlatformCursor::TypeNorthResize); 106 return c; 107} 108 109const Cursor& northEastResizeCursor() 110{ 111 static const Cursor c(PlatformCursor::TypeNorthEastResize); 112 return c; 113} 114 115const Cursor& northWestResizeCursor() 116{ 117 static const Cursor c(PlatformCursor::TypeNorthWestResize); 118 return c; 119} 120 121const Cursor& southResizeCursor() 122{ 123 static const Cursor c(PlatformCursor::TypeSouthResize); 124 return c; 125} 126 127const Cursor& southEastResizeCursor() 128{ 129 static const Cursor c(PlatformCursor::TypeSouthEastResize); 130 return c; 131} 132 133const Cursor& southWestResizeCursor() 134{ 135 static const Cursor c(PlatformCursor::TypeSouthWestResize); 136 return c; 137} 138 139const Cursor& westResizeCursor() 140{ 141 static const Cursor c(PlatformCursor::TypeWestResize); 142 return c; 143} 144 145const Cursor& northSouthResizeCursor() 146{ 147 static const Cursor c(PlatformCursor::TypeNorthSouthResize); 148 return c; 149} 150 151const Cursor& eastWestResizeCursor() 152{ 153 static const Cursor c(PlatformCursor::TypeEastWestResize); 154 return c; 155} 156 157const Cursor& northEastSouthWestResizeCursor() 158{ 159 static const Cursor c(PlatformCursor::TypeNorthEastSouthWestResize); 160 return c; 161} 162 163const Cursor& northWestSouthEastResizeCursor() 164{ 165 static const Cursor c(PlatformCursor::TypeNorthWestSouthEastResize); 166 return c; 167} 168 169const Cursor& columnResizeCursor() 170{ 171 static const Cursor c(PlatformCursor::TypeColumnResize); 172 return c; 173} 174 175const Cursor& rowResizeCursor() 176{ 177 static const Cursor c(PlatformCursor::TypeRowResize); 178 return c; 179} 180 181const Cursor& middlePanningCursor() 182{ 183 static const Cursor c(PlatformCursor::TypeMiddlePanning); 184 return c; 185} 186 187const Cursor& eastPanningCursor() 188{ 189 static const Cursor c(PlatformCursor::TypeEastPanning); 190 return c; 191} 192 193const Cursor& northPanningCursor() 194{ 195 static const Cursor c(PlatformCursor::TypeNorthPanning); 196 return c; 197} 198 199const Cursor& northEastPanningCursor() 200{ 201 static const Cursor c(PlatformCursor::TypeNorthEastPanning); 202 return c; 203} 204 205const Cursor& northWestPanningCursor() 206{ 207 static const Cursor c(PlatformCursor::TypeNorthWestPanning); 208 return c; 209} 210 211const Cursor& southPanningCursor() 212{ 213 static const Cursor c(PlatformCursor::TypeSouthPanning); 214 return c; 215} 216 217const Cursor& southEastPanningCursor() 218{ 219 static const Cursor c(PlatformCursor::TypeSouthEastPanning); 220 return c; 221} 222 223const Cursor& southWestPanningCursor() 224{ 225 static const Cursor c(PlatformCursor::TypeSouthWestPanning); 226 return c; 227} 228 229const Cursor& westPanningCursor() 230{ 231 static const Cursor c(PlatformCursor::TypeWestPanning); 232 return c; 233} 234 235const Cursor& moveCursor() 236{ 237 static const Cursor c(PlatformCursor::TypeMove); 238 return c; 239} 240 241const Cursor& verticalTextCursor() 242{ 243 static const Cursor c(PlatformCursor::TypeVerticalText); 244 return c; 245} 246 247const Cursor& cellCursor() 248{ 249 static const Cursor c(PlatformCursor::TypeCell); 250 return c; 251} 252 253const Cursor& contextMenuCursor() 254{ 255 static const Cursor c(PlatformCursor::TypeContextMenu); 256 return c; 257} 258 259const Cursor& aliasCursor() 260{ 261 static const Cursor c(PlatformCursor::TypeAlias); 262 return c; 263} 264 265const Cursor& progressCursor() 266{ 267 static const Cursor c(PlatformCursor::TypeProgress); 268 return c; 269} 270 271const Cursor& noDropCursor() 272{ 273 static const Cursor c(PlatformCursor::TypeNoDrop); 274 return c; 275} 276 277const Cursor& copyCursor() 278{ 279 static const Cursor c(PlatformCursor::TypeCopy); 280 return c; 281} 282 283const Cursor& noneCursor() 284{ 285 static const Cursor c(PlatformCursor::TypeNone); 286 return c; 287} 288 289const Cursor& notAllowedCursor() 290{ 291 static const Cursor c(PlatformCursor::TypeNotAllowed); 292 return c; 293} 294 295const Cursor& zoomInCursor() 296{ 297 static const Cursor c(PlatformCursor::TypeZoomIn); 298 return c; 299} 300 301const Cursor& zoomOutCursor() 302{ 303 static const Cursor c(PlatformCursor::TypeZoomOut); 304 return c; 305} 306 307const Cursor& grabCursor() 308{ 309 return pointerCursor(); 310} 311 312const Cursor& grabbingCursor() 313{ 314 return pointerCursor(); 315} 316 317} // namespace WebCore 318