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_