blob: 2e52fd265607520b909ca5ebbabd2e12cc266812 [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/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