OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "mash/wm/frame/caption_buttons/frame_caption_button.h" | 5 #include "mash/wm/frame/caption_buttons/frame_caption_button.h" |
6 | 6 |
7 #include "ui/base/resource/resource_bundle.h" | 7 #include "ui/base/resource/resource_bundle.h" |
8 #include "ui/gfx/animation/slide_animation.h" | 8 #include "ui/gfx/animation/slide_animation.h" |
9 #include "ui/gfx/animation/throb_animation.h" | 9 #include "ui/gfx/animation/throb_animation.h" |
10 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 gfx::Size FrameCaptionButton::GetPreferredSize() const { | 104 gfx::Size FrameCaptionButton::GetPreferredSize() const { |
105 return hovered_background_image_.isNull() ? gfx::Size() | 105 return hovered_background_image_.isNull() ? gfx::Size() |
106 : hovered_background_image_.size(); | 106 : hovered_background_image_.size(); |
107 } | 107 } |
108 | 108 |
109 const char* FrameCaptionButton::GetClassName() const { | 109 const char* FrameCaptionButton::GetClassName() const { |
110 return kViewClassName; | 110 return kViewClassName; |
111 } | 111 } |
112 | 112 |
113 void FrameCaptionButton::OnPaint(gfx::Canvas* canvas) { | 113 void FrameCaptionButton::OnPaint(gfx::Canvas* canvas) { |
114 if (hover_animation_->is_animating() || state() == STATE_HOVERED) { | 114 if (hover_animation().is_animating() || state() == STATE_HOVERED) { |
115 int hovered_background_alpha = | 115 int hovered_background_alpha = |
116 hover_animation_->is_animating() | 116 hover_animation().CurrentValueBetween(0, 255); |
117 ? hover_animation_->CurrentValueBetween(0, 255) | |
118 : 255; | |
119 SkPaint paint; | 117 SkPaint paint; |
120 paint.setAlpha(hovered_background_alpha); | 118 paint.setAlpha(hovered_background_alpha); |
121 canvas->DrawImageInt(hovered_background_image_, 0, 0, paint); | 119 canvas->DrawImageInt(hovered_background_image_, 0, 0, paint); |
122 } else if (state() == STATE_PRESSED) { | 120 } else if (state() == STATE_PRESSED) { |
123 canvas->DrawImageInt(pressed_background_image_, 0, 0); | 121 canvas->DrawImageInt(pressed_background_image_, 0, 0); |
124 } | 122 } |
125 | 123 |
126 int icon_alpha = swap_images_animation_->CurrentValueBetween(0, 255); | 124 int icon_alpha = swap_images_animation_->CurrentValueBetween(0, 255); |
127 int crossfade_icon_alpha = 0; | 125 int crossfade_icon_alpha = 0; |
128 if (icon_alpha < static_cast<int>(kFadeOutRatio * 255)) | 126 if (icon_alpha < static_cast<int>(kFadeOutRatio * 255)) |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 } | 167 } |
170 CustomButton::OnGestureEvent(event); | 168 CustomButton::OnGestureEvent(event); |
171 } | 169 } |
172 | 170 |
173 void FrameCaptionButton::PaintCentered(gfx::Canvas* canvas, | 171 void FrameCaptionButton::PaintCentered(gfx::Canvas* canvas, |
174 const gfx::ImageSkia& to_center, | 172 const gfx::ImageSkia& to_center, |
175 int alpha) { | 173 int alpha) { |
176 if (!paint_as_active_) { | 174 if (!paint_as_active_) { |
177 // Paint icons as active when they are hovered over or pressed. | 175 // Paint icons as active when they are hovered over or pressed. |
178 double inactive_alpha = kInactiveIconAlpha; | 176 double inactive_alpha = kInactiveIconAlpha; |
179 if (hover_animation_->is_animating()) { | 177 if (hover_animation().is_animating()) { |
180 inactive_alpha = | 178 inactive_alpha = |
181 hover_animation_->CurrentValueBetween(inactive_alpha, 1.0f); | 179 hover_animation().CurrentValueBetween(inactive_alpha, 1.0f); |
182 } else if (state() == STATE_PRESSED || state() == STATE_HOVERED) { | 180 } else if (state() == STATE_PRESSED || state() == STATE_HOVERED) { |
183 inactive_alpha = 1.0f; | 181 inactive_alpha = 1.0f; |
184 } | 182 } |
185 alpha *= inactive_alpha; | 183 alpha *= inactive_alpha; |
186 } | 184 } |
187 | 185 |
188 SkPaint paint; | 186 SkPaint paint; |
189 paint.setAlpha(alpha); | 187 paint.setAlpha(alpha); |
190 canvas->DrawImageInt(to_center, (width() - to_center.width()) / 2, | 188 canvas->DrawImageInt(to_center, (width() - to_center.width()) / 2, |
191 (height() - to_center.height()) / 2, paint); | 189 (height() - to_center.height()) / 2, paint); |
192 } | 190 } |
193 | 191 |
194 } // namespace wm | 192 } // namespace wm |
195 } // namespace mash | 193 } // namespace mash |
OLD | NEW |