Index: ui/base/cursor/cursor_data.cc |
diff --git a/ui/base/cursor/cursor_data.cc b/ui/base/cursor/cursor_data.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..20a6896f76a23bb28df107ed20fa81331493eea9 |
--- /dev/null |
+++ b/ui/base/cursor/cursor_data.cc |
@@ -0,0 +1,45 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "ui/base/cursor/cursor_data.h" |
+ |
+#include "third_party/skia/include/core/SkBitmap.h" |
+#include "ui/base/cursor/cursor.h" |
+ |
+namespace ui { |
+ |
+CursorData::CursorData() : cursor_type_(0), scale_factor_(0.0f) {} |
+ |
+CursorData::CursorData(int type) : cursor_type_(type), scale_factor_(0.0f) {} |
+ |
+CursorData::CursorData(const gfx::Point& hotspot_point, |
+ const std::vector<SkBitmap>& cursor_frames, |
+ float scale_factor, |
+ const base::TimeDelta& frame_delay) |
+ : cursor_type_(kCursorCustom), |
+ frame_delay_(frame_delay), |
+ scale_factor_(scale_factor), |
+ hotspot_(hotspot_point), |
+ cursor_frames_(cursor_frames) { |
+ for (SkBitmap& bitmap : cursor_frames_) |
+ generator_ids_.push_back(bitmap.getGenerationID()); |
+} |
+ |
+CursorData::CursorData(const CursorData& cursor) = default; |
+ |
+CursorData::~CursorData() {} |
+ |
+CursorData& CursorData::operator=(const CursorData& cursor) = default; |
+ |
+bool CursorData::IsType(int cursor_type) const { |
+ return cursor_type_ == cursor_type; |
+} |
+ |
+bool CursorData::IsSameAs(const CursorData& rhs) const { |
+ return cursor_type_ == rhs.cursor_type_ && frame_delay_ == rhs.frame_delay_ && |
+ hotspot_ == rhs.hotspot_ && scale_factor_ == rhs.scale_factor_ && |
+ generator_ids_ == rhs.generator_ids_; |
+} |
+ |
+} // namespace ui |