// 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/cpp/surfaces_utils.h" #include "geometry/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::SkXfermode::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