#include "ui/views/controls/button/label_button_image_container.h"
#include "ui/base/models/image_model.h"
#include "ui/views/controls/button/label_button.h"
namespace views {
std::unique_ptr<View> SingleImageContainer::CreateView() {
std::unique_ptr<ImageView> view = std::make_unique<ImageView>();
view->SetCanProcessEventsWithinSubtree(false);
image_view_tracker_.SetView(view.get());
return view;
}
View* SingleImageContainer::GetView() {
return image_view_tracker_.view();
}
const View* SingleImageContainer::GetView() const {
return image_view_tracker_.view();
}
void SingleImageContainer::UpdateImage(const LabelButton* button) {
if (auto* view = image_view_tracker_.view(); view) {
static_cast<ImageView*>(view)->SetImage(ui::ImageModel::FromImageSkia(
button->GetImage(button->GetVisualState())));
}
}
}