Lines Matching full:layer
26 bool sortLayers(LayerProtoParser::Layer* lhs, const LayerProtoParser::Layer* rhs) {
40 bool sortLayerUniquePtrs(const std::unique_ptr<LayerProtoParser::Layer>& lhs,
41 const std::unique_ptr<LayerProtoParser::Layer>& rhs) {
55 std::vector<std::unique_ptr<LayerProtoParser::Layer>> LayerProtoParser::generateLayerTree(
57 std::unordered_map<int32_t, LayerProtoParser::Layer*> layerMap = generateMap(layersProto);
58 std::vector<std::unique_ptr<LayerProtoParser::Layer>> layers;
60 for (std::pair<int32_t, Layer*> kv : layerMap) {
63 // will only be one unique_ptr made for each layer.
64 layers.push_back(std::unique_ptr<Layer>(kv.second));
72 std::unordered_map<int32_t, LayerProtoParser::Layer*> LayerProtoParser::generateMap(
74 std::unordered_map<int32_t, Layer*> layerMap;
89 LayerProtoParser::Layer* LayerProtoParser::generateLayer(const LayerProto& layerProto) {
90 Layer* layer = new Layer();
91 layer->id = layerProto.id();
92 layer->name = layerProto.name();
93 layer->type = layerProto.type();
94 layer->transparentRegion = generateRegion(layerProto.transparent_region());
95 layer->visibleRegion = generateRegion(layerProto.visible_region());
96 layer->damageRegion = generateRegion(layerProto.damage_region());
97 layer->layerStack = layerProto.layer_stack();
98 layer->z = layerProto.z();
99 layer->position = {layerProto.position().x(), layerProto.position().y()};
100 layer->requestedPosition = {layerProto.requested_position().x(),
102 layer->size = {layerProto.size().w(), layerProto.size().h()};
103 layer->crop = generateRect(layerProto.crop());
104 layer->finalCrop = generateRect(layerProto.final_crop());
105 layer->isOpaque = layerProto.is_opaque();
106 layer->invalidate = layerProto.invalidate();
107 layer->dataspace = layerProto.dataspace();
108 layer->pixelFormat = layerProto.pixel_format();
109 layer->color = {layerProto.color().r(), layerProto.color().g(), layerProto.color().b(),
111 layer->requestedColor = {layerProto.requested_color().r(), layerProto.requested_color().g(),
113 layer->flags = layerProto.flags();
114 layer->transform = generateTransform(layerProto.transform());
115 layer->requestedTransform = generateTransform(layerProto.requested_transform());
116 layer->activeBuffer = generateActiveBuffer(layerProto.active_buffer());
117 layer->queuedFrames = layerProto.queued_frames();
118 layer->refreshPending = layerProto.refresh_pending();
119 layer->hwcFrame = generateRect(layerProto.hwc_frame());
120 layer->hwcCrop = generateFloatRect(layerProto.hwc_crop());
121 layer->hwcTransform = layerProto.hwc_transform();
122 layer->windowType = layerProto.window_type();
123 layer->appId = layerProto.app_id();
124 layer->hwcCompositionType = layerProto.hwc_composition_type();
125 layer->isProtected = layerProto.is_protected();
127 return layer;
184 std::unordered_map<int32_t, Layer*>& layerMap) {
190 // parent per child. This ensures there will only be one unique_ptr made for each layer.
191 currLayer->children.push_back(std::unique_ptr<Layer>(layerMap[layerProto.children(i)]));
215 std::vector<std::unique_ptr<LayerProtoParser::Layer>> layers) {
217 for (std::unique_ptr<LayerProtoParser::Layer>& layer : layers) {
218 if (layer->zOrderRelativeOf != nullptr) {
221 result.append(layerToString(layer.get()).c_str());
227 std::string LayerProtoParser::layerToString(LayerProtoParser::Layer* layer) {
230 std::vector<Layer*> traverse(layer->relatives);
231 for (std::unique_ptr<LayerProtoParser::Layer>& child : layer->children) {
249 result.append(layer->to_string().c_str());
290 std::string LayerProtoParser::Layer::to_string() const {