1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "mojo/services/surfaces/public/cpp/surfaces_utils.h"
7 #include "mojo/services/geometry/public/interfaces/geometry.mojom.h"
12 TransformPtr
GetIdentityTransform() {
13 TransformPtr
transform(Transform::New());
14 transform
->matrix
.resize(16);
15 transform
->matrix
[0] = 1.f
;
16 transform
->matrix
[5] = 1.f
;
17 transform
->matrix
[10] = 1.f
;
18 transform
->matrix
[15] = 1.f
;
19 return transform
.Pass();
23 SharedQuadStatePtr
CreateDefaultSQS(const Size
& size
) {
24 SharedQuadStatePtr sqs
= SharedQuadState::New();
25 sqs
->content_to_target_transform
= GetIdentityTransform();
26 sqs
->content_bounds
= size
.Clone();
28 rect
.width
= size
.width
;
29 rect
.height
= size
.height
;
30 sqs
->visible_content_rect
= rect
.Clone();
31 sqs
->clip_rect
= rect
.Clone();
32 sqs
->is_clipped
= false;
34 sqs
->blend_mode
= mojo::SK_XFERMODE_kSrc_Mode
;
35 sqs
->sorting_context_id
= 0;
39 PassPtr
CreateDefaultPass(int id
, const Rect
& rect
) {
40 PassPtr pass
= Pass::New();
42 pass
->output_rect
= rect
.Clone();
43 pass
->damage_rect
= rect
.Clone();
44 pass
->transform_to_root_target
= GetIdentityTransform();
45 pass
->has_transparent_background
= false;