TranslateBy() public method

Translate this node's matrix by the given amount, using the standard matrix Translate method.
This translation affects this node and all of its descendents.
public TranslateBy ( float dx, float dy ) : void
dx float The amount to translate in the x direction.
dy float The amount to translate in the y direction.
return void
		public override void Initialize() {
			Canvas.PanEventHandler = null;
			Canvas.AddInputEventListener(new PDragEventHandler());
		
			node1 = PPath.CreateEllipse(0, 0, 100, 100);
			node2 = PPath.CreateEllipse(0, 0, 100, 100);
			link = PPath.CreateLine(50, 50, 50, 50);
			link.Pickable = false;
			Canvas.Layer.AddChild(node1);
			Canvas.Layer.AddChild(node2);
			Canvas.Layer.AddChild(link);
		
			node2.TranslateBy(200, 200);

			node1.FullBoundsChanged += new PPropertyEventHandler(node1_FullBoundsChanged);
			node2.FullBoundsChanged += new PPropertyEventHandler(node2_FullBoundsChanged);
		}
示例#2
0
 public InterpData()
     : base()
 {
     InterpGroups = new List<InterpGroup>();
     TimelineView = new PNode();
     AddChild(TimelineView);
     TimelineView.MoveToBack();
     TimelineView.Pickable = false;
     //TimelineView.Brush = new SolidBrush(Color.FromArgb(60, 60, 60));
     TimelineView.SetBounds(0, 0, 3600, Height);
     TimelineView.TranslateBy(Timeline.ListWidth, 0);
     TimeScale = PPath.CreateRectangle(0, 0, 3600, Timeline.InfoHeight);
     TimeScale.TranslateBy(Timeline.ListWidth, 0);
     TimeScale.Pickable = false;
     TimeScale.Brush = new SolidBrush(Color.FromArgb(80, 80, 80));
     AddChild(TimeScale);
     TimeScale.MoveToFront();
     //seperationLine = PPath.CreateLine(Timeline.ListWidth, 0, Timeline.ListWidth, 10);
     //seperationLine.Pickable = false;
     //AddChild(seperationLine);
 }
示例#3
0
 public override void Layout(float x, float y)
 {
     if (originalX != -1)
         x = originalX;
     if (originalY != -1)
         y = originalY;
     outlinePen = new Pen(Color.Black);
     string s = pcc.Exports[index].ObjectName;
     s = s.Replace("BioSeqAct_", "");
     s = s.Replace("SFXSeqAct_", "");
     s = s.Replace("SeqAct_", "");
     s = s.Replace("SeqCond_", "");
     float starty = 8;
     float w = 20;
     varLinkBox = new PPath();
     for (int i = 0; i < Varlinks.Count(); i++)
     {
         string d = "";
         foreach (int l in Varlinks[i].Links)
             d = d + "#" + l + ",";
         d = d.Remove(d.Length - 1);
         SText t2 = new SText(d + "\n" + Varlinks[i].Desc);
         t2.X = w;
         t2.Y = 0;
         w += t2.Width + 20;
         t2.Pickable = false;
         Varlinks[i].node.TranslateBy(t2.X + t2.Width / 2, t2.Y + t2.Height);
         t2.AddChild(Varlinks[i].node);
         varLinkBox.AddChild(t2);
     }
     if (Varlinks.Count != 0)
         varLinkBox.Height = varLinkBox[0].Height;
     varLinkBox.Width = w;
     varLinkBox.Pickable = false;
     outLinkBox = new PPath();
     float outW = 0;
     for (int i = 0; i < Outlinks.Count(); i++)
     {
         SText t2 = new SText(Outlinks[i].Desc);
         if (t2.Width + 10 > outW) outW = t2.Width + 10;
         t2.X = 0 - t2.Width;
         t2.Y = starty;
         starty += t2.Height;
         t2.Pickable = false;
         Outlinks[i].node.TranslateBy(0, t2.Y + t2.Height / 2);
         t2.AddChild(Outlinks[i].node);
         outLinkBox.AddChild(t2);
     }
     outLinkBox.Pickable = false;
     inputLinkBox = new PNode();
     GetInputLinks();
     float inW = 0;
     float inY = 8;
     for (int i = 0; i < InLinks.Count(); i++)
     {
         SText t2 = new SText(InLinks[i].Desc);
         if (t2.Width > inW) inW = t2.Width;
         t2.X = 3;
         t2.Y = inY;
         inY += t2.Height;
         t2.Pickable = false;
         InLinks[i].node.X = -10;
         InLinks[i].node.Y = t2.Y + t2.Height / 2 - 5;
         t2.AddChild(InLinks[i].node);
         inputLinkBox.AddChild(t2);
     }
     inputLinkBox.Pickable = false;
     if (inY > starty) starty = inY;
     if (inW + outW + 10 > w) w = inW + outW + 10;
     List<SaltPropertyReader.Property> props = SaltPropertyReader.getPropList(pcc, pcc.Exports[index].Data);
     foreach (SaltPropertyReader.Property prop in props)
     {
         if (prop.Name == "oSequenceReference")
             s += "\n\"" + pcc.Exports[prop.Value.IntValue - 1].ObjectName + "\"";
         else if (prop.Name == "EventName" || prop.Name == "StateName")
             s += "\n\"" + prop.Value.IntValue + "\"";
         else if (prop.Name == "OutputLabel" || prop.Name == "m_sMovieName")
             s += "\n\"" + prop.Value.StringValue + "\"";
         else if (prop.Name == "m_pEffect")
             if(prop.Value.IntValue > 0)
                 s += "\n\"" + pcc.Exports[prop.Value.IntValue - 1].ObjectName + "\"";
             else
                 s += "\n\"" + pcc.Imports[-prop.Value.IntValue - 1].Name + "\"";
     }
     float tW = GetTitleBox(s, w);
     if (tW > w)
     {
         w = tW;
         titleBox.Width = w;
     }
     titleBox.X = 0;
     titleBox.Y = 0;
     float h = titleBox.Height + 2;
     inputLinkBox.TranslateBy(0, h);
     outLinkBox.TranslateBy(w, h);
     h += starty + 8;
     varLinkBox.TranslateBy(varLinkBox.Width < w ? (w - varLinkBox.Width) / 2 : 0, h);
     h += varLinkBox.Height;
     box = PPath.CreateRectangle(0, titleBox.Height + 2, w, h - (titleBox.Height + 2));
     box.Brush = nodeBrush;
     box.Pen = outlinePen;
     box.Pickable = false;
     this.Bounds = new RectangleF(0, 0, w, h);
     this.AddChild(box);
     this.AddChild(titleBox);
     this.AddChild(varLinkBox);
     this.AddChild(outLinkBox);
     this.AddChild(inputLinkBox);
     this.TranslateBy(x, y);
 }
        public override void Layout(float x, float y)
        {
            if (pcc.Game == MEGame.ME1)
            {
                // ==
                if (Math.Abs(x - -0.1f) < float.Epsilon)
                    x = originalX;
                // ==
                if (Math.Abs(y - -0.1f) < float.Epsilon)
                    y = originalY;
            }
            else
	        {
                // ==
                if (Math.Abs(originalX - -1) > float.Epsilon)
                    x = originalX;
                // ==
                if (Math.Abs(originalY - -1) > float.Epsilon)
                    y = originalY; 
            }
            outlinePen = new Pen(Color.Black);
            string s = export.ObjectName;
            s = s.Replace("BioSeqAct_", "");
            s = s.Replace("SFXSeqAct_", "");
            s = s.Replace("SeqAct_", "");
            s = s.Replace("SeqCond_", "");
            float starty = 8;
            float w = 20;
            varLinkBox = new PPath();
            for (int i = 0; i < Varlinks.Count(); i++)
            {
                string d = "";
                foreach (int l in Varlinks[i].Links)
                    d = d + "#" + l + ",";
                d = d.Remove(d.Length - 1);
                SText t2 = new SText(d + "\n" + Varlinks[i].Desc);
                t2.X = w;
                t2.Y = 0;
                w += t2.Width + 20;
                t2.Pickable = false;
                Varlinks[i].node.TranslateBy(t2.X + t2.Width / 2, t2.Y + t2.Height);
                t2.AddChild(Varlinks[i].node);
                varLinkBox.AddChild(t2);
            }
            if (Varlinks.Count != 0)
                varLinkBox.Height = varLinkBox[0].Height;
            varLinkBox.Width = w;
            varLinkBox.Pickable = false;
            outLinkBox = new PPath();
            float outW = 0;
            for (int i = 0; i < Outlinks.Count(); i++)
            {
                SText t2 = new SText(Outlinks[i].Desc);
                if (t2.Width + 10 > outW) outW = t2.Width + 10;
                t2.X = 0 - t2.Width;
                t2.Y = starty;
                starty += t2.Height;
                t2.Pickable = false;
                Outlinks[i].node.TranslateBy(0, t2.Y + t2.Height / 2);
                t2.AddChild(Outlinks[i].node);
                outLinkBox.AddChild(t2);
            }
            outLinkBox.Pickable = false;
            inputLinkBox = new PNode();
            GetInputLinks();
            float inW = 0;
            float inY = 8;
            for (int i = 0; i < InLinks.Count(); i++)
            {
                SText t2 = new SText(InLinks[i].Desc);
                if (t2.Width > inW) inW = t2.Width;
                t2.X = 3;
                t2.Y = inY;
                inY += t2.Height;
                t2.Pickable = false;
                InLinks[i].node.X = -10;
                InLinks[i].node.Y = t2.Y + t2.Height / 2 - 5;
                t2.AddChild(InLinks[i].node);
                inputLinkBox.AddChild(t2);
            }
            inputLinkBox.Pickable = false;
            if (inY > starty) starty = inY;
            if (inW + outW + 10 > w) w = inW + outW + 10;
            var props = export.GetProperties();
            foreach (var prop in props)
            {
                if (prop.Name == "oSequenceReference")
                {
                    ObjectProperty objectProperty = (prop as ObjectProperty);
                    if (pcc.Game == MEGame.ME1)
                    {
                        if (objectProperty.Value > 0)
                        {
                            string seqName = pcc.getEntry(objectProperty.Value).ObjectName;
                            if (seqName == "Sequence")
                            {
                                var objNameProp = pcc.getExport(objectProperty.Value - 1).GetProperty<StrProperty>("ObjName");
                                if (objNameProp != null)
                                {
                                    seqName = objNameProp;
                                }
                            }
                            s += "\n\"" + seqName + "\"";
                        }
                        else
                        {
                            s += "\n\"" + pcc.getEntry(objectProperty.Value).ObjectName + "\"";
                        }
                    }
                    else
                    {
                        s += "\n\"" + pcc.getEntry(objectProperty.Value).ObjectName + "\""; 
                    }
                }
                else if (prop.Name == "EventName" || prop.Name == "StateName")
                    s += "\n\"" + (prop as NameProperty) + "\"";
                else if (prop.Name == "OutputLabel" || prop.Name == "m_sMovieName")
                    s += "\n\"" + (prop as StrProperty) + "\"";
                else if (prop.Name == "m_pEffect")
                {
                    s += "\n\"" + pcc.getEntry((prop as ObjectProperty).Value).ObjectName + "\"";
                }
            }
            float tW = GetTitleBox(s, w);
            if (tW > w)
            {
                w = tW;
                titleBox.Width = w;
            }
            titleBox.X = 0;
            titleBox.Y = 0;
            float h = titleBox.Height + 2;
            inputLinkBox.TranslateBy(0, h);
            outLinkBox.TranslateBy(w, h);
            h += starty + 8;
            varLinkBox.TranslateBy(varLinkBox.Width < w ? (w - varLinkBox.Width) / 2 : 0, h);
            h += varLinkBox.Height;
            box = PPath.CreateRectangle(0, titleBox.Height + 2, w, h - (titleBox.Height + 2));
            box.Brush = nodeBrush;
            box.Pen = outlinePen;
            box.Pickable = false;
            this.Bounds = new RectangleF(0, 0, w, h);
            this.AddChild(box);
            this.AddChild(titleBox);
            this.AddChild(varLinkBox);
            this.AddChild(outLinkBox);
            this.AddChild(inputLinkBox);
            this.TranslateBy(x, y);
        }