while (const char *key = NextObjectKey()) {
if (0 == strcmp(key, "ty")) {
auto child = parseObjectTypeAttr();
- if (child) {
- if (child) parent->mChildren.push_back(child);
- }
+ if (child && !child->hidden()) parent->mChildren.push_back(child);
} else {
Skip(key);
}
parseProperty(obj->mRound);
} else if (0 == strcmp(key, "d")) {
obj->mDirection = GetInt();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
Skip(key);
}
parseProperty(obj->mSize);
} else if (0 == strcmp(key, "d")) {
obj->mDirection = GetInt();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
Skip(key);
}
parseShapeProperty(obj->mShape);
} else if (0 == strcmp(key, "d")) {
obj->mDirection = GetInt();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vDebug << "Shape property ignored :" << key;
if (starType == 2) obj->mType = LOTPolystarData::PolyType::Polygon;
} else if (0 == strcmp(key, "d")) {
obj->mDirection = GetInt();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vDebug << "Polystar property ignored :" << key;
parseProperty(obj->mOffset);
} else if (0 == strcmp(key, "m")) {
obj->mTrimType = getTrimType();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vDebug << "Trim property ignored :" << key;
parseProperty(obj->mOffset);
} else if (0 == strcmp(key, "tr")) {
obj->mTransform = parseTransformObject();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vDebug << "Repeater property ignored :" << key;
parseProperty(obj->mSkewAxis);
} else if (0 == strcmp(key, "o")) {
parseProperty(obj->mOpacity);
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
Skip(key);
}
obj->mEnabled = GetBool();
} else if (0 == strcmp(key, "r")) {
obj->mFillRule = getFillRule();
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vWarning << "Fill property skipped = " << key;
obj->mMeterLimit = GetDouble();
} else if (0 == strcmp(key, "d")) {
parseDashProperty(obj->mDash);
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vWarning << "Stroke property skipped = " << key;
Skip(nullptr);
}
}
+ } else if (0 == strcmp(key, "hd")) {
+ obj->mHidden = GetBool();
} else {
#ifdef DEBUG_PARSER
vWarning << "Gradient property skipped = " << key;