1 // Copyright 2013 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 "ui/base/cursor/cursor_loader_x11.h" 6 7 #undef None 8 #undef Bool 9 10 #include "base/logging.h" 11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "third_party/skia/include/core/SkBitmap.h" 13 #include "ui/base/cursor/cursor_util.h" 14 15 namespace ui { 16 17 TEST(CursorLoaderX11Test, ScaleAndRotate) { 18 SkBitmap bitmap; 19 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 5); 20 bitmap.allocPixels(); 21 bitmap.eraseColor(SK_ColorBLACK); 22 23 gfx::Point hotpoint(3,4); 24 25 ScaleAndRotateCursorBitmapAndHotpoint(1.0f, 26 gfx::Display::ROTATE_0, 27 &bitmap, 28 &hotpoint); 29 EXPECT_EQ(10, bitmap.width()); 30 EXPECT_EQ(5, bitmap.height()); 31 EXPECT_EQ("3,4", hotpoint.ToString()); 32 33 ScaleAndRotateCursorBitmapAndHotpoint(1.0f, 34 gfx::Display::ROTATE_90, 35 &bitmap, 36 &hotpoint); 37 38 EXPECT_EQ(5, bitmap.width()); 39 EXPECT_EQ(10, bitmap.height()); 40 EXPECT_EQ("1,3", hotpoint.ToString()); 41 42 ScaleAndRotateCursorBitmapAndHotpoint(2.0f, 43 gfx::Display::ROTATE_180, 44 &bitmap, 45 &hotpoint); 46 EXPECT_EQ(10, bitmap.width()); 47 EXPECT_EQ(20, bitmap.height()); 48 EXPECT_EQ("8,14", hotpoint.ToString()); 49 50 ScaleAndRotateCursorBitmapAndHotpoint(1.0f, 51 gfx::Display::ROTATE_270, 52 &bitmap, 53 &hotpoint); 54 EXPECT_EQ(20, bitmap.width()); 55 EXPECT_EQ(10, bitmap.height()); 56 EXPECT_EQ("14,2", hotpoint.ToString()); 57 } 58 59 } // namespace ui 60