// Copyright 2018 The Fuchsia 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 SRC_UI_LIB_ESCHER_PAPER_PAPER_MATERIAL_H_
#define SRC_UI_LIB_ESCHER_PAPER_PAPER_MATERIAL_H_

#include "src/ui/lib/escher/material/material.h"
#include "src/ui/lib/escher/paper/paper_readme.h"

namespace escher {

// Placeholder for a real PaperMaterial class.  Good enough for now.
using PaperMaterial = Material;
using PaperMaterialPtr = MaterialPtr;

}  // namespace escher

#endif  // SRC_UI_LIB_ESCHER_PAPER_PAPER_MATERIAL_H_
