mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
// 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
|