12385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 22385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// Use of this source code is governed by a BSD-style license that can be 32385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// found in the LICENSE file. 42385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 52385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#include "ui/base/cursor/cursor_loader_x11.h" 62385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 72385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#undef None 82385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#undef Bool 92385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 102385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#include "base/logging.h" 112385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#include "testing/gtest/include/gtest/gtest.h" 122385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#include "third_party/skia/include/core/SkBitmap.h" 132385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 142385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdochnamespace ui { 152385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 162385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen MurdochTEST(CursorLoaderX11Test, ScaleAndRotate) { 172385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch SkBitmap bitmap; 182385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 5); 192385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch bitmap.allocPixels(); 202385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 212385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch gfx::Point hotpoint(3,4); 222385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 232385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch ScaleAndRotateCursorBitmapAndHotpoint(1.0f, 242385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch gfx::Display::ROTATE_0, 252385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &bitmap, 262385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &hotpoint); 272385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(10, bitmap.width()); 282385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(5, bitmap.height()); 292385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ("3,4", hotpoint.ToString()); 302385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 312385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch ScaleAndRotateCursorBitmapAndHotpoint(1.0f, 322385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch gfx::Display::ROTATE_90, 332385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &bitmap, 342385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &hotpoint); 352385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 362385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(5, bitmap.width()); 372385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(10, bitmap.height()); 382385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ("1,3", hotpoint.ToString()); 392385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 402385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch ScaleAndRotateCursorBitmapAndHotpoint(2.0f, 412385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch gfx::Display::ROTATE_180, 422385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &bitmap, 432385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &hotpoint); 442385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(10, bitmap.width()); 452385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(20, bitmap.height()); 462385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ("8,14", hotpoint.ToString()); 472385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 482385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch ScaleAndRotateCursorBitmapAndHotpoint(1.0f, 492385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch gfx::Display::ROTATE_270, 502385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &bitmap, 512385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch &hotpoint); 522385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(20, bitmap.width()); 532385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ(10, bitmap.height()); 542385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch EXPECT_EQ("14,2", hotpoint.ToString()); 552385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch} 562385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch 572385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch} // namespace ui 58