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
,
29 GraphicsContextStatus gc_status
) = 0;
31 // Called by the content layer during the update phase.
32 // If the client paints LCD text, it may want to invalidate the layer.
33 virtual void DidChangeLayerCanUseLCDText() = 0;
35 // If true the layer may skip clearing the background before rasterizing,
36 // because it will cover any uncleared data with content.
37 virtual bool FillsBoundsCompletely() const = 0;
40 virtual ~ContentLayerClient() {}
45 #endif // CC_LAYERS_CONTENT_LAYER_CLIENT_H_