| 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 "ui/views/controls/scrollbar/bitmap_scroll_bar.h" | 5 #include "ui/views/controls/scrollbar/bitmap_scroll_bar.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 canvas->DrawBitmapInt(*end_cap_bitmap(), 0, | 127 canvas->DrawBitmapInt(*end_cap_bitmap(), 0, |
| 128 height() - bottom_cap_height); | 128 height() - bottom_cap_height); |
| 129 | 129 |
| 130 // Paint the grippy over the track. | 130 // Paint the grippy over the track. |
| 131 int grippy_x = (width() - grippy_bitmap()->width()) / 2; | 131 int grippy_x = (width() - grippy_bitmap()->width()) / 2; |
| 132 int grippy_y = (thumb_body_height - grippy_bitmap()->height()) / 2; | 132 int grippy_y = (thumb_body_height - grippy_bitmap()->height()) / 2; |
| 133 canvas->DrawBitmapInt(*grippy_bitmap(), grippy_x, grippy_y); | 133 canvas->DrawBitmapInt(*grippy_bitmap(), grippy_x, grippy_y); |
| 134 } | 134 } |
| 135 | 135 |
| 136 private: | 136 private: |
| 137 // Returns the bitmap rendered at the start of the thumb. | 137 // Returns the image rendered at the start of the thumb. |
| 138 SkBitmap* start_cap_bitmap() const { | 138 gfx::ImageSkia* start_cap_bitmap() const { |
| 139 return scroll_bar_->images_[BitmapScrollBar::THUMB_START_CAP][GetState()]; | 139 return scroll_bar_->images_[BitmapScrollBar::THUMB_START_CAP][GetState()]; |
| 140 } | 140 } |
| 141 | 141 |
| 142 // Returns the bitmap rendered at the end of the thumb. | 142 // Returns the image rendered at the end of the thumb. |
| 143 SkBitmap* end_cap_bitmap() const { | 143 gfx::ImageSkia* end_cap_bitmap() const { |
| 144 return scroll_bar_->images_[BitmapScrollBar::THUMB_END_CAP][GetState()]; | 144 return scroll_bar_->images_[BitmapScrollBar::THUMB_END_CAP][GetState()]; |
| 145 } | 145 } |
| 146 | 146 |
| 147 // Returns the bitmap that is tiled in the background of the thumb between | 147 // Returns the image that is tiled in the background of the thumb between |
| 148 // the start and the end caps. | 148 // the start and the end caps. |
| 149 SkBitmap* background_bitmap() const { | 149 gfx::ImageSkia* background_bitmap() const { |
| 150 return scroll_bar_->images_[BitmapScrollBar::THUMB_MIDDLE][GetState()]; | 150 return scroll_bar_->images_[BitmapScrollBar::THUMB_MIDDLE][GetState()]; |
| 151 } | 151 } |
| 152 | 152 |
| 153 // Returns the bitmap that is rendered in the middle of the thumb | 153 // Returns the image that is rendered in the middle of the thumb |
| 154 // transparently over the background bitmap. | 154 // transparently over the background bitmap. |
| 155 SkBitmap* grippy_bitmap() const { | 155 gfx::ImageSkia* grippy_bitmap() const { |
| 156 return scroll_bar_->images_[BitmapScrollBar::THUMB_GRIPPY] | 156 return scroll_bar_->images_[BitmapScrollBar::THUMB_GRIPPY] |
| 157 [CustomButton::BS_NORMAL]; | 157 [CustomButton::BS_NORMAL]; |
| 158 } | 158 } |
| 159 | 159 |
| 160 // The BitmapScrollBar that owns us. | 160 // The BitmapScrollBar that owns us. |
| 161 BitmapScrollBar* scroll_bar_; | 161 BitmapScrollBar* scroll_bar_; |
| 162 | 162 |
| 163 DISALLOW_COPY_AND_ASSIGN(BitmapScrollBarThumb); | 163 DISALLOW_COPY_AND_ASSIGN(BitmapScrollBarThumb); |
| 164 }; | 164 }; |
| 165 | 165 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 181 AddChildView(prev_button_); | 181 AddChildView(prev_button_); |
| 182 AddChildView(next_button_); | 182 AddChildView(next_button_); |
| 183 | 183 |
| 184 set_context_menu_controller(this); | 184 set_context_menu_controller(this); |
| 185 prev_button_->set_context_menu_controller(this); | 185 prev_button_->set_context_menu_controller(this); |
| 186 next_button_->set_context_menu_controller(this); | 186 next_button_->set_context_menu_controller(this); |
| 187 } | 187 } |
| 188 | 188 |
| 189 void BitmapScrollBar::SetImage(ScrollBarPart part, | 189 void BitmapScrollBar::SetImage(ScrollBarPart part, |
| 190 CustomButton::ButtonState state, | 190 CustomButton::ButtonState state, |
| 191 SkBitmap* bitmap) { | 191 gfx::ImageSkia* image_skia) { |
| 192 DCHECK(part < PART_COUNT); | 192 DCHECK(part < PART_COUNT); |
| 193 DCHECK(state < CustomButton::BS_COUNT); | 193 DCHECK(state < CustomButton::BS_COUNT); |
| 194 switch (part) { | 194 switch (part) { |
| 195 case PREV_BUTTON: | 195 case PREV_BUTTON: |
| 196 prev_button_->SetImage(state, bitmap); | 196 prev_button_->SetImage(state, image_skia); |
| 197 break; | 197 break; |
| 198 case NEXT_BUTTON: | 198 case NEXT_BUTTON: |
| 199 next_button_->SetImage(state, bitmap); | 199 next_button_->SetImage(state, image_skia); |
| 200 break; | 200 break; |
| 201 case THUMB_START_CAP: | 201 case THUMB_START_CAP: |
| 202 case THUMB_MIDDLE: | 202 case THUMB_MIDDLE: |
| 203 case THUMB_END_CAP: | 203 case THUMB_END_CAP: |
| 204 case THUMB_GRIPPY: | 204 case THUMB_GRIPPY: |
| 205 case THUMB_TRACK: | 205 case THUMB_TRACK: |
| 206 images_[part][state] = bitmap; | 206 images_[part][state] = image_skia; |
| 207 break; | 207 break; |
| 208 } | 208 } |
| 209 } | 209 } |
| 210 | 210 |
| 211 int BitmapScrollBar::GetLayoutSize() const { | 211 int BitmapScrollBar::GetLayoutSize() const { |
| 212 gfx::Size prefsize = prev_button_->GetPreferredSize(); | 212 gfx::Size prefsize = prev_button_->GetPreferredSize(); |
| 213 return IsHorizontal() ? prefsize.height() : prefsize.width(); | 213 return IsHorizontal() ? prefsize.height() : prefsize.width(); |
| 214 } | 214 } |
| 215 | 215 |
| 216 gfx::Rect BitmapScrollBar::GetTrackBounds() const { | 216 gfx::Rect BitmapScrollBar::GetTrackBounds() const { |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 | 301 |
| 302 void BitmapScrollBar::ButtonPressed(Button* sender, const views::Event& event) { | 302 void BitmapScrollBar::ButtonPressed(Button* sender, const views::Event& event) { |
| 303 if (sender == prev_button_) { | 303 if (sender == prev_button_) { |
| 304 ScrollByAmount(SCROLL_PREV_LINE); | 304 ScrollByAmount(SCROLL_PREV_LINE); |
| 305 } else if (sender == next_button_) { | 305 } else if (sender == next_button_) { |
| 306 ScrollByAmount(SCROLL_NEXT_LINE); | 306 ScrollByAmount(SCROLL_NEXT_LINE); |
| 307 } | 307 } |
| 308 } | 308 } |
| 309 | 309 |
| 310 } // namespace views | 310 } // namespace views |
| OLD | NEW |