// Copyright 2016 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.

module cc.mojom;

import "ui/gfx/geometry/mojo/geometry.mojom";
import "ui/gfx/mojo/transform.mojom";

struct SharedQuadState {
  // gfx.mojom.Transforms quad rects into the target content space.
  gfx.mojom.Transform quad_to_target_transform;

  // The size of the quads' originating layer in the space of the quad rects.
  gfx.mojom.Size quad_layer_bounds;

  // The size of the visible area in the quads' originating layer, in the space
  // of the quad rects.
  gfx.mojom.Rect visible_quad_layer_rect;

  // This rect lives in the target content space.
  gfx.mojom.Rect clip_rect;

  bool is_clipped;
  float opacity;
  // TODO(fsamuel): Change this to an SkXfermode enum once native enums are
  // supported.
  uint32 blend_mode;
  int32 sorting_context_id;
};
