| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <map> | 5 #include <map> |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/rand_util.h" | 8 #include "base/rand_util.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 2040 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2051 | 2051 |
| 2052 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. | 2052 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. |
| 2053 v1->ClearScheduledPaintRect(); | 2053 v1->ClearScheduledPaintRect(); |
| 2054 v2->SchedulePaint(); | 2054 v2->SchedulePaint(); |
| 2055 | 2055 |
| 2056 EXPECT_EQ(gfx::Rect(100, 100, 200, 100), v1->scheduled_paint_rect()); | 2056 EXPECT_EQ(gfx::Rect(100, 100, 200, 100), v1->scheduled_paint_rect()); |
| 2057 | 2057 |
| 2058 // Rotate |v1| counter-clockwise. | 2058 // Rotate |v1| counter-clockwise. |
| 2059 gfx::Transform transform; | 2059 gfx::Transform transform; |
| 2060 RotateCounterclockwise(&transform); | 2060 RotateCounterclockwise(&transform); |
| 2061 transform.SetTranslateY(500.0f); | 2061 transform.matrix().set(1, 3, 500.0); |
| 2062 v1->SetTransform(transform); | 2062 v1->SetTransform(transform); |
| 2063 | 2063 |
| 2064 // |v2| now occupies (100, 200) to (200, 400) in |root|. | 2064 // |v2| now occupies (100, 200) to (200, 400) in |root|. |
| 2065 | 2065 |
| 2066 v1->ClearScheduledPaintRect(); | 2066 v1->ClearScheduledPaintRect(); |
| 2067 v2->SchedulePaint(); | 2067 v2->SchedulePaint(); |
| 2068 | 2068 |
| 2069 EXPECT_EQ(gfx::Rect(100, 200, 100, 200), v1->scheduled_paint_rect()); | 2069 EXPECT_EQ(gfx::Rect(100, 200, 100, 200), v1->scheduled_paint_rect()); |
| 2070 | 2070 |
| 2071 widget->CloseNow(); | 2071 widget->CloseNow(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 2085 View* root = widget->GetRootView(); | 2085 View* root = widget->GetRootView(); |
| 2086 | 2086 |
| 2087 root->AddChildView(v1); | 2087 root->AddChildView(v1); |
| 2088 v1->AddChildView(v2); | 2088 v1->AddChildView(v2); |
| 2089 | 2089 |
| 2090 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. | 2090 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. |
| 2091 | 2091 |
| 2092 // Rotate |v1| counter-clockwise. | 2092 // Rotate |v1| counter-clockwise. |
| 2093 gfx::Transform transform(v1->GetTransform()); | 2093 gfx::Transform transform(v1->GetTransform()); |
| 2094 RotateCounterclockwise(&transform); | 2094 RotateCounterclockwise(&transform); |
| 2095 transform.SetTranslateY(500.0f); | 2095 transform.matrix().set(1, 3, 500.0); |
| 2096 v1->SetTransform(transform); | 2096 v1->SetTransform(transform); |
| 2097 | 2097 |
| 2098 // |v2| now occupies (100, 200) to (200, 400) in |root|. | 2098 // |v2| now occupies (100, 200) to (200, 400) in |root|. |
| 2099 v1->Reset(); | 2099 v1->Reset(); |
| 2100 v2->Reset(); | 2100 v2->Reset(); |
| 2101 | 2101 |
| 2102 gfx::Point p1(110, 210); | 2102 gfx::Point p1(110, 210); |
| 2103 ui::MouseEvent pressed(ui::ET_MOUSE_PRESSED, p1, p1, | 2103 ui::MouseEvent pressed(ui::ET_MOUSE_PRESSED, p1, p1, |
| 2104 ui::EF_LEFT_MOUSE_BUTTON); | 2104 ui::EF_LEFT_MOUSE_BUTTON); |
| 2105 root->OnMousePressed(pressed); | 2105 root->OnMousePressed(pressed); |
| 2106 EXPECT_EQ(0, v1->last_mouse_event_type_); | 2106 EXPECT_EQ(0, v1->last_mouse_event_type_); |
| 2107 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); | 2107 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); |
| 2108 EXPECT_EQ(190, v2->location_.x()); | 2108 EXPECT_EQ(190, v2->location_.x()); |
| 2109 EXPECT_EQ(10, v2->location_.y()); | 2109 EXPECT_EQ(10, v2->location_.y()); |
| 2110 | 2110 |
| 2111 ui::MouseEvent released(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(), 0); | 2111 ui::MouseEvent released(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(), 0); |
| 2112 root->OnMouseReleased(released); | 2112 root->OnMouseReleased(released); |
| 2113 | 2113 |
| 2114 // Now rotate |v2| inside |v1| clockwise. | 2114 // Now rotate |v2| inside |v1| clockwise. |
| 2115 transform = v2->GetTransform(); | 2115 transform = v2->GetTransform(); |
| 2116 RotateClockwise(&transform); | 2116 RotateClockwise(&transform); |
| 2117 transform.SetTranslateX(100.0f); | 2117 transform.matrix().setDouble(0, 3, 100.0); |
| 2118 v2->SetTransform(transform); | 2118 v2->SetTransform(transform); |
| 2119 | 2119 |
| 2120 // Now, |v2| occupies (100, 100) to (200, 300) in |v1|, and (100, 300) to | 2120 // Now, |v2| occupies (100, 100) to (200, 300) in |v1|, and (100, 300) to |
| 2121 // (300, 400) in |root|. | 2121 // (300, 400) in |root|. |
| 2122 | 2122 |
| 2123 v1->Reset(); | 2123 v1->Reset(); |
| 2124 v2->Reset(); | 2124 v2->Reset(); |
| 2125 | 2125 |
| 2126 gfx::Point point2(110, 320); | 2126 gfx::Point point2(110, 320); |
| 2127 ui::MouseEvent p2(ui::ET_MOUSE_PRESSED, point2, point2, | 2127 ui::MouseEvent p2(ui::ET_MOUSE_PRESSED, point2, point2, |
| 2128 ui::EF_LEFT_MOUSE_BUTTON); | 2128 ui::EF_LEFT_MOUSE_BUTTON); |
| 2129 root->OnMousePressed(p2); | 2129 root->OnMousePressed(p2); |
| 2130 EXPECT_EQ(0, v1->last_mouse_event_type_); | 2130 EXPECT_EQ(0, v1->last_mouse_event_type_); |
| 2131 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); | 2131 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); |
| 2132 EXPECT_EQ(10, v2->location_.x()); | 2132 EXPECT_EQ(10, v2->location_.x()); |
| 2133 EXPECT_EQ(20, v2->location_.y()); | 2133 EXPECT_EQ(20, v2->location_.y()); |
| 2134 | 2134 |
| 2135 root->OnMouseReleased(released); | 2135 root->OnMouseReleased(released); |
| 2136 | 2136 |
| 2137 v1->SetTransform(gfx::Transform()); | 2137 v1->SetTransform(gfx::Transform()); |
| 2138 v2->SetTransform(gfx::Transform()); | 2138 v2->SetTransform(gfx::Transform()); |
| 2139 | 2139 |
| 2140 TestView* v3 = new TestView(); | 2140 TestView* v3 = new TestView(); |
| 2141 v3->SetBoundsRect(gfx::Rect(10, 10, 20, 30)); | 2141 v3->SetBoundsRect(gfx::Rect(10, 10, 20, 30)); |
| 2142 v2->AddChildView(v3); | 2142 v2->AddChildView(v3); |
| 2143 | 2143 |
| 2144 // Rotate |v3| clockwise with respect to |v2|. | 2144 // Rotate |v3| clockwise with respect to |v2|. |
| 2145 transform = v1->GetTransform(); | 2145 transform = v1->GetTransform(); |
| 2146 RotateClockwise(&transform); | 2146 RotateClockwise(&transform); |
| 2147 transform.SetTranslateX(30.0f); | 2147 transform.matrix().setDouble(0, 3, 30.0); |
| 2148 v3->SetTransform(transform); | 2148 v3->SetTransform(transform); |
| 2149 | 2149 |
| 2150 // Scale |v2| with respect to |v1| along both axis. | 2150 // Scale |v2| with respect to |v1| along both axis. |
| 2151 transform = v2->GetTransform(); | 2151 transform = v2->GetTransform(); |
| 2152 transform.SetScale(0.8f, 0.5f); | 2152 transform.matrix().setDouble(0, 0, 0.8); |
| 2153 transform.matrix().setDouble(1, 1, 0.5); |
| 2153 v2->SetTransform(transform); | 2154 v2->SetTransform(transform); |
| 2154 | 2155 |
| 2155 // |v3| occupies (108, 105) to (132, 115) in |root|. | 2156 // |v3| occupies (108, 105) to (132, 115) in |root|. |
| 2156 | 2157 |
| 2157 v1->Reset(); | 2158 v1->Reset(); |
| 2158 v2->Reset(); | 2159 v2->Reset(); |
| 2159 v3->Reset(); | 2160 v3->Reset(); |
| 2160 | 2161 |
| 2161 gfx::Point point(112, 110); | 2162 gfx::Point point(112, 110); |
| 2162 ui::MouseEvent p3(ui::ET_MOUSE_PRESSED, point, point, | 2163 ui::MouseEvent p3(ui::ET_MOUSE_PRESSED, point, point, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2173 v2->SetTransform(gfx::Transform()); | 2174 v2->SetTransform(gfx::Transform()); |
| 2174 v3->SetTransform(gfx::Transform()); | 2175 v3->SetTransform(gfx::Transform()); |
| 2175 | 2176 |
| 2176 v1->Reset(); | 2177 v1->Reset(); |
| 2177 v2->Reset(); | 2178 v2->Reset(); |
| 2178 v3->Reset(); | 2179 v3->Reset(); |
| 2179 | 2180 |
| 2180 // Rotate |v3| clockwise with respect to |v2|, and scale it along both axis. | 2181 // Rotate |v3| clockwise with respect to |v2|, and scale it along both axis. |
| 2181 transform = v3->GetTransform(); | 2182 transform = v3->GetTransform(); |
| 2182 RotateClockwise(&transform); | 2183 RotateClockwise(&transform); |
| 2183 transform.SetTranslateX(30.0f); | 2184 transform.matrix().setDouble(0, 3, 30.0); |
| 2184 // Rotation sets some scaling transformation. Using SetScale would overwrite | 2185 // Rotation sets some scaling transformation. Using SetScale would overwrite |
| 2185 // that and pollute the rotation. So combine the scaling with the existing | 2186 // that and pollute the rotation. So combine the scaling with the existing |
| 2186 // transforamtion. | 2187 // transforamtion. |
| 2187 transform.ConcatScale(0.8f, 0.5f); | 2188 gfx::Transform scale; |
| 2189 scale.Scale(0.8, 0.5); |
| 2190 transform.ConcatTransform(scale); |
| 2188 v3->SetTransform(transform); | 2191 v3->SetTransform(transform); |
| 2189 | 2192 |
| 2190 // Translate |v2| with respect to |v1|. | 2193 // Translate |v2| with respect to |v1|. |
| 2191 transform = v2->GetTransform(); | 2194 transform = v2->GetTransform(); |
| 2192 transform.SetTranslate(10, 10); | 2195 transform.matrix().setDouble(0, 3, 10.0); |
| 2196 transform.matrix().setDouble(1, 3, 10.0); |
| 2193 v2->SetTransform(transform); | 2197 v2->SetTransform(transform); |
| 2194 | 2198 |
| 2195 // |v3| now occupies (120, 120) to (144, 130) in |root|. | 2199 // |v3| now occupies (120, 120) to (144, 130) in |root|. |
| 2196 | 2200 |
| 2197 gfx::Point point3(124, 125); | 2201 gfx::Point point3(124, 125); |
| 2198 ui::MouseEvent p4(ui::ET_MOUSE_PRESSED, point3, point3, | 2202 ui::MouseEvent p4(ui::ET_MOUSE_PRESSED, point3, point3, |
| 2199 ui::EF_LEFT_MOUSE_BUTTON); | 2203 ui::EF_LEFT_MOUSE_BUTTON); |
| 2200 root->OnMousePressed(p4); | 2204 root->OnMousePressed(p4); |
| 2201 | 2205 |
| 2202 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v3->last_mouse_event_type_); | 2206 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v3->last_mouse_event_type_); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 2226 contents->SetBoundsRect(gfx::Rect(0, 0, 100, 200)); | 2230 contents->SetBoundsRect(gfx::Rect(0, 0, 100, 200)); |
| 2227 | 2231 |
| 2228 View* child = new View; | 2232 View* child = new View; |
| 2229 contents->AddChildView(child); | 2233 contents->AddChildView(child); |
| 2230 child->SetBoundsRect(gfx::Rect(10, 90, 50, 50)); | 2234 child->SetBoundsRect(gfx::Rect(10, 90, 50, 50)); |
| 2231 EXPECT_EQ(gfx::Rect(0, 0, 50, 10), child->GetVisibleBounds()); | 2235 EXPECT_EQ(gfx::Rect(0, 0, 50, 10), child->GetVisibleBounds()); |
| 2232 | 2236 |
| 2233 // Rotate |child| counter-clockwise | 2237 // Rotate |child| counter-clockwise |
| 2234 gfx::Transform transform; | 2238 gfx::Transform transform; |
| 2235 RotateCounterclockwise(&transform); | 2239 RotateCounterclockwise(&transform); |
| 2236 transform.SetTranslateY(50.0f); | 2240 transform.matrix().setDouble(1, 3, 50.0); |
| 2237 child->SetTransform(transform); | 2241 child->SetTransform(transform); |
| 2238 EXPECT_EQ(gfx::Rect(40, 0, 10, 50), child->GetVisibleBounds()); | 2242 EXPECT_EQ(gfx::Rect(40, 0, 10, 50), child->GetVisibleBounds()); |
| 2239 | 2243 |
| 2240 widget->CloseNow(); | 2244 widget->CloseNow(); |
| 2241 } | 2245 } |
| 2242 | 2246 |
| 2243 //////////////////////////////////////////////////////////////////////////////// | 2247 //////////////////////////////////////////////////////////////////////////////// |
| 2244 // OnVisibleBoundsChanged() | 2248 // OnVisibleBoundsChanged() |
| 2245 | 2249 |
| 2246 class VisibleBoundsView : public View { | 2250 class VisibleBoundsView : public View { |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2340 TestView* child = new TestView; | 2344 TestView* child = new TestView; |
| 2341 TestView* child_child = new TestView; | 2345 TestView* child_child = new TestView; |
| 2342 | 2346 |
| 2343 top_view.AddChildView(child); | 2347 top_view.AddChildView(child); |
| 2344 child->AddChildView(child_child); | 2348 child->AddChildView(child_child); |
| 2345 | 2349 |
| 2346 top_view.SetBoundsRect(gfx::Rect(0, 0, 1000, 1000)); | 2350 top_view.SetBoundsRect(gfx::Rect(0, 0, 1000, 1000)); |
| 2347 | 2351 |
| 2348 child->SetBoundsRect(gfx::Rect(7, 19, 500, 500)); | 2352 child->SetBoundsRect(gfx::Rect(7, 19, 500, 500)); |
| 2349 gfx::Transform transform; | 2353 gfx::Transform transform; |
| 2350 transform.SetScale(3.0f, 4.0f); | 2354 transform.Scale(3.0, 4.0); |
| 2351 child->SetTransform(transform); | 2355 child->SetTransform(transform); |
| 2352 | 2356 |
| 2353 child_child->SetBoundsRect(gfx::Rect(17, 13, 100, 100)); | 2357 child_child->SetBoundsRect(gfx::Rect(17, 13, 100, 100)); |
| 2354 transform = gfx::Transform(); | 2358 transform.MakeIdentity(); |
| 2355 transform.SetScale(5.0f, 7.0f); | 2359 transform.Scale(5.0, 7.0); |
| 2356 child_child->SetTransform(transform); | 2360 child_child->SetTransform(transform); |
| 2357 | 2361 |
| 2358 // Sanity check to make sure basic transforms act as expected. | 2362 // Sanity check to make sure basic transforms act as expected. |
| 2359 { | 2363 { |
| 2360 gfx::Transform transform; | 2364 gfx::Transform transform; |
| 2361 transform.ConcatTranslate(1, 1); | 2365 transform.Translate(110.0, -110.0); |
| 2362 transform.ConcatScale(100, 55); | 2366 transform.Scale(100.0, 55.0); |
| 2363 transform.ConcatTranslate(110, -110); | 2367 transform.Translate(1.0, 1.0); |
| 2364 | 2368 |
| 2365 // convert to a 3x3 matrix. | 2369 // convert to a 3x3 matrix. |
| 2366 const SkMatrix& matrix = transform.matrix(); | 2370 const SkMatrix& matrix = transform.matrix(); |
| 2367 | 2371 |
| 2368 EXPECT_EQ(210, matrix.getTranslateX()); | 2372 EXPECT_EQ(210, matrix.getTranslateX()); |
| 2369 EXPECT_EQ(-55, matrix.getTranslateY()); | 2373 EXPECT_EQ(-55, matrix.getTranslateY()); |
| 2370 EXPECT_EQ(100, matrix.getScaleX()); | 2374 EXPECT_EQ(100, matrix.getScaleX()); |
| 2371 EXPECT_EQ(55, matrix.getScaleY()); | 2375 EXPECT_EQ(55, matrix.getScaleY()); |
| 2372 EXPECT_EQ(0, matrix.getSkewX()); | 2376 EXPECT_EQ(0, matrix.getSkewX()); |
| 2373 EXPECT_EQ(0, matrix.getSkewY()); | 2377 EXPECT_EQ(0, matrix.getSkewY()); |
| 2374 } | 2378 } |
| 2375 | 2379 |
| 2376 { | 2380 { |
| 2377 gfx::Transform transform; | 2381 gfx::Transform transform; |
| 2378 transform.SetTranslate(1, 1); | 2382 transform.Translate(1.0, 1.0); |
| 2379 gfx::Transform t2; | 2383 gfx::Transform t2; |
| 2380 t2.SetScale(100, 55); | 2384 t2.Scale(100.0, 55.0); |
| 2381 gfx::Transform t3; | 2385 gfx::Transform t3; |
| 2382 t3.SetTranslate(110, -110); | 2386 t3.Translate(110.0, -110.0); |
| 2383 transform.ConcatTransform(t2); | 2387 transform.ConcatTransform(t2); |
| 2384 transform.ConcatTransform(t3); | 2388 transform.ConcatTransform(t3); |
| 2385 | 2389 |
| 2386 // convert to a 3x3 matrix | 2390 // convert to a 3x3 matrix |
| 2387 const SkMatrix& matrix = transform.matrix(); | 2391 const SkMatrix& matrix = transform.matrix(); |
| 2388 | 2392 |
| 2389 EXPECT_EQ(210, matrix.getTranslateX()); | 2393 EXPECT_EQ(210, matrix.getTranslateX()); |
| 2390 EXPECT_EQ(-55, matrix.getTranslateY()); | 2394 EXPECT_EQ(-55, matrix.getTranslateY()); |
| 2391 EXPECT_EQ(100, matrix.getScaleX()); | 2395 EXPECT_EQ(100, matrix.getScaleX()); |
| 2392 EXPECT_EQ(55, matrix.getScaleY()); | 2396 EXPECT_EQ(55, matrix.getScaleY()); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2461 v2->SetBoundsRect(gfx::Rect(20, 20, 100, 200)); | 2465 v2->SetBoundsRect(gfx::Rect(20, 20, 100, 200)); |
| 2462 | 2466 |
| 2463 // |v2| now occupies (30, 30) to (130, 230) in |widget| | 2467 // |v2| now occupies (30, 30) to (130, 230) in |widget| |
| 2464 gfx::Rect rect(5, 5, 15, 40); | 2468 gfx::Rect rect(5, 5, 15, 40); |
| 2465 EXPECT_EQ(gfx::Rect(25, 25, 15, 40), v2->ConvertRectToParent(rect)); | 2469 EXPECT_EQ(gfx::Rect(25, 25, 15, 40), v2->ConvertRectToParent(rect)); |
| 2466 EXPECT_EQ(gfx::Rect(35, 35, 15, 40), v2->ConvertRectToWidget(rect)); | 2470 EXPECT_EQ(gfx::Rect(35, 35, 15, 40), v2->ConvertRectToWidget(rect)); |
| 2467 | 2471 |
| 2468 // Rotate |v2| | 2472 // Rotate |v2| |
| 2469 gfx::Transform t2; | 2473 gfx::Transform t2; |
| 2470 RotateCounterclockwise(&t2); | 2474 RotateCounterclockwise(&t2); |
| 2471 t2.SetTranslateY(100.0f); | 2475 t2.matrix().setDouble(1, 3, 100.0); |
| 2472 v2->SetTransform(t2); | 2476 v2->SetTransform(t2); |
| 2473 | 2477 |
| 2474 // |v2| now occupies (30, 30) to (230, 130) in |widget| | 2478 // |v2| now occupies (30, 30) to (230, 130) in |widget| |
| 2475 EXPECT_EQ(gfx::Rect(25, 100, 40, 15), v2->ConvertRectToParent(rect)); | 2479 EXPECT_EQ(gfx::Rect(25, 100, 40, 15), v2->ConvertRectToParent(rect)); |
| 2476 EXPECT_EQ(gfx::Rect(35, 110, 40, 15), v2->ConvertRectToWidget(rect)); | 2480 EXPECT_EQ(gfx::Rect(35, 110, 40, 15), v2->ConvertRectToWidget(rect)); |
| 2477 | 2481 |
| 2478 // Scale down |v1| | 2482 // Scale down |v1| |
| 2479 gfx::Transform t1; | 2483 gfx::Transform t1; |
| 2480 t1.SetScale(0.5, 0.5); | 2484 t1.Scale(0.5, 0.5); |
| 2481 v1->SetTransform(t1); | 2485 v1->SetTransform(t1); |
| 2482 | 2486 |
| 2483 // The rectangle should remain the same for |v1|. | 2487 // The rectangle should remain the same for |v1|. |
| 2484 EXPECT_EQ(gfx::Rect(25, 100, 40, 15), v2->ConvertRectToParent(rect)); | 2488 EXPECT_EQ(gfx::Rect(25, 100, 40, 15), v2->ConvertRectToParent(rect)); |
| 2485 | 2489 |
| 2486 // |v2| now occupies (20, 20) to (120, 70) in |widget| | 2490 // |v2| now occupies (20, 20) to (120, 70) in |widget| |
| 2487 EXPECT_EQ(gfx::Rect(22, 60, 21, 8).ToString(), | 2491 EXPECT_EQ(gfx::Rect(22, 60, 21, 8).ToString(), |
| 2488 v2->ConvertRectToWidget(rect).ToString()); | 2492 v2->ConvertRectToWidget(rect).ToString()); |
| 2489 | 2493 |
| 2490 widget->CloseNow(); | 2494 widget->CloseNow(); |
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2974 EXPECT_TRUE(v2->layer() != NULL); | 2978 EXPECT_TRUE(v2->layer() != NULL); |
| 2975 EXPECT_EQ(root_layer, v2->layer()->parent()); | 2979 EXPECT_EQ(root_layer, v2->layer()->parent()); |
| 2976 ASSERT_EQ(1u, root_layer->children().size()); | 2980 ASSERT_EQ(1u, root_layer->children().size()); |
| 2977 EXPECT_EQ(root_layer->children()[0], v2->layer()); | 2981 EXPECT_EQ(root_layer->children()[0], v2->layer()); |
| 2978 // The bounds of the layer should have changed to be relative to the root view | 2982 // The bounds of the layer should have changed to be relative to the root view |
| 2979 // now. | 2983 // now. |
| 2980 EXPECT_EQ(gfx::Rect(30, 50, 30, 40), v2->layer()->bounds()); | 2984 EXPECT_EQ(gfx::Rect(30, 50, 30, 40), v2->layer()->bounds()); |
| 2981 | 2985 |
| 2982 // Make v1 have a layer again and verify v2s layer is wired up correctly. | 2986 // Make v1 have a layer again and verify v2s layer is wired up correctly. |
| 2983 gfx::Transform transform; | 2987 gfx::Transform transform; |
| 2984 transform.SetScale(2.0f, 2.0f); | 2988 transform.Scale(2.0, 2.0); |
| 2985 v1->SetTransform(transform); | 2989 v1->SetTransform(transform); |
| 2986 EXPECT_TRUE(v1->layer() != NULL); | 2990 EXPECT_TRUE(v1->layer() != NULL); |
| 2987 EXPECT_TRUE(v2->layer() != NULL); | 2991 EXPECT_TRUE(v2->layer() != NULL); |
| 2988 EXPECT_EQ(root_layer, v1->layer()->parent()); | 2992 EXPECT_EQ(root_layer, v1->layer()->parent()); |
| 2989 EXPECT_EQ(v1->layer(), v2->layer()->parent()); | 2993 EXPECT_EQ(v1->layer(), v2->layer()->parent()); |
| 2990 ASSERT_EQ(1u, root_layer->children().size()); | 2994 ASSERT_EQ(1u, root_layer->children().size()); |
| 2991 EXPECT_EQ(root_layer->children()[0], v1->layer()); | 2995 EXPECT_EQ(root_layer->children()[0], v1->layer()); |
| 2992 ASSERT_EQ(1u, v1->layer()->children().size()); | 2996 ASSERT_EQ(1u, v1->layer()->children().size()); |
| 2993 EXPECT_EQ(v1->layer()->children()[0], v2->layer()); | 2997 EXPECT_EQ(v1->layer()->children()[0], v2->layer()); |
| 2994 EXPECT_EQ(gfx::Rect(10, 20, 30, 40), v2->layer()->bounds()); | 2998 EXPECT_EQ(gfx::Rect(10, 20, 30, 40), v2->layer()->bounds()); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3126 EXPECT_EQ(l2bounds, v2->layer()->bounds()); | 3130 EXPECT_EQ(l2bounds, v2->layer()->bounds()); |
| 3127 | 3131 |
| 3128 // Reset locale. | 3132 // Reset locale. |
| 3129 base::i18n::SetICUDefaultLocale(locale); | 3133 base::i18n::SetICUDefaultLocale(locale); |
| 3130 } | 3134 } |
| 3131 | 3135 |
| 3132 // Makes sure a transform persists after toggling the visibility. | 3136 // Makes sure a transform persists after toggling the visibility. |
| 3133 TEST_F(ViewLayerTest, ToggleVisibilityWithTransform) { | 3137 TEST_F(ViewLayerTest, ToggleVisibilityWithTransform) { |
| 3134 View* view = new View; | 3138 View* view = new View; |
| 3135 gfx::Transform transform; | 3139 gfx::Transform transform; |
| 3136 transform.SetScale(2.0f, 2.0f); | 3140 transform.Scale(2.0, 2.0); |
| 3137 view->SetTransform(transform); | 3141 view->SetTransform(transform); |
| 3138 widget()->SetContentsView(view); | 3142 widget()->SetContentsView(view); |
| 3139 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); | 3143 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 3140 | 3144 |
| 3141 view->SetVisible(false); | 3145 view->SetVisible(false); |
| 3142 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); | 3146 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 3143 | 3147 |
| 3144 view->SetVisible(true); | 3148 view->SetVisible(true); |
| 3145 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); | 3149 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 3146 } | 3150 } |
| 3147 | 3151 |
| 3148 // Verifies a transform persists after removing/adding a view with a transform. | 3152 // Verifies a transform persists after removing/adding a view with a transform. |
| 3149 TEST_F(ViewLayerTest, ResetTransformOnLayerAfterAdd) { | 3153 TEST_F(ViewLayerTest, ResetTransformOnLayerAfterAdd) { |
| 3150 View* view = new View; | 3154 View* view = new View; |
| 3151 gfx::Transform transform; | 3155 gfx::Transform transform; |
| 3152 transform.SetScale(2.0f, 2.0f); | 3156 transform.Scale(2.0, 2.0); |
| 3153 view->SetTransform(transform); | 3157 view->SetTransform(transform); |
| 3154 widget()->SetContentsView(view); | 3158 widget()->SetContentsView(view); |
| 3155 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); | 3159 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 3156 ASSERT_TRUE(view->layer() != NULL); | 3160 ASSERT_TRUE(view->layer() != NULL); |
| 3157 EXPECT_EQ(2.0f, view->layer()->transform().matrix().get(0, 0)); | 3161 EXPECT_EQ(2.0f, view->layer()->transform().matrix().get(0, 0)); |
| 3158 | 3162 |
| 3159 View* parent = view->parent(); | 3163 View* parent = view->parent(); |
| 3160 parent->RemoveChildView(view); | 3164 parent->RemoveChildView(view); |
| 3161 parent->AddChildView(view); | 3165 parent->AddChildView(view); |
| 3162 | 3166 |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3387 // Set to non default value. | 3391 // Set to non default value. |
| 3388 v->layer()->set_scale_content(false); | 3392 v->layer()->set_scale_content(false); |
| 3389 scoped_ptr<ui::Layer> old_layer(v->RecreateLayer()); | 3393 scoped_ptr<ui::Layer> old_layer(v->RecreateLayer()); |
| 3390 ui::Layer* new_layer = v->layer(); | 3394 ui::Layer* new_layer = v->layer(); |
| 3391 EXPECT_FALSE(new_layer->scale_content()); | 3395 EXPECT_FALSE(new_layer->scale_content()); |
| 3392 } | 3396 } |
| 3393 | 3397 |
| 3394 #endif // USE_AURA | 3398 #endif // USE_AURA |
| 3395 | 3399 |
| 3396 } // namespace views | 3400 } // namespace views |
| OLD | NEW |