// Copyright 2012 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_LAYERS_HEADS_UP_DISPLAY_LAYER_H_ #define CC_LAYERS_HEADS_UP_DISPLAY_LAYER_H_ #include #include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "cc/base/cc_export.h" #include "cc/layers/layer.h" #include "third_party/skia/include/core/SkTypeface.h" namespace cc { namespace proto { class LayerNode; } // namespace proto class CC_EXPORT HeadsUpDisplayLayer : public Layer { public: static scoped_refptr Create(); void PrepareForCalculateDrawProperties( const gfx::Size& device_viewport, float device_scale_factor); scoped_ptr CreateLayerImpl(LayerTreeImpl* tree_impl) override; void SetTypeForProtoSerialization(proto::LayerNode* proto) const override; // Layer overrides. void PushPropertiesTo(LayerImpl* layer) override; protected: HeadsUpDisplayLayer(); bool HasDrawableContent() const override; private: ~HeadsUpDisplayLayer() override; skia::RefPtr typeface_; DISALLOW_COPY_AND_ASSIGN(HeadsUpDisplayLayer); }; } // namespace cc #endif // CC_LAYERS_HEADS_UP_DISPLAY_LAYER_H_