parseMaskProperty(layer);
} else if (0 == strcmp(key, "ao")) {
layer->mAutoOrient = GetInt();
+ } else if (0 == strcmp(key, "hd")) {
+ layer->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vWarning << "Layer Attribute Skipped : " << key;
}
}
+ layer->mCompRef = compRef;
+
+ if (layer->hidden()) {
+ // if layer is hidden, only data that is usefull is its
+ // transform matrix(when it is a parent of some other layer)
+ // so force it to be a Null Layer and release all resource.
+ layer->setStatic(layer->mTransform->isStatic());
+ layer->mLayerType = LayerType::Null;
+ layer->mChildren = {};
+ return sharedLayer;
+ }
+
// update the static property of layer
bool staticFlag = true;
for (const auto& child : layer->mChildren) {
}
layer->setStatic(staticFlag && layer->mTransform->isStatic());
- layer->mCompRef = compRef;
if (record) {
mLayerInfoList.push_back(LayerInfo(layer->mName, layer->mInFrame, layer->mOutFrame));