| // Copyright 2014 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. |
| |
| #include "surfaces/public/cpp/surfaces_utils.h" |
| |
| #include "geometry/public/interfaces/geometry.mojom.h" |
| |
| namespace mojo { |
| |
| namespace { |
| TransformPtr GetIdentityTransform() { |
| TransformPtr transform(Transform::New()); |
| transform->matrix.resize(16); |
| transform->matrix[0] = 1.f; |
| transform->matrix[5] = 1.f; |
| transform->matrix[10] = 1.f; |
| transform->matrix[15] = 1.f; |
| return transform.Pass(); |
| } |
| } |
| |
| SharedQuadStatePtr CreateDefaultSQS(const Size& size) { |
| SharedQuadStatePtr sqs = SharedQuadState::New(); |
| sqs->content_to_target_transform = GetIdentityTransform(); |
| sqs->content_bounds = size.Clone(); |
| Rect rect; |
| rect.width = size.width; |
| rect.height = size.height; |
| sqs->visible_content_rect = rect.Clone(); |
| sqs->clip_rect = rect.Clone(); |
| sqs->is_clipped = false; |
| sqs->opacity = 1.f; |
| sqs->blend_mode = mojo::SK_XFERMODE_kSrc_Mode; |
| sqs->sorting_context_id = 0; |
| return sqs.Pass(); |
| } |
| |
| PassPtr CreateDefaultPass(int id, const Rect& rect) { |
| PassPtr pass = Pass::New(); |
| pass->id = id; |
| pass->output_rect = rect.Clone(); |
| pass->damage_rect = rect.Clone(); |
| pass->transform_to_root_target = GetIdentityTransform(); |
| pass->has_transparent_background = false; |
| return pass.Pass(); |
| } |
| |
| } // namespace mojo |