blob: d37dcbb4f8192a637f5794e67d63f4b37f70dd34 [file] [log] [blame]
// 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;
}
}
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;
}
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;
}
} // namespace mojo