| // Copyright 2016 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. |
| |
| #include "src/ui/lib/escher/material/material.h" |
| |
| namespace escher { |
| |
| Material::Material() = default; |
| Material::~Material() = default; |
| |
| MaterialPtr Material::New(vec4 color, TexturePtr texture) { |
| auto material = fxl::MakeRefCounted<Material>(); |
| material->set_color(color); |
| material->SetTexture(std::move(texture)); |
| return material; |
| } |
| |
| void Material::SetTexture(TexturePtr texture) { |
| texture_ = texture; |
| if (texture) { |
| image_view_ = texture_->vk_image_view(); |
| sampler_ = texture_->sampler()->vk(); |
| } else { |
| image_view_ = nullptr; |
| sampler_ = nullptr; |
| } |
| } |
| |
| } // namespace escher |