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 12 const 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 28 void WebCursor::SetDisplayInfo(const gfx::Display& display) { 29 // TODO(winguru): Add support for scaling the cursor. 30 } 31 32 void WebCursor::InitPlatformData() { 33 custom_cursor_ = NULL; 34 } 35 36 bool WebCursor::SerializePlatformData(Pickle* pickle) const { 37 return true; 38 } 39 40 bool WebCursor::DeserializePlatformData(PickleIterator* iter) { 41 return true; 42 } 43 44 bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const { 45 return true; 46 } 47 48 void WebCursor::CleanupPlatformData() { 49 if (custom_cursor_) { 50 DestroyIcon(custom_cursor_); 51 custom_cursor_ = NULL; 52 } 53 } 54 55 void WebCursor::CopyPlatformData(const WebCursor& other) { 56 } 57