text: // Copyright 2019 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 "garnet/testing/views/coordinate_test_view.h"
  
  namespace scenic {
  
  CoordinateTestView::CoordinateTestView(ViewContext context,
                                         const std::string& debug_name)
      : BackgroundView(std::move(context), debug_name) {}
  
  void CoordinateTestView::Draw(float cx, float cy, float sx, float sy) {
    BackgroundView::Draw(cx, cy, sx, sy);
  
    EntityNode root_node(session());
    view()->AddChild(root_node);
  
    static const float pane_width = sx / 2;
    static const float pane_height = sy / 2;
  
    for (uint32_t i = 0; i < 2; i++) {
      for (uint32_t j = 0; j < 2; j++) {
        Rectangle pane_shape(session(), pane_width, pane_height);
        Material pane_material(session());
        pane_material.SetColor(i * 255.f, 0, j * 255.f, 255);
  
        ShapeNode pane_node(session());
        pane_node.SetShape(pane_shape);
        pane_node.SetMaterial(pane_material);
        pane_node.SetTranslation((i + 0.5) * pane_width, (j + 0.5) * pane_height,
                                 -20);
        root_node.AddChild(pane_node);
      }
    }
  
    Rectangle pane_shape(session(), sx / 4, sy / 4);
    Material pane_material(session());
    pane_material.SetColor(0, 255, 0, 255);
  
    ShapeNode pane_node(session());
    pane_node.SetShape(pane_shape);
    pane_node.SetMaterial(pane_material);
    pane_node.SetTranslation(0.5 * sx, 0.5 * sy, -40);
    root_node.AddChild(pane_node);
  }
  
  }  // namespace scenic