| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 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 "cc/output/filter_operations.h" | 
|  | 6 #include "testing/gtest/include/gtest/gtest.h" | 
|  | 7 #include "ui/gfx/point.h" | 
|  | 8 | 
|  | 9 namespace cc { | 
|  | 10 namespace { | 
|  | 11 | 
|  | 12 TEST(FilterOperationsTest, GetOutsetsBlur) { | 
|  | 13   FilterOperations ops; | 
|  | 14   ops.Append(FilterOperation::CreateBlurFilter(20)); | 
|  | 15   int top, right, bottom, left; | 
|  | 16   top = right = bottom = left = 0; | 
|  | 17   ops.GetOutsets(&top, &right, &bottom, &left); | 
|  | 18   EXPECT_EQ(57, top); | 
|  | 19   EXPECT_EQ(57, right); | 
|  | 20   EXPECT_EQ(57, bottom); | 
|  | 21   EXPECT_EQ(57, left); | 
|  | 22 } | 
|  | 23 | 
|  | 24 TEST(FilterOperationsTest, GetOutsetsDropShadow) { | 
|  | 25   FilterOperations ops; | 
|  | 26   ops.Append(FilterOperation::CreateDropShadowFilter(gfx::Point(3, 8), 20, 0)); | 
|  | 27   int top, right, bottom, left; | 
|  | 28   top = right = bottom = left = 0; | 
|  | 29   ops.GetOutsets(&top, &right, &bottom, &left); | 
|  | 30   EXPECT_EQ(49, top); | 
|  | 31   EXPECT_EQ(60, right); | 
|  | 32   EXPECT_EQ(65, bottom); | 
|  | 33   EXPECT_EQ(54, left); | 
|  | 34 } | 
|  | 35 | 
|  | 36 #define SAVE_RESTORE_AMOUNT(Type, a)                               \ | 
|  | 37   {                                                                \ | 
|  | 38     FilterOperation op = FilterOperation::Create##Type##Filter(a); \ | 
|  | 39     EXPECT_EQ(FilterOperation::FilterType##Type, op.type());       \ | 
|  | 40     EXPECT_EQ(a, op.amount());                                     \ | 
|  | 41                                                                    \ | 
|  | 42     FilterOperation op2 = FilterOperation::CreateEmptyFilter();    \ | 
|  | 43     op2.set_type(FilterOperation::FilterType##Type);               \ | 
|  | 44                                                                    \ | 
|  | 45     EXPECT_NE(a, op2.amount());                                    \ | 
|  | 46                                                                    \ | 
|  | 47     op2.set_amount(a);                                             \ | 
|  | 48                                                                    \ | 
|  | 49     EXPECT_EQ(FilterOperation::FilterType##Type, op2.type());      \ | 
|  | 50     EXPECT_EQ(a, op2.amount());                                    \ | 
|  | 51   } | 
|  | 52 | 
|  | 53 #define SAVE_RESTORE_OFFSET_AMOUNT_COLOR(Type, a, b, c)                  \ | 
|  | 54   {                                                                      \ | 
|  | 55     FilterOperation op = FilterOperation::Create##Type##Filter(a, b, c); \ | 
|  | 56     EXPECT_EQ(FilterOperation::FilterType##Type, op.type());             \ | 
|  | 57     EXPECT_EQ(a, op.drop_shadow_offset());                               \ | 
|  | 58     EXPECT_EQ(b, op.amount());                                           \ | 
|  | 59     EXPECT_EQ(c, op.drop_shadow_color());                                \ | 
|  | 60                                                                          \ | 
|  | 61     FilterOperation op2 = FilterOperation::CreateEmptyFilter();          \ | 
|  | 62     op2.set_type(FilterOperation::FilterType##Type);                     \ | 
|  | 63                                                                          \ | 
|  | 64     EXPECT_NE(a, op2.drop_shadow_offset());                              \ | 
|  | 65     EXPECT_NE(b, op2.amount());                                          \ | 
|  | 66     EXPECT_NE(c, op2.drop_shadow_color());                               \ | 
|  | 67                                                                          \ | 
|  | 68     op2.set_drop_shadow_offset(a);                                       \ | 
|  | 69     op2.set_amount(b);                                                   \ | 
|  | 70     op2.set_drop_shadow_color(c);                                        \ | 
|  | 71                                                                          \ | 
|  | 72     EXPECT_EQ(FilterOperation::FilterType##Type, op2.type());            \ | 
|  | 73     EXPECT_EQ(a, op2.drop_shadow_offset());                              \ | 
|  | 74     EXPECT_EQ(b, op2.amount());                                          \ | 
|  | 75     EXPECT_EQ(c, op2.drop_shadow_color());                               \ | 
|  | 76   } | 
|  | 77 | 
|  | 78 #define SAVE_RESTORE_MATRIX(Type, a)                               \ | 
|  | 79   {                                                                \ | 
|  | 80     FilterOperation op = FilterOperation::Create##Type##Filter(a); \ | 
|  | 81     EXPECT_EQ(FilterOperation::FilterType##Type, op.type());       \ | 
|  | 82     for (size_t i = 0; i < 20; ++i)                                \ | 
|  | 83       EXPECT_EQ(a[i], op.matrix()[i]);                             \ | 
|  | 84                                                                    \ | 
|  | 85     FilterOperation op2 = FilterOperation::CreateEmptyFilter();    \ | 
|  | 86     op2.set_type(FilterOperation::FilterType##Type);               \ | 
|  | 87                                                                    \ | 
|  | 88     for (size_t i = 0; i < 20; ++i)                                \ | 
|  | 89       EXPECT_NE(a[i], op2.matrix()[i]);                            \ | 
|  | 90                                                                    \ | 
|  | 91     op2.set_matrix(a);                                             \ | 
|  | 92                                                                    \ | 
|  | 93     EXPECT_EQ(FilterOperation::FilterType##Type, op2.type());      \ | 
|  | 94     for (size_t i = 0; i < 20; ++i)                                \ | 
|  | 95       EXPECT_EQ(a[i], op.matrix()[i]);                             \ | 
|  | 96   } | 
|  | 97 | 
|  | 98 #define SAVE_RESTORE_AMOUNT_INSET(Type, a, b)                         \ | 
|  | 99   {                                                                   \ | 
|  | 100     FilterOperation op = FilterOperation::Create##Type##Filter(a, b); \ | 
|  | 101     EXPECT_EQ(FilterOperation::FilterType##Type, op.type());          \ | 
|  | 102     EXPECT_EQ(a, op.amount());                                        \ | 
|  | 103     EXPECT_EQ(b, op.zoom_inset());                                    \ | 
|  | 104                                                                       \ | 
|  | 105     FilterOperation op2 = FilterOperation::CreateEmptyFilter();       \ | 
|  | 106     op2.set_type(FilterOperation::FilterType##Type);                  \ | 
|  | 107                                                                       \ | 
|  | 108     EXPECT_NE(a, op2.amount());                                       \ | 
|  | 109     EXPECT_NE(b, op2.zoom_inset());                                   \ | 
|  | 110                                                                       \ | 
|  | 111     op2.set_amount(a);                                                \ | 
|  | 112     op2.set_zoom_inset(b);                                            \ | 
|  | 113                                                                       \ | 
|  | 114     EXPECT_EQ(FilterOperation::FilterType##Type, op2.type());         \ | 
|  | 115     EXPECT_EQ(a, op2.amount());                                       \ | 
|  | 116     EXPECT_EQ(b, op2.zoom_inset());                                   \ | 
|  | 117   } | 
|  | 118 | 
|  | 119 TEST(FilterOperationsTest, SaveAndRestore) { | 
|  | 120   SAVE_RESTORE_AMOUNT(Grayscale, 0.6f); | 
|  | 121   SAVE_RESTORE_AMOUNT(Sepia, 0.6f); | 
|  | 122   SAVE_RESTORE_AMOUNT(Saturate, 0.6f); | 
|  | 123   SAVE_RESTORE_AMOUNT(HueRotate, 0.6f); | 
|  | 124   SAVE_RESTORE_AMOUNT(Invert, 0.6f); | 
|  | 125   SAVE_RESTORE_AMOUNT(Brightness, 0.6f); | 
|  | 126   SAVE_RESTORE_AMOUNT(Contrast, 0.6f); | 
|  | 127   SAVE_RESTORE_AMOUNT(Opacity, 0.6f); | 
|  | 128   SAVE_RESTORE_AMOUNT(Blur, 0.6f); | 
|  | 129   SAVE_RESTORE_OFFSET_AMOUNT_COLOR( | 
|  | 130       DropShadow, gfx::Point(3, 4), 0.4f, 0xffffff00); | 
|  | 131 | 
|  | 132   SkScalar matrix[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, | 
|  | 133                          17, 18, 19, 20}; | 
|  | 134   SAVE_RESTORE_MATRIX(ColorMatrix, matrix); | 
|  | 135 | 
|  | 136   SAVE_RESTORE_AMOUNT_INSET(Zoom, 0.5f, 32); | 
|  | 137 } | 
|  | 138 | 
|  | 139 }  // namespace | 
|  | 140 }  // namespace cc | 
| OLD | NEW | 
|---|