Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: cc/layers/layer_impl.cc

Issue 1357423009: gfx: Make conversions from Size to SizeF be explicit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sizefconvert-gfx: . Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/layers/layer.cc ('k') | cc/layers/painted_scrollbar_layer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "cc/layers/layer_impl.h" 5 #include "cc/layers/layer_impl.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/numerics/safe_conversions.h" 8 #include "base/numerics/safe_conversions.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 draw_properties_.visible_layer_rect, draw_properties_.clip_rect, 318 draw_properties_.visible_layer_rect, draw_properties_.clip_rect,
319 is_clipped_, draw_properties_.opacity, draw_blend_mode_, 319 is_clipped_, draw_properties_.opacity, draw_blend_mode_,
320 sorting_context_id_); 320 sorting_context_id_);
321 } 321 }
322 322
323 void LayerImpl::PopulateScaledSharedQuadState(SharedQuadState* state, 323 void LayerImpl::PopulateScaledSharedQuadState(SharedQuadState* state,
324 float scale) const { 324 float scale) const {
325 gfx::Transform scaled_draw_transform = 325 gfx::Transform scaled_draw_transform =
326 draw_properties_.target_space_transform; 326 draw_properties_.target_space_transform;
327 scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale); 327 scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale);
328 gfx::Size scaled_bounds = gfx::ToCeiledSize(gfx::ScaleSize(bounds(), scale)); 328 gfx::Size scaled_bounds = gfx::ScaleToCeiledSize(bounds(), scale);
329 gfx::Rect scaled_visible_layer_rect = 329 gfx::Rect scaled_visible_layer_rect =
330 gfx::ScaleToEnclosingRect(visible_layer_rect(), scale); 330 gfx::ScaleToEnclosingRect(visible_layer_rect(), scale);
331 scaled_visible_layer_rect.Intersect(gfx::Rect(scaled_bounds)); 331 scaled_visible_layer_rect.Intersect(gfx::Rect(scaled_bounds));
332 332
333 state->SetAll(scaled_draw_transform, scaled_bounds, scaled_visible_layer_rect, 333 state->SetAll(scaled_draw_transform, scaled_bounds, scaled_visible_layer_rect,
334 draw_properties().clip_rect, is_clipped_, 334 draw_properties().clip_rect, is_clipped_,
335 draw_properties().opacity, draw_blend_mode_, 335 draw_properties().opacity, draw_blend_mode_,
336 sorting_context_id_); 336 sorting_context_id_);
337 } 337 }
338 338
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 transform_tree.SetOuterViewportBoundsDelta(bounds_delta); 977 transform_tree.SetOuterViewportBoundsDelta(bounds_delta);
978 978
979 ScrollbarParametersDidChange(true); 979 ScrollbarParametersDidChange(true);
980 980
981 if (masks_to_bounds()) { 981 if (masks_to_bounds()) {
982 // If layer is clipping, then update the clip node using the new bounds. 982 // If layer is clipping, then update the clip node using the new bounds.
983 ClipNode* clip_node = 983 ClipNode* clip_node =
984 layer_tree_impl()->property_trees()->clip_tree.Node(clip_tree_index()); 984 layer_tree_impl()->property_trees()->clip_tree.Node(clip_tree_index());
985 if (clip_node) { 985 if (clip_node) {
986 DCHECK(id() == clip_node->owner_id); 986 DCHECK(id() == clip_node->owner_id);
987 clip_node->data.clip = 987 clip_node->data.clip = gfx::RectF(
988 gfx::RectF(gfx::PointF() + offset_to_transform_parent(), bounds()); 988 gfx::PointF() + offset_to_transform_parent(), gfx::SizeF(bounds()));
989 layer_tree_impl()->property_trees()->clip_tree.set_needs_update(true); 989 layer_tree_impl()->property_trees()->clip_tree.set_needs_update(true);
990 } 990 }
991 991
992 NoteLayerPropertyChangedForSubtree(); 992 NoteLayerPropertyChangedForSubtree();
993 } else { 993 } else {
994 NoteLayerPropertyChanged(); 994 NoteLayerPropertyChanged();
995 } 995 }
996 } 996 }
997 997
998 void LayerImpl::SetMaskLayer(scoped_ptr<LayerImpl> mask_layer) { 998 void LayerImpl::SetMaskLayer(scoped_ptr<LayerImpl> mask_layer) {
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
1521 1521
1522 float scale_factor = 1.f; 1522 float scale_factor = 1.f;
1523 for (LayerImpl const* current_layer = this; 1523 for (LayerImpl const* current_layer = this;
1524 current_layer != scroll_clip_layer_->parent(); 1524 current_layer != scroll_clip_layer_->parent();
1525 current_layer = current_layer->parent()) { 1525 current_layer = current_layer->parent()) {
1526 if (current_layer == page_scale_layer) 1526 if (current_layer == page_scale_layer)
1527 scale_factor = layer_tree_impl()->current_page_scale_factor(); 1527 scale_factor = layer_tree_impl()->current_page_scale_factor();
1528 } 1528 }
1529 1529
1530 gfx::SizeF scaled_scroll_bounds = 1530 gfx::SizeF scaled_scroll_bounds =
1531 gfx::ToFlooredSize(gfx::ScaleSize(BoundsForScrolling(), scale_factor)); 1531 gfx::ScaleSize(BoundsForScrolling(), scale_factor);
1532 scaled_scroll_bounds = gfx::ToFlooredSize(scaled_scroll_bounds); 1532 scaled_scroll_bounds.SetSize(std::floor(scaled_scroll_bounds.width()),
1533 std::floor(scaled_scroll_bounds.height()));
1533 1534
1534 gfx::ScrollOffset max_offset( 1535 gfx::ScrollOffset max_offset(
1535 scaled_scroll_bounds.width() - scroll_clip_layer_->bounds().width(), 1536 scaled_scroll_bounds.width() - scroll_clip_layer_->bounds().width(),
1536 scaled_scroll_bounds.height() - scroll_clip_layer_->bounds().height()); 1537 scaled_scroll_bounds.height() - scroll_clip_layer_->bounds().height());
1537 // We need the final scroll offset to be in CSS coords. 1538 // We need the final scroll offset to be in CSS coords.
1538 max_offset.Scale(1 / scale_factor); 1539 max_offset.Scale(1 / scale_factor);
1539 max_offset.SetToMax(gfx::ScrollOffset()); 1540 max_offset.SetToMax(gfx::ScrollOffset());
1540 return max_offset; 1541 return max_offset;
1541 } 1542 }
1542 1543
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
1895 1896
1896 gfx::Rect LayerImpl::GetEnclosingRectInTargetSpace() const { 1897 gfx::Rect LayerImpl::GetEnclosingRectInTargetSpace() const {
1897 return MathUtil::MapEnclosingClippedRect( 1898 return MathUtil::MapEnclosingClippedRect(
1898 draw_properties_.target_space_transform, gfx::Rect(bounds())); 1899 draw_properties_.target_space_transform, gfx::Rect(bounds()));
1899 } 1900 }
1900 1901
1901 gfx::Rect LayerImpl::GetScaledEnclosingRectInTargetSpace(float scale) const { 1902 gfx::Rect LayerImpl::GetScaledEnclosingRectInTargetSpace(float scale) const {
1902 gfx::Transform scaled_draw_transform = 1903 gfx::Transform scaled_draw_transform =
1903 draw_properties_.target_space_transform; 1904 draw_properties_.target_space_transform;
1904 scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale); 1905 scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale);
1905 gfx::Size scaled_bounds = gfx::ToCeiledSize(gfx::ScaleSize(bounds(), scale)); 1906 gfx::Size scaled_bounds = gfx::ScaleToCeiledSize(bounds(), scale);
1906 return MathUtil::MapEnclosingClippedRect(scaled_draw_transform, 1907 return MathUtil::MapEnclosingClippedRect(scaled_draw_transform,
1907 gfx::Rect(scaled_bounds)); 1908 gfx::Rect(scaled_bounds));
1908 } 1909 }
1909 1910
1910 float LayerImpl::GetIdealContentsScale() const { 1911 float LayerImpl::GetIdealContentsScale() const {
1911 float page_scale = IsAffectedByPageScale() 1912 float page_scale = IsAffectedByPageScale()
1912 ? layer_tree_impl()->current_page_scale_factor() 1913 ? layer_tree_impl()->current_page_scale_factor()
1913 : 1.f; 1914 : 1.f;
1914 float device_scale = layer_tree_impl()->device_scale_factor(); 1915 float device_scale = layer_tree_impl()->device_scale_factor();
1915 1916
1916 float default_scale = page_scale * device_scale; 1917 float default_scale = page_scale * device_scale;
1917 if (!layer_tree_impl() 1918 if (!layer_tree_impl()
1918 ->settings() 1919 ->settings()
1919 .layer_transforms_should_scale_layer_contents) { 1920 .layer_transforms_should_scale_layer_contents) {
1920 return default_scale; 1921 return default_scale;
1921 } 1922 }
1922 1923
1923 // TODO(enne): the transform needs to come from property trees instead of 1924 // TODO(enne): the transform needs to come from property trees instead of
1924 // draw properties. 1925 // draw properties.
1925 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( 1926 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents(
1926 draw_properties().target_space_transform, default_scale); 1927 draw_properties().target_space_transform, default_scale);
1927 return std::max(transform_scales.x(), transform_scales.y()); 1928 return std::max(transform_scales.x(), transform_scales.y());
1928 } 1929 }
1929 1930
1930 } // namespace cc 1931 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer.cc ('k') | cc/layers/painted_scrollbar_layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698