// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_VIEWS_CONTROLS_SCROLLBAR_SCROLL_BAR_H_ #define UI_VIEWS_CONTROLS_SCROLLBAR_SCROLL_BAR_H_ #include <memory> #include <optional> #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "ui/base/models/simple_menu_model.h" #include "ui/views/animation/scroll_animator.h" #include "ui/views/context_menu_controller.h" #include "ui/views/controls/button/image_button.h" #include "ui/views/repeat_controller.h" #include "ui/views/view.h" #include "ui/views/views_export.h" namespace views { namespace test { class ScrollViewTestApi; } class BaseScrollBarThumb; class MenuRunner; class ScrollBar; ///////////////////////////////////////////////////////////////////////////// // // ScrollBarController // // ScrollBarController defines the method that should be implemented to // receive notification from a scrollbar // ///////////////////////////////////////////////////////////////////////////// class VIEWS_EXPORT ScrollBarController { … }; ///////////////////////////////////////////////////////////////////////////// // // ScrollBar // // A View subclass to wrap to implement a ScrollBar. Our current windows // version simply wraps a native windows scrollbar. // // A scrollbar is either horizontal or vertical // ///////////////////////////////////////////////////////////////////////////// class VIEWS_EXPORT ScrollBar : public View, public ScrollDelegate, public ContextMenuController, public ui::SimpleMenuModel::Delegate { … }; } // namespace views #endif // UI_VIEWS_CONTROLS_SCROLLBAR_SCROLL_BAR_H_