root/lang/legacy-actionscript/as2draw/MovieClipStack.as @ 3548

Revision 3466, 1.2 kB (checked in by gyuque, 7 years ago)

lang/legacy-actionscript/as2draw: use color index

Line 
1class MovieClipStack
2{
3        var mStack:Array;
4        var mParentMC:MovieClip;
5        var mNextName;
6        public function MovieClipStack(aParent:MovieClip)
7        {
8                mStack = [];
9                mParentMC = aParent;
10                mNextName = 0;
11        }
12       
13        public function size():Number
14        {
15                return mStack.length;
16        }
17       
18        public function pushNew():MovieClip
19        {
20                var mc:MovieClip = mParentMC.createEmptyMovieClip("mcstackitem-" + (mNextName++), mParentMC.getNextHighestDepth());
21                mc.stackData = {log:[]};
22                mStack.push(mc);
23                return mc;
24        }
25       
26        public function pop():Boolean
27        {
28                if (mStack.length < 1)
29                        return false;
30               
31                var topMC:MovieClip = MovieClip(mStack.pop());
32                topMC.removeMovieClip();
33               
34                return true;
35        }
36       
37        public function fixBottom(g:MovieClip, renderer):Boolean
38        {
39                if (mStack.length < 1)
40                        return false;
41               
42                var bottomMC:MovieClip = MovieClip(mStack.shift());
43               
44                var arr = bottomMC.stackData.log;
45                var l:Number = arr.length;
46               
47                for (var i:Number = 0;i < l;i++)
48                {
49                        var ln = arr[i];
50                        renderer.drawPixBufferLine(ln.x1, ln.y1, ln.x2, ln.y2, ln.color_index);
51                        renderer.drawNativeLine(g, ln.x1, ln.y1, ln.x2, ln.y2, ln.color);
52                }
53               
54                bottomMC.removeMovieClip();
55
56                return true;
57        }
58}
Note: See TracBrowser for help on using the browser.