blob: 74a3c5965dec741a9cc2d8210cde5cfea3b8e41b [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_PAINT_DISPLAY_ITEM_H_
#define CC_PAINT_DISPLAY_ITEM_H_
#include <stddef.h>
#include <memory>
#include "cc/cc_export.h"
#include "cc/debug/traced_value.h"
#include "cc/paint/paint_export.h"
#include "third_party/skia/include/core/SkPicture.h"
#include "ui/gfx/geometry/rect.h"
namespace cc {
class CC_PAINT_EXPORT DisplayItem {
public:
virtual ~DisplayItem() = default;
enum Type {
CLIP,
END_CLIP,
CLIP_PATH,
END_CLIP_PATH,
COMPOSITING,
END_COMPOSITING,
DRAWING,
FILTER,
END_FILTER,
FLOAT_CLIP,
END_FLOAT_CLIP,
TRANSFORM,
END_TRANSFORM,
};
const Type type;
protected:
explicit DisplayItem(Type type) : type(type) {}
};
} // namespace cc
#endif // CC_PAINT_DISPLAY_ITEM_H_