| // 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/geometry/quad.h" |
| |
| #include <iterator> |
| |
| namespace escher { |
| namespace { |
| |
| constexpr unsigned short g_indices[] = { |
| 0, 1, 2, 0, 2, 3, |
| }; |
| |
| } // namespace |
| |
| Quad::Quad() {} |
| |
| Quad::Quad(vec3 p0, vec3 p1, vec3 p2, vec3 p3) { |
| p[0] = p0; |
| p[1] = p1; |
| p[2] = p2; |
| p[3] = p3; |
| } |
| |
| Quad Quad::CreateFromRect(vec2 position, vec2 size, float z) { |
| return Quad(vec3(position.x, position.y + size.y, z), |
| vec3(position.x + size.x, position.y + size.y, z), |
| vec3(position.x + size.x, position.y, z), vec3(position.x, position.y, z)); |
| } |
| |
| Quad Quad::CreateFillClipSpace(float z) { |
| return CreateFromRect(vec2(-1.0f, 1.0f), vec2(2.0f, -2.0f), z); |
| } |
| |
| const unsigned short* Quad::GetIndices() { return g_indices; } |
| |
| int Quad::GetIndexCount() { return std::size(g_indices); } |
| |
| } // namespace escher |