| Index: views/bubble/bubble_delegate.h
|
| diff --git a/views/bubble/bubble_delegate.h b/views/bubble/bubble_delegate.h
|
| index 32cf0a459b6a5fd3cf7ab4e36f04c25a298b8a06..3b303f77e70fe852764757c75b5c717e07fb88ba 100644
|
| --- a/views/bubble/bubble_delegate.h
|
| +++ b/views/bubble/bubble_delegate.h
|
| @@ -6,56 +6,52 @@
|
| #define VIEWS_BUBBLE_BUBBLE_DELEGATE_H_
|
| #pragma once
|
|
|
| -#include <string>
|
| -
|
| #include "views/bubble/bubble_border.h"
|
| -#include "views/view.h"
|
| #include "views/widget/widget_delegate.h"
|
|
|
| namespace views {
|
| -class BubbleBorder;
|
| +
|
| class BubbleFrameView;
|
| class BubbleView;
|
| -class View;
|
|
|
| -// BubbleDelegate interface to create bubble frame view and bubble client view.
|
| +// BubbleDelegateView creates frame and client views for bubble Widgets.
|
| +// BubbleDelegateView itself is the client's contents view.
|
| //
|
| ///////////////////////////////////////////////////////////////////////////////
|
| -class VIEWS_EXPORT BubbleDelegate : public WidgetDelegate {
|
| +class VIEWS_EXPORT BubbleDelegateView : public WidgetDelegateView {
|
| public:
|
| - virtual BubbleDelegate* AsBubbleDelegate() OVERRIDE;
|
| + virtual ~BubbleDelegateView();
|
| +
|
| + // Create a bubble Widget from the argument BubbleDelegateView.
|
| + static Widget* CreateBubble(BubbleDelegateView* bubble_delegate,
|
| + Widget* parent_widget);
|
| +
|
| + // WidgetDelegate overrides:
|
| + virtual View* GetContentsView() OVERRIDE { return this; }
|
| virtual ClientView* CreateClientView(Widget* widget) OVERRIDE;
|
| virtual NonClientFrameView* CreateNonClientFrameView() OVERRIDE;
|
|
|
| - virtual SkColor GetFrameBackgroundColor() = 0;
|
| - virtual gfx::Rect GetBounds() = 0;
|
| - virtual BubbleBorder::ArrowLocation GetFrameArrowLocation() = 0;
|
| + // Get the arrow's anchor point in screen space.
|
| + virtual gfx::Point GetAnchorPoint() const;
|
|
|
| - const BubbleView* GetBubbleView() const;
|
| - BubbleView* GetBubbleView();
|
| + // Get the arrow's location on the bubble.
|
| + virtual BubbleBorder::ArrowLocation GetArrowLocation() const {
|
| + return BubbleBorder::TOP_LEFT;
|
| + }
|
|
|
| - const BubbleFrameView* GetBubbleFrameView() const;
|
| - BubbleFrameView* GetBubbleFrameView();
|
| + // Get the color used for the background and border.
|
| + virtual SkColor GetColor() const { return SK_ColorWHITE; }
|
|
|
| protected:
|
| - virtual ~BubbleDelegate() {}
|
| -};
|
| -
|
| -// BubbleDelegateView to create bubble frame view and bubble client view.
|
| -//
|
| -///////////////////////////////////////////////////////////////////////////////
|
| -class VIEWS_EXPORT BubbleDelegateView : public BubbleDelegate, public View {
|
| - public:
|
| - explicit BubbleDelegateView(Widget* frame);
|
| - virtual ~BubbleDelegateView();
|
| -
|
| - // Overridden from WidgetDelegate:
|
| - virtual Widget* GetWidget() OVERRIDE;
|
| - virtual const Widget* GetWidget() const OVERRIDE;
|
| + // Perform view initialization on the contents for bubble sizing.
|
| + virtual void Init() {}
|
|
|
| private:
|
| - Widget* frame_;
|
| - DISALLOW_COPY_AND_ASSIGN(BubbleDelegateView);
|
| + const BubbleView* GetBubbleView() const;
|
| + const BubbleFrameView* GetBubbleFrameView() const;
|
| +
|
| + // Get bubble bounds from the anchor point and client view's preferred size.
|
| + gfx::Rect GetBubbleBounds();
|
| };
|
|
|
| } // namespace views
|
|
|