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); }
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); }
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); }