content_layer_client.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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.
4
5#ifndef CC_LAYERS_CONTENT_LAYER_CLIENT_H_
6#define CC_LAYERS_CONTENT_LAYER_CLIENT_H_
7
8#include "cc/base/cc_export.h"
9
10class SkCanvas;
11
12namespace gfx {
13class Rect;
14class RectF;
15}
16
17namespace cc {
18
19class CC_EXPORT ContentLayerClient {
20 public:
21  virtual void PaintContents(SkCanvas* canvas,
22                             gfx::Rect clip,
23                             gfx::RectF* opaque) = 0;
24
25  // Called by the content layer during the update phase.
26  // If the client paints LCD text, it may want to invalidate the layer.
27  virtual void DidChangeLayerCanUseLCDText() = 0;
28
29 protected:
30  virtual ~ContentLayerClient() {}
31};
32
33}  // namespace cc
34
35#endif  // CC_LAYERS_CONTENT_LAYER_CLIENT_H_
36