Abstract GoogleURLTracker & google_util Profile dependencies
[chromium-blink-merge.git] / cc / layers / content_layer_client.h
blob8271cd5e27f1711d2e2e7ba8ee38c2b39d82c7ea
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 gfx::RectF* opaque,
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;
39 protected:
40 virtual ~ContentLayerClient() {}
43 } // namespace cc
45 #endif // CC_LAYERS_CONTENT_LAYER_CLIENT_H_