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

Side by Side Diff: ui/compositor/layer.cc

Issue 1002393002: Change ui::wm::Shadow to pass ImageSkia instead of SkBitmap. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Handle device scale factor change. Created 5 years, 9 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 | « ui/compositor/layer.h ('k') | ui/wm/core/shadow.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 (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 "ui/compositor/layer.h" 5 #include "ui/compositor/layer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 solid_color_layer_ = new_layer; 613 solid_color_layer_ = new_layer;
614 614
615 mailbox_ = cc::TextureMailbox(); 615 mailbox_ = cc::TextureMailbox();
616 if (mailbox_release_callback_) { 616 if (mailbox_release_callback_) {
617 mailbox_release_callback_->Run(0, false); 617 mailbox_release_callback_->Run(0, false);
618 mailbox_release_callback_.reset(); 618 mailbox_release_callback_.reset();
619 } 619 }
620 RecomputeDrawsContentAndUVRect(); 620 RecomputeDrawsContentAndUVRect();
621 } 621 }
622 622
623 void Layer::UpdateNinePatchLayerBitmap(const SkBitmap& bitmap) { 623 void Layer::UpdateNinePatchLayerImage(const gfx::ImageSkia& image) {
624 DCHECK(type_ == LAYER_NINE_PATCH && nine_patch_layer_.get()); 624 DCHECK(type_ == LAYER_NINE_PATCH && nine_patch_layer_.get());
625 nine_patch_layer_image_ = image;
626 SkBitmap bitmap = nine_patch_layer_image_.GetRepresentation(
627 device_scale_factor_).sk_bitmap();
625 SkBitmap bitmap_copy; 628 SkBitmap bitmap_copy;
626 if (bitmap.isImmutable()) { 629 if (bitmap.isImmutable()) {
627 bitmap_copy = bitmap; 630 bitmap_copy = bitmap;
628 } else { 631 } else {
629 // UIResourceBitmap requires an immutable copy of the input |bitmap|. 632 // UIResourceBitmap requires an immutable copy of the input |bitmap|.
630 bitmap.copyTo(&bitmap_copy); 633 bitmap.copyTo(&bitmap_copy);
631 bitmap_copy.setImmutable(); 634 bitmap_copy.setImmutable();
632 } 635 }
633 nine_patch_layer_->SetBitmap(bitmap_copy); 636 nine_patch_layer_->SetBitmap(bitmap_copy);
634 } 637 }
635 638
636 void Layer::UpdateNinePatchLayerAperture(const gfx::Rect& aperture) { 639 void Layer::UpdateNinePatchLayerAperture(const gfx::Rect& aperture) {
637 DCHECK(type_ == LAYER_NINE_PATCH && nine_patch_layer_.get()); 640 DCHECK(type_ == LAYER_NINE_PATCH && nine_patch_layer_.get());
638 nine_patch_layer_->SetAperture(aperture); 641 nine_patch_layer_aperture_ = aperture;
danakj 2015/03/17 17:59:40 can you add "in_dip" to this variable name?
hshi1 2015/03/17 18:24:48 Done.
642 gfx::Rect aperture_in_pixel = ConvertRectToPixel(this, aperture);
643 nine_patch_layer_->SetAperture(aperture_in_pixel);
639 } 644 }
640 645
641 void Layer::UpdateNinePatchLayerBorder(const gfx::Rect& border) { 646 void Layer::UpdateNinePatchLayerBorder(const gfx::Rect& border) {
642 DCHECK(type_ == LAYER_NINE_PATCH && nine_patch_layer_.get()); 647 DCHECK(type_ == LAYER_NINE_PATCH && nine_patch_layer_.get());
643 nine_patch_layer_->SetBorder(border); 648 nine_patch_layer_->SetBorder(border);
644 } 649 }
645 650
646 void Layer::SetColor(SkColor color) { GetAnimator()->SetColor(color); } 651 void Layer::SetColor(SkColor color) { GetAnimator()->SetColor(color); }
647 652
648 bool Layer::SchedulePaint(const gfx::Rect& invalid_rect) { 653 bool Layer::SchedulePaint(const gfx::Rect& invalid_rect) {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 device_scale_factor_ = device_scale_factor; 714 device_scale_factor_ = device_scale_factor;
710 RecomputeDrawsContentAndUVRect(); 715 RecomputeDrawsContentAndUVRect();
711 RecomputePosition(); 716 RecomputePosition();
712 SchedulePaint(gfx::Rect(bounds_.size())); 717 SchedulePaint(gfx::Rect(bounds_.size()));
713 if (delegate_) 718 if (delegate_)
714 delegate_->OnDeviceScaleFactorChanged(device_scale_factor); 719 delegate_->OnDeviceScaleFactorChanged(device_scale_factor);
715 for (size_t i = 0; i < children_.size(); ++i) 720 for (size_t i = 0; i < children_.size(); ++i)
716 children_[i]->OnDeviceScaleFactorChanged(device_scale_factor); 721 children_[i]->OnDeviceScaleFactorChanged(device_scale_factor);
717 if (layer_mask_) 722 if (layer_mask_)
718 layer_mask_->OnDeviceScaleFactorChanged(device_scale_factor); 723 layer_mask_->OnDeviceScaleFactorChanged(device_scale_factor);
724 if (nine_patch_layer_) {
725 UpdateNinePatchLayerImage(nine_patch_layer_image_);
danakj 2015/03/17 17:59:40 Can you move these up by RecomputeDrwasContentAndU
hshi1 2015/03/17 18:24:48 Done.
726 UpdateNinePatchLayerAperture(nine_patch_layer_aperture_);
727 }
719 } 728 }
720 729
721 void Layer::OnDelegatedFrameDamage(const gfx::Rect& damage_rect_in_dip) { 730 void Layer::OnDelegatedFrameDamage(const gfx::Rect& damage_rect_in_dip) {
722 DCHECK(delegated_renderer_layer_.get() || surface_layer_.get()); 731 DCHECK(delegated_renderer_layer_.get() || surface_layer_.get());
723 if (!delegate_) 732 if (!delegate_)
724 return; 733 return;
725 delegate_->OnDelegatedFrameDamage(damage_rect_in_dip); 734 delegate_->OnDelegatedFrameDamage(damage_rect_in_dip);
726 } 735 }
727 736
728 void Layer::RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request) { 737 void Layer::RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request) {
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 children_.end(), 1080 children_.end(),
1072 std::bind2nd(std::mem_fun(&Layer::RemoveAnimatorsInTreeFromCollection), 1081 std::bind2nd(std::mem_fun(&Layer::RemoveAnimatorsInTreeFromCollection),
1073 collection)); 1082 collection));
1074 } 1083 }
1075 1084
1076 bool Layer::IsAnimating() const { 1085 bool Layer::IsAnimating() const {
1077 return animator_.get() && animator_->is_animating(); 1086 return animator_.get() && animator_->is_animating();
1078 } 1087 }
1079 1088
1080 } // namespace ui 1089 } // namespace ui
OLDNEW
« no previous file with comments | « ui/compositor/layer.h ('k') | ui/wm/core/shadow.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698