Flutter Engine
 
Loading...
Searching...
No Matches
embedder_layers.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter 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.
4
5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_LAYERS_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_LAYERS_H_
7
8#include <memory>
9#include <vector>
10
12#include "flutter/fml/macros.h"
14
15namespace flutter {
16
18 public:
19 EmbedderLayers(DlISize frame_size,
20 double device_pixel_ratio,
21 DlMatrix root_surface_transformation,
22 uint64_t presentation_time);
23
25
27 const std::vector<DlIRect>& drawn_region);
28
31
33 std::function<bool(FlutterViewId view_id,
34 const std::vector<const FlutterLayer*>& layers)>;
36 const PresentCallback& callback) const;
37
38 private:
39 const DlISize frame_size_;
40 const double device_pixel_ratio_;
41 const DlMatrix root_surface_transformation_;
42 std::vector<std::unique_ptr<FlutterPlatformView>> platform_views_referenced_;
43 std::vector<std::unique_ptr<FlutterPlatformViewMutation>>
44 mutations_referenced_;
45 std::vector<std::unique_ptr<std::vector<const FlutterPlatformViewMutation*>>>
46 mutations_arrays_referenced_;
47 std::vector<std::unique_ptr<FlutterBackingStorePresentInfo>>
48 present_info_referenced_;
49 std::vector<std::unique_ptr<FlutterRegion>> regions_referenced_;
50 std::vector<std::unique_ptr<std::vector<FlutterRect>>> rects_referenced_;
51 std::vector<FlutterLayer> presented_layers_;
52 uint64_t presentation_time_;
53
55};
56
57} // namespace flutter
58
59#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_LAYERS_H_
void PushPlatformViewLayer(FlutterPlatformViewIdentifier identifier, const EmbeddedViewParams &params)
void InvokePresentCallback(FlutterViewId view_id, const PresentCallback &callback) const
void PushBackingStoreLayer(const FlutterBackingStore *store, const std::vector< DlIRect > &drawn_region)
std::function< bool(FlutterViewId view_id, const std::vector< const FlutterLayer * > &layers)> PresentCallback
int64_t FlutterPlatformViewIdentifier
Definition embedder.h:1460
const EmbeddedViewParams * params
const FlutterLayer ** layers
G_BEGIN_DECLS FlutterViewId view_id
FlutterDesktopBinaryReply callback
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition macros.h:27
int64_t FlutterViewId
A 4x4 matrix using column-major storage.
Definition matrix.h:37