1 // Copyright 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.
5 #ifndef CC_LAYERS_CONTENT_LAYER_CLIENT_H_
6 #define CC_LAYERS_CONTENT_LAYER_CLIENT_H_
8 #include "cc/base/cc_export.h"
19 class CC_EXPORT ContentLayerClient {
21 enum GraphicsContextStatus {
22 GRAPHICS_CONTEXT_DISABLED,
23 GRAPHICS_CONTEXT_ENABLED
26 virtual void PaintContents(SkCanvas* canvas,
27 const gfx::Rect& clip,
28 GraphicsContextStatus gc_status) = 0;
30 // Called by the content layer during the update phase.
31 // If the client paints LCD text, it may want to invalidate the layer.
32 virtual void DidChangeLayerCanUseLCDText() = 0;
34 // If true the layer may skip clearing the background before rasterizing,
35 // because it will cover any uncleared data with content.
36 virtual bool FillsBoundsCompletely() const = 0;
39 virtual ~ContentLayerClient() {}
44 #endif // CC_LAYERS_CONTENT_LAYER_CLIENT_H_