// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_GFX_CANVAS_PAINT_H_ #define UI_GFX_CANVAS_PAINT_H_ #include "ui/gfx/gfx_export.h" #include "ui/gfx/native_widget_types.h" namespace gfx { class Canvas; class Rect; class CanvasPaint { public: // Creates a canvas that paints to |view| when it is destroyed. The canvas is // sized to the client area of |view|. GFX_EXPORT static CanvasPaint* CreateCanvasPaint(gfx::NativeView view); virtual ~CanvasPaint() {} // Returns true if the canvas has an invalid rect that needs to be repainted. virtual bool IsValid() const = 0; // Returns the rectangle that is invalid. virtual gfx::Rect GetInvalidRect() const = 0; // Returns the underlying Canvas. virtual Canvas* AsCanvas() = 0; }; } // namespace gfx #endif // UI_GFX_CANVAS_PAINT_H_