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 "content/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 12namespace content { 13 14ui::PlatformCursor WebCursor::GetPlatformCursor() { 15 if (!IsCustom()) 16 return LoadCursor(NULL, IDC_ARROW); 17 18 if (custom_cursor_) 19 return custom_cursor_; 20 21 custom_cursor_ = 22 IconUtil::CreateCursorFromDIB( 23 custom_size_, 24 hotspot_, 25 !custom_data_.empty() ? &custom_data_[0] : NULL, 26 custom_data_.size()); 27 return custom_cursor_; 28} 29 30void WebCursor::SetDisplayInfo(const gfx::Display& display) { 31 // TODO(winguru): Add support for scaling the cursor. 32} 33 34void WebCursor::InitPlatformData() { 35 custom_cursor_ = NULL; 36} 37 38bool WebCursor::SerializePlatformData(Pickle* pickle) const { 39 return true; 40} 41 42bool WebCursor::DeserializePlatformData(PickleIterator* iter) { 43 return true; 44} 45 46bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const { 47 return true; 48} 49 50void WebCursor::CleanupPlatformData() { 51 if (custom_cursor_) { 52 DestroyIcon(custom_cursor_); 53 custom_cursor_ = NULL; 54 } 55} 56 57void WebCursor::CopyPlatformData(const WebCursor& other) { 58} 59 60} // namespace content 61