• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef UI_GFX_CANVAS_PAINT_H_
6 #define UI_GFX_CANVAS_PAINT_H_
7 
8 #include "ui/gfx/gfx_export.h"
9 #include "ui/gfx/native_widget_types.h"
10 
11 namespace gfx {
12 
13 class Canvas;
14 class Rect;
15 
16 class CanvasPaint {
17  public:
18   // Creates a canvas that paints to |view| when it is destroyed. The canvas is
19   // sized to the client area of |view|.
20   GFX_EXPORT static CanvasPaint* CreateCanvasPaint(gfx::NativeView view);
21 
~CanvasPaint()22   virtual ~CanvasPaint() {}
23 
24   // Returns true if the canvas has an invalid rect that needs to be repainted.
25   virtual bool IsValid() const = 0;
26 
27   // Returns the rectangle that is invalid.
28   virtual gfx::Rect GetInvalidRect() const = 0;
29 
30   // Returns the underlying Canvas.
31   virtual Canvas* AsCanvas() = 0;
32 };
33 
34 }  // namespace gfx
35 
36 #endif  // UI_GFX_CANVAS_PAINT_H_
37