| Index: ui/views/view.h
|
| diff --git a/ui/views/view.h b/ui/views/view.h
|
| index 7a8a7b327ebb5627de5a291fa7d0c06d35e3162e..33487f5391469e2d9bb3e2b89263b68e951944b7 100644
|
| --- a/ui/views/view.h
|
| +++ b/ui/views/view.h
|
| @@ -37,6 +37,7 @@
|
| #include "ui/gfx/geometry/vector2d.h"
|
| #include "ui/gfx/native_widget_types.h"
|
| #include "ui/gfx/path.h"
|
| +#include "ui/views/paint_info.h"
|
| #include "ui/views/view_targeter.h"
|
| #include "ui/views/views_export.h"
|
|
|
| @@ -543,7 +544,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
| // for View coordinates and language direction as required, allows the View
|
| // to paint itself via the various OnPaint*() event handlers and then paints
|
| // the hierarchy beneath it.
|
| - void Paint(const ui::PaintContext& parent_context);
|
| + void Paint(const PaintInfo& parent_paint_info);
|
|
|
| // The background object may be null.
|
| void SetBackground(std::unique_ptr<Background> b);
|
| @@ -1152,7 +1153,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
|
|
| // Responsible for calling Paint() on child Views. Override to control the
|
| // order child Views are painted.
|
| - virtual void PaintChildren(const ui::PaintContext& context);
|
| + virtual void PaintChildren(const PaintInfo& info);
|
|
|
| // Override to provide rendering in any part of the View's bounds. Typically
|
| // this is the "contents" of the view. If you override this method you will
|
| @@ -1271,6 +1272,12 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
| // hierarchy).
|
| virtual void OnNativeThemeChanged(const ui::NativeTheme* theme) {}
|
|
|
| + // Pixel Canvas --------------------------------------------------------------
|
| +
|
| + // Returns the type of scaling to be done for this View. Values should be from
|
| + // PaintInfo::ScaleType.
|
| + virtual PaintInfo::ScaleType GetPaintScaleType() const;
|
| +
|
| // Debugging -----------------------------------------------------------------
|
|
|
| #if !defined(NDEBUG)
|
| @@ -1296,6 +1303,10 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
| friend class ViewLayerTest;
|
| friend class Widget;
|
|
|
| + FRIEND_TEST_ALL_PREFIXES(ViewTest, PaintWithMovedViewUsesCache);
|
| + FRIEND_TEST_ALL_PREFIXES(ViewTest, PaintWithMovedViewUsesCacheInRTL);
|
| + FRIEND_TEST_ALL_PREFIXES(ViewTest, PaintWithUnknownInvalidation);
|
| +
|
| // Painting -----------------------------------------------------------------
|
|
|
| enum SchedulePaintType {
|
| @@ -1319,17 +1330,19 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
| // during painting.
|
| bool ShouldPaint() const;
|
|
|
| - // Returns the offset that should be used when constructing the paint context
|
| + // Returns the bounds that should be used when constructing the |PaintInfo|
|
| // for this view.
|
| - gfx::Vector2d GetPaintContextOffset() const;
|
| + gfx::Rect GetPaintRecordingBounds() const;
|
|
|
| // Adjusts the transform of |recorder| in advance of painting.
|
| - void SetupTransformRecorderForPainting(ui::TransformRecorder* recorder) const;
|
| + void SetupTransformRecorderForPainting(
|
| + ui::TransformRecorder* recorder,
|
| + const gfx::Vector2d& offset_from_parent) const;
|
|
|
| // Recursively calls the painting method |func| on all non-layered children,
|
| // in Z order.
|
| - void RecursivePaintHelper(void (View::*func)(const ui::PaintContext&),
|
| - const ui::PaintContext& context);
|
| + void RecursivePaintHelper(void (View::*func)(const PaintInfo&),
|
| + const PaintInfo& info);
|
|
|
| // Invokes Paint() and, if necessary, PaintDebugRects(). Should be called
|
| // only on the root of a widget/layer. PaintDebugRects() is invoked as a
|
| @@ -1340,7 +1353,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
| // Draws a semitransparent rect to indicate the bounds of this view.
|
| // Recursively does the same for all children. Invoked only with
|
| // --draw-view-bounds-rects.
|
| - void PaintDebugRects(const ui::PaintContext& parent_context);
|
| + void PaintDebugRects(const PaintInfo& paint_info);
|
|
|
| // Tree operations -----------------------------------------------------------
|
|
|
|
|