279 LDOBJ_SCEMANTIC |
279 LDOBJ_SCEMANTIC |
280 LDOBJ_HAS_MATRIX |
280 LDOBJ_HAS_MATRIX |
281 PROPERTY (LDFile*, fileInfo, setFileInfo) |
281 PROPERTY (LDFile*, fileInfo, setFileInfo) |
282 |
282 |
283 public: |
283 public: |
284 LDSubfileObject() { |
284 enum InlineFlag { |
285 setLinkPointer (this); |
|
286 } |
|
287 |
|
288 enum InlineFlags { |
|
289 DeepInline = (1 << 0), |
285 DeepInline = (1 << 0), |
290 CacheInline = (1 << 1), |
286 CacheInline = (1 << 1), |
291 RendererInline = (1 << 2), |
287 RendererInline = (1 << 2), |
292 |
288 |
293 DeepCacheInline = DeepInline | CacheInline, |
289 DeepCacheInline = DeepInline | CacheInline, |
294 }; |
290 }; |
295 |
291 |
|
292 Q_DECLARE_FLAGS (InlineFlags, InlineFlag) |
|
293 |
|
294 LDSubfileObject() { |
|
295 setLinkPointer (this); |
|
296 } |
|
297 |
296 // Inlines this subfile. Note that return type is an array of heap-allocated |
298 // Inlines this subfile. Note that return type is an array of heap-allocated |
297 // LDObject-clones, they must be deleted one way or another. |
299 // LDObject-clones, they must be deleted one way or another. |
298 List<LDObject*> inlineContents (int flags); |
300 List<LDObject*> inlineContents (InlineFlags flags); |
299 }; |
301 }; |
|
302 |
|
303 Q_DECLARE_OPERATORS_FOR_FLAGS (LDSubfileObject::InlineFlags) |
300 |
304 |
301 // ============================================================================= |
305 // ============================================================================= |
302 // LDLineObject |
306 // LDLineObject |
303 // |
307 // |
304 // Represents a single code-2 line in the LDraw code file. v0 and v1 are the end |
308 // Represents a single code-2 line in the LDraw code file. v0 and v1 are the end |