int ofTag::removeNode(string lbl, int which) { if(getNumTags(lbl)>which){ int cnt=0; for (unsigned int i=0; i<subnodes.size(); i++) { if(subnodes[i].label==lbl){ if(cnt==which){ subnodes.erase(subnodes.begin()+i); break; } cnt++; } } } return getNumTags(lbl); }
void ofxFlashXFLBuilder :: buildLayers () { int numOfLayers; numOfLayers = getNumTags( "DOMLayer" ); for( int i=numOfLayers-1; i>=0; i-- ) // work backwards through layers. so when adding to stage, objects sit in right order. { DOMLayer dom; dom.name = getAttribute( "DOMLayer", "name", "", i ); dom.color = getAttribute( "DOMLayer", "color", 0, i ); dom.locked = getAttribute( "DOMLayer", "locked", false, i ); dom.current = getAttribute( "DOMLayer", "current", false, i ); dom.isSelected = getAttribute( "DOMLayer", "isSelected", false, i ); dom.autoNamed = getAttribute( "DOMLayer", "autoNamed", false, i ); dom.layerType = getAttribute( "DOMLayer", "layerType", "", i ); domLayer = dom; if( domLayer.layerType == "guide" ) // skip guide layers. continue; pushTag( "DOMLayer", i ); pushTag( "frames", 0 ); buildFrames(); popTag(); popTag(); } }
void ofxFlashXFLBuilder :: buildTimelines () { int numOfTimelines; numOfTimelines = getNumTags( "DOMTimeline" ); for( int i=0; i<numOfTimelines; i++ ) { DOMTimeline dom; dom.name = getAttribute( "DOMTimeline", "name", "", i ); dom.currentFrame = getAttribute( "DOMTimeline", "currentFrame", 1, i ); domTimeline = dom; pushTag( "DOMTimeline", i ); pushTag( "layers", 0 ); buildLayers(); popTag(); popTag(); return; // SUPPORT ONLY ONE TIMELINE. } popTag(); }
void ofxFlashXFLBuilder :: countTotalFrames () { pushTag( "DOMTimeline", 0 ); pushTag( "layers", 0 ); int numOfLayers; numOfLayers = getNumTags( "DOMLayer" ); for( int i=0; i<numOfLayers; i++ ) { string layerType; layerType = getAttribute( "DOMLayer", "layerType", "", i ); if( layerType == "guide" ) // skip guide layers. continue; pushTag( "DOMLayer", i ); pushTag( "frames", 0 ); int numOfFrames; numOfFrames = getNumTags( "DOMFrame" ); for( int j=0; j<numOfFrames; j++ ) { int frameIndex = getAttribute( "DOMFrame", "index", 0, j ); int frameDuration = getAttribute( "DOMFrame", "duration", 1, j ); int frameEnd = frameIndex + frameDuration; if( frameEnd > totalFrames ) { totalFrames = frameEnd; } } popTag(); popTag(); } popTag(); popTag(); }
void ofxFlashXFLBuilder :: buildFrames () { int numOfFrames; numOfFrames = getNumTags( "DOMFrame" ); for( int i=0; i<numOfFrames; i++ ) { DOMFrame dom; dom.index = getAttribute( "DOMFrame", "index", 0, i ); dom.duration = getAttribute( "DOMFrame", "duration", 1, i ); dom.tweenType = getAttribute( "DOMFrame", "tweenType", "", i ); dom.motionTweenSnap = getAttribute( "DOMFrame", "motionTweenSnap", false, i ); dom.keyMode = getAttribute( "DOMFrame", "keyMode", 0, i ); domFrame = dom; pushTag( "DOMFrame", i ); pushTag( "elements", 0 ); buildElements(); popTag(); popTag(); } }