IPC: Remove debugging code.
[chromium-blink-merge.git] / cc / layers / content_layer_client.h
blob0140513cbb866ad5c37b121057839aa9199ad32d
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"
10 class SkCanvas;
12 namespace gfx {
13 class Rect;
14 class RectF;
17 namespace cc {
19 class CC_EXPORT ContentLayerClient {
20 public:
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;
38 protected:
39 virtual ~ContentLayerClient() {}
42 } // namespace cc
44 #endif // CC_LAYERS_CONTENT_LAYER_CLIENT_H_