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

Side by Side Diff: ui/views/controls/button/image_button.cc

Issue 1534303002: CustomButton cleanup: make protected members private, create accessors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert a change Created 5 years 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
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/views/controls/button/image_button.h" 5 #include "ui/views/controls/button/image_button.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "ui/accessibility/ax_view_state.h" 8 #include "ui/accessibility/ax_view_state.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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 136
137 void ImageButton::OnBlur() { 137 void ImageButton::OnBlur() {
138 View::OnBlur(); 138 View::OnBlur();
139 if (focus_painter_.get()) 139 if (focus_painter_.get())
140 SchedulePaint(); 140 SchedulePaint();
141 } 141 }
142 142
143 gfx::ImageSkia ImageButton::GetImageToPaint() { 143 gfx::ImageSkia ImageButton::GetImageToPaint() {
144 gfx::ImageSkia img; 144 gfx::ImageSkia img;
145 145
146 if (!images_[STATE_HOVERED].isNull() && hover_animation_->is_animating()) { 146 if (!images_[STATE_HOVERED].isNull() && hover_animation().is_animating()) {
147 img = gfx::ImageSkiaOperations::CreateBlendedImage(images_[STATE_NORMAL], 147 img = gfx::ImageSkiaOperations::CreateBlendedImage(
148 images_[STATE_HOVERED], hover_animation_->GetCurrentValue()); 148 images_[STATE_NORMAL], images_[STATE_HOVERED],
149 hover_animation().GetCurrentValue());
149 } else { 150 } else {
150 img = images_[state_]; 151 img = images_[state()];
151 } 152 }
152 153
153 return !img.isNull() ? img : images_[STATE_NORMAL]; 154 return !img.isNull() ? img : images_[STATE_NORMAL];
154 } 155 }
155 156
156 //////////////////////////////////////////////////////////////////////////////// 157 ////////////////////////////////////////////////////////////////////////////////
157 // ImageButton, private: 158 // ImageButton, private:
158 159
159 gfx::Point ImageButton::ComputeImagePaintPosition(const gfx::ImageSkia& image) { 160 gfx::Point ImageButton::ComputeImagePaintPosition(const gfx::ImageSkia& image) {
160 int x = 0, y = 0; 161 int x = 0, y = 0;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 gfx::ImageSkia temp = images_[i]; 204 gfx::ImageSkia temp = images_[i];
204 images_[i] = alternate_images_[i]; 205 images_[i] = alternate_images_[i];
205 alternate_images_[i] = temp; 206 alternate_images_[i] = temp;
206 } 207 }
207 toggled_ = toggled; 208 toggled_ = toggled;
208 SchedulePaint(); 209 SchedulePaint();
209 210
210 NotifyAccessibilityEvent(ui::AX_EVENT_VALUE_CHANGED, true); 211 NotifyAccessibilityEvent(ui::AX_EVENT_VALUE_CHANGED, true);
211 } 212 }
212 213
213 void ToggleImageButton::SetToggledImage(ButtonState state, 214 void ToggleImageButton::SetToggledImage(ButtonState image_state,
214 const gfx::ImageSkia* image) { 215 const gfx::ImageSkia* image) {
215 if (toggled_) { 216 if (toggled_) {
216 images_[state] = image ? *image : gfx::ImageSkia(); 217 images_[image_state] = image ? *image : gfx::ImageSkia();
217 if (state_ == state) 218 if (state() == image_state)
218 SchedulePaint(); 219 SchedulePaint();
219 } else { 220 } else {
220 alternate_images_[state] = image ? *image : gfx::ImageSkia(); 221 alternate_images_[image_state] = image ? *image : gfx::ImageSkia();
221 } 222 }
222 } 223 }
223 224
224 void ToggleImageButton::SetToggledTooltipText(const base::string16& tooltip) { 225 void ToggleImageButton::SetToggledTooltipText(const base::string16& tooltip) {
225 toggled_tooltip_text_ = tooltip; 226 toggled_tooltip_text_ = tooltip;
226 } 227 }
227 228
228 //////////////////////////////////////////////////////////////////////////////// 229 ////////////////////////////////////////////////////////////////////////////////
229 // ToggleImageButton, ImageButton overrides: 230 // ToggleImageButton, ImageButton overrides:
230 231
231 const gfx::ImageSkia& ToggleImageButton::GetImage(ButtonState state) const { 232 const gfx::ImageSkia& ToggleImageButton::GetImage(
233 ButtonState image_state) const {
232 if (toggled_) 234 if (toggled_)
233 return alternate_images_[state]; 235 return alternate_images_[image_state];
234 return images_[state]; 236 return images_[image_state];
235 } 237 }
236 238
237 void ToggleImageButton::SetImage(ButtonState state, 239 void ToggleImageButton::SetImage(ButtonState image_state,
238 const gfx::ImageSkia* image) { 240 const gfx::ImageSkia* image) {
239 if (toggled_) { 241 if (toggled_) {
240 alternate_images_[state] = image ? *image : gfx::ImageSkia(); 242 alternate_images_[image_state] = image ? *image : gfx::ImageSkia();
241 } else { 243 } else {
242 images_[state] = image ? *image : gfx::ImageSkia(); 244 images_[image_state] = image ? *image : gfx::ImageSkia();
243 if (state_ == state) 245 if (state() == image_state)
244 SchedulePaint(); 246 SchedulePaint();
245 } 247 }
246 PreferredSizeChanged(); 248 PreferredSizeChanged();
247 } 249 }
248 250
249 //////////////////////////////////////////////////////////////////////////////// 251 ////////////////////////////////////////////////////////////////////////////////
250 // ToggleImageButton, View overrides: 252 // ToggleImageButton, View overrides:
251 253
252 bool ToggleImageButton::GetTooltipText(const gfx::Point& p, 254 bool ToggleImageButton::GetTooltipText(const gfx::Point& p,
253 base::string16* tooltip) const { 255 base::string16* tooltip) const {
254 if (!toggled_ || toggled_tooltip_text_.empty()) 256 if (!toggled_ || toggled_tooltip_text_.empty())
255 return Button::GetTooltipText(p, tooltip); 257 return Button::GetTooltipText(p, tooltip);
256 258
257 *tooltip = toggled_tooltip_text_; 259 *tooltip = toggled_tooltip_text_;
258 return true; 260 return true;
259 } 261 }
260 262
261 void ToggleImageButton::GetAccessibleState(ui::AXViewState* state) { 263 void ToggleImageButton::GetAccessibleState(ui::AXViewState* state) {
262 ImageButton::GetAccessibleState(state); 264 ImageButton::GetAccessibleState(state);
263 GetTooltipText(gfx::Point(), &state->name); 265 GetTooltipText(gfx::Point(), &state->name);
264 } 266 }
265 267
266 } // namespace views 268 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698