1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "webkit/common/cursors/webcursor.h" 6 7 #include <windows.h> 8 9 #include "third_party/WebKit/public/platform/WebCursorInfo.h" 10 #include "ui/gfx/icon_util.h" 11 GetPlatformCursor()12const ui::PlatformCursor WebCursor::GetPlatformCursor() { 13 if (!IsCustom()) 14 return LoadCursor(NULL, IDC_ARROW); 15 16 if (custom_cursor_) 17 return custom_cursor_; 18 19 custom_cursor_ = 20 IconUtil::CreateCursorFromDIB( 21 custom_size_, 22 hotspot_, 23 !custom_data_.empty() ? &custom_data_[0] : NULL, 24 custom_data_.size()); 25 return custom_cursor_; 26 } 27 SetDisplayInfo(const gfx::Display & display)28void WebCursor::SetDisplayInfo(const gfx::Display& display) { 29 // TODO(winguru): Add support for scaling the cursor. 30 } 31 InitPlatformData()32void WebCursor::InitPlatformData() { 33 custom_cursor_ = NULL; 34 } 35 SerializePlatformData(Pickle * pickle) const36bool WebCursor::SerializePlatformData(Pickle* pickle) const { 37 return true; 38 } 39 DeserializePlatformData(PickleIterator * iter)40bool WebCursor::DeserializePlatformData(PickleIterator* iter) { 41 return true; 42 } 43 IsPlatformDataEqual(const WebCursor & other) const44bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const { 45 return true; 46 } 47 CleanupPlatformData()48void WebCursor::CleanupPlatformData() { 49 if (custom_cursor_) { 50 DestroyIcon(custom_cursor_); 51 custom_cursor_ = NULL; 52 } 53 } 54 CopyPlatformData(const WebCursor & other)55void WebCursor::CopyPlatformData(const WebCursor& other) { 56 } 57