1
0
mirror of synced 2024-11-30 18:24:39 +01:00

A few improvements.

Panes can now be selected and moved around.
Panes can be resized from corners or edges.
Improved hit detection for panes.
Mouse left click now selects and moves panes. Use middle mouse or hold shift + left mouse to pan/move camera.
More progress on timeline, but currently not functional so currently disabled atm.
Multiple layout animations can be selected and played at once. Goes to the highest amount of frames.
Start to impliment a parts manager. Will allow editing external layout and animation data, and saving back properly.
This commit is contained in:
KillzXGaming 2019-10-05 13:25:28 -04:00
parent e3cdbf50ad
commit a8e6d104f2
97 changed files with 9906 additions and 293 deletions

2
.gitignore vendored
View File

@ -12,3 +12,5 @@ BrawlboxHelper/BrawlHelperTest2.zip
Switch_Toolbox_StreamOverhaul.zip
Toolbox/Lib.zip
yuzu-glsl-decompiler
AnimSetupPrevious.zip
AnimSetupNew.zip

View File

@ -350,16 +350,67 @@ namespace FirstPlugin
Endianness = Syroot.BinaryData.ByteOrder.BigEndian;
kcl = new MarioKart.MK7.KCL(file_data, Syroot.BinaryData.ByteOrder.BigEndian);
}
Read(kcl);
}
private void LoadModelTree(TreeNode parent, MarioKart.ModelOctree[] modelOctrees)
{
if (modelOctrees == null)
return;
foreach (var model in modelOctrees)
{
OctreeNode modelNode = new OctreeNode(model, model.Key.ToString("X"));
parent.Nodes.Add(modelNode);
LoadModelTree(modelNode, model.Children);
}
}
public class OctreeNode : TreeNodeCustom
{
public List<OctreeNode> Children
{
get
{
List<OctreeNode> trees = new List<OctreeNode>();
foreach (var node in Nodes)
trees.Add((OctreeNode)node);
return trees;
}
}
MarioKart.ModelOctree Octree;
public OctreeNode(MarioKart.ModelOctree octree, string name)
{
Octree = octree;
Text = name;
}
public override void OnClick(TreeView treeview)
{
}
}
private void Read(MarioKart.MK7.KCL kcl)
{
Vector3 min = new Vector3();
Vector3 max = new Vector3();
Nodes.Clear();
Renderer.OctreeNodes.Clear();
Renderer.models.Clear();
Renderer.KclFile = kcl;
TreeNode modelTree = new TreeNode("Model Octree");
LoadModelTree(modelTree, kcl.GlobalHeader.ModelOctrees);
foreach (var node in modelTree.Nodes)
Renderer.OctreeNodes.Add((OctreeNode)node);
Nodes.Add(modelTree);
int CurModelIndx = 0;
foreach (MarioKart.MK7.KCL.KCLModel mdl in kcl.Models)

View File

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace FirstPlugin
{
/// <summary>
/// Collision from the KCL library turned into a mono script
/// </summary>
public class KclMonoscript
{
public class HeaderV2
{
}
public class HeaderV1
{
}
public HeaderV2 Header;
public void ReadKCL(string fileName)
{
using (var reader = new StreamReader(File.OpenRead(fileName)))
{
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
if (line.Contains("KCollisionV2Header "))
{
Header = new HeaderV2();
}
}
}
}
}
}

View File

@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
namespace FirstPlugin
{
public class ESET
{
public static string ToXml(PTCL.Header header)
{
var root = new EmitterSetData();
XmlWriterSettings settings = new XmlWriterSettings
{
Encoding = Encoding.UTF8,
Indent = true,
IndentChars = " ",
};
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
XmlDocument doc = new XmlDocument();
XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0", null, null);
xmldecl.Encoding = "UTF-8";
xmldecl.Standalone = "yes";
var stringWriter = new StringWriter();
XmlSerializer serializer = new XmlSerializer(typeof(EmitterSetData));
XmlWriter output = XmlWriter.Create(stringWriter, settings);
serializer.Serialize(output, root, ns);
return stringWriter.ToString();
}
[XmlRootAttribute("nw4f_layout")]
public class EmitterSetData
{
[XmlAttribute]
public string version = "1.0.0.8";
[XmlAttribute]
public bool UseXmlDocSerializer = true;
public bool EnableConvert = true;
public EmitterSetBasic EmitterSetBasicData = new EmitterSetBasic();
public EmitterSetUserData EmitterSetUserData = new EmitterSetUserData();
public EmitterList EmitterList = new EmitterList();
}
public class EmitterSetBasic
{
public Comment Comment;
public int LabelColor = 0;
}
public class EmitterSetUserData
{
}
public class Comment
{
}
public class EmitterList
{
public List<EmitterData> EmitterData = new List<EmitterData>();
}
public class EmitterData
{
public bool EnableConvert = true;
public string Name;
public EmitterColorData EmitterColorData;
}
public class EmitterColorData
{
public ParticleColor ParticleColor;
public EmitterColor EmitterColor;
}
public class ParticleColor
{
}
public class EmitterColor
{
public int Color0BehaviorType = 0;
public int Color1BehaviorType = 0;
public int Alpha0BehaviorType = 0;
public int Alpha1BehaviorType = 0;
}
}
}

View File

@ -25,16 +25,60 @@ namespace LayoutBXLYT
get { return animEntry.Target; }
}
public void RemoveKey(Type groupType)
{
var group = SearchGroup(groupType);
if (group == null) return;
}
public void InsertKey(Type groupType)
{
var group = SearchGroup(groupType);
string platform = "F";
if (animEntry is BFLAN.PaiEntry)
//First we find the proper group to insert our key
//If it doesn't exist, create it.
if (groupType == typeof(LytPaneSRTGroup))
{
if (group == null) {
var tag = new BxlanPaiTag($"{platform}LPA");
group = new LytPaneSRTGroup(tag);
animEntry.Tags.Add(tag);
SubAnimGroups.Add(group);
}
}
}
public STAnimGroup SearchGroup(Type groupType)
{
for (int i = 0; i < SubAnimGroups.Count; i++)
{
if (SubAnimGroups[i].GetType() == groupType)
return SubAnimGroups[i];
}
return null;
}
public LytAnimGroup(BxlanPaiEntry entry)
{
animEntry = entry;
Name = entry.Name;
if (entry.Target == AnimationTarget.Material)
Category = "Materials";
else if (entry.Target == AnimationTarget.Pane)
Category = "Panes";
else
Category = "User Data";
//Generate sub groups which contain the track data
for (int i = 0; i < entry.Tags?.Count; i++)
{
STAnimGroup group = new STAnimGroup();
string tag = entry.Tags[i].Tag.Remove(0,1);
switch (tag)
{
@ -82,6 +126,7 @@ namespace LayoutBXLYT
if (targetGroup != null)
{
targetGroup.LoadKeyFrames(keyGroup.KeyFrames);
targetGroup.Name = keyGroup.TargetName;
if (keyGroup.CurveType == CurveType.Constant)
targetGroup.InterpolationType = STInterpoaltionType.Constant;
@ -142,6 +187,14 @@ namespace LayoutBXLYT
public LytAnimTrack SizeX = new LytAnimTrack();
public LytAnimTrack SizeY = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 10; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target)
{
switch (target)
@ -172,6 +225,14 @@ namespace LayoutBXLYT
public LytAnimTrack Tex1AnimTrack = new LytAnimTrack();
public LytAnimTrack Tex2AnimTrack = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 3; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target) {
if (target == 0)
return Tex0AnimTrack;
@ -193,6 +254,14 @@ namespace LayoutBXLYT
{
public LytAnimTrack AnimTrack = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 1; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target) {
return AnimTrack;
}
@ -227,6 +296,14 @@ namespace LayoutBXLYT
public LytAnimTrack Alpha = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 17; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target)
{
switch (target) {
@ -269,6 +346,14 @@ namespace LayoutBXLYT
public LytAnimTrack WhiteColorB = new LytAnimTrack();
public LytAnimTrack WhiteColorA = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 8; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target)
{
switch (target)
@ -299,6 +384,14 @@ namespace LayoutBXLYT
public LytAnimTrack ScaleU = new LytAnimTrack();
public LytAnimTrack ScaleV = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 5; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target)
{
switch (target)
@ -324,6 +417,14 @@ namespace LayoutBXLYT
public LytAnimTrack ScaleU = new LytAnimTrack();
public LytAnimTrack ScaleV = new LytAnimTrack();
public override List<STAnimationTrack> GetTracks()
{
List<STAnimationTrack> tracks = new List<STAnimationTrack>();
for (int i = 0; i < 3; i++)
tracks.Add(GetTrack(i));
return tracks;
}
public LytAnimTrack GetTrack(int target)
{
switch (target)

View File

@ -12,7 +12,8 @@ namespace LayoutBXLYT
/// </summary>
public class LytAnimation : STAnimation
{
BxlytHeader parentLayout = null;
public BxlytHeader parentLayout = null;
public BxlanHeader BxlanAnimation = null;
public List<string> Textures = new List<string>();
@ -35,6 +36,7 @@ namespace LayoutBXLYT
public LytAnimation(BxlanHeader header, BxlytHeader layout)
{
parentLayout = layout;
BxlanAnimation = header;
Name = header.FileName;
FrameCount = (uint)header.AnimationTag.EndFrame;

View File

@ -45,7 +45,7 @@ namespace LayoutBXLYT
}
}
public static void DrawPictureBox(BasePane pane, bool gameWindow, byte effectiveAlpha, Dictionary<string, STGenericTexture> Textures)
public static void DrawPictureBox(BasePane pane, bool gameWindow, byte effectiveAlpha, Dictionary<string, STGenericTexture> Textures, bool isSelected)
{
if (!Runtime.LayoutEditor.DisplayPicturePane)
return;
@ -92,7 +92,7 @@ namespace LayoutBXLYT
};
}
DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha);
DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha, isSelected);
mat.Shader.Disable();
}
@ -127,7 +127,7 @@ namespace LayoutBXLYT
};
}
DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha);
DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha, isSelected);
mat.Shader.Disable();
}
@ -162,7 +162,7 @@ namespace LayoutBXLYT
};
}
DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha);
DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha, isSelected);
mat.Shader.Disable();
}
@ -173,7 +173,7 @@ namespace LayoutBXLYT
GL.UseProgram(0);
}
public static void DrawBoundryPane(BasePane pane, bool gameWindow, byte effectiveAlpha, List<BasePane> SelectedPanes)
public static void DrawBoundryPane(BasePane pane, bool gameWindow, byte effectiveAlpha, bool isSelected)
{
if (!Runtime.LayoutEditor.DisplayBoundryPane || gameWindow || Runtime.LayoutEditor.IsGamePreview)
return;
@ -186,7 +186,7 @@ namespace LayoutBXLYT
};
Color color = Color.DarkGreen;
if (SelectedPanes.Contains(pane))
if (isSelected)
color = Color.Red;
color = Color.FromArgb(70, color);
@ -202,7 +202,7 @@ namespace LayoutBXLYT
}
public static void DrawAlignmentPane(BasePane pane, bool gameWindow, byte effectiveAlpha, List<BasePane> SelectedPanes)
public static void DrawAlignmentPane(BasePane pane, bool gameWindow, byte effectiveAlpha, bool isSelected)
{
if (!Runtime.LayoutEditor.DisplayAlignmentPane || gameWindow || Runtime.LayoutEditor.IsGamePreview)
return;
@ -216,7 +216,7 @@ namespace LayoutBXLYT
};
Color color = Color.Orange;
if (SelectedPanes.Contains(pane))
if (isSelected)
color = Color.Red;
color = Color.FromArgb(70, color);
@ -231,7 +231,7 @@ namespace LayoutBXLYT
BxlytToGL.DrawRectangle(pane, gameWindow, pane.Rectangle, TexCoords, Colors, false, effectiveAlpha);
}
public static void DrawScissorPane(BasePane pane, bool gameWindow, byte effectiveAlpha, List<BasePane> SelectedPanes)
public static void DrawScissorPane(BasePane pane, bool gameWindow, byte effectiveAlpha, bool isSelected)
{
if (!Runtime.LayoutEditor.DisplayScissorPane || gameWindow || Runtime.LayoutEditor.IsGamePreview)
return;
@ -244,7 +244,7 @@ namespace LayoutBXLYT
};
Color color = Color.Yellow;
if (SelectedPanes.Contains(pane))
if (isSelected)
color = Color.Red;
color = Color.FromArgb(70, color);
@ -260,7 +260,7 @@ namespace LayoutBXLYT
}
public static void DrawTextbox(BasePane pane, bool gameWindow, Bitmap fontBitmap, byte effectiveAlpha,
Dictionary<string, STGenericTexture> Textures, List<BasePane> SelectedPanes, bool updateBitmap)
Dictionary<string, STGenericTexture> Textures, List<BasePane> SelectedPanes, bool updateBitmap, bool isSelected)
{
var textBox = (ITextPane)pane;
@ -306,7 +306,7 @@ namespace LayoutBXLYT
color,
};
DrawRectangle(pane, gameWindow, pane.Rectangle, texCoords, Colors, false, effectiveAlpha);
DrawRectangle(pane, gameWindow, pane.Rectangle, texCoords, Colors, false, effectiveAlpha, isSelected);
mat.Shader.Disable();
@ -415,7 +415,7 @@ namespace LayoutBXLYT
//Huge thanks to layout studio for the window pane rendering code
//https://github.com/Treeki/LayoutStudio/blob/master/layoutgl/widget.cpp
//Note i still need to fix UV coordinates being flips and transformed!
public static void DrawWindowPane(BasePane pane,bool gameWindow, byte effectiveAlpha, Dictionary<string, STGenericTexture> Textures)
public static void DrawWindowPane(BasePane pane,bool gameWindow, byte effectiveAlpha, Dictionary<string, STGenericTexture> Textures, bool isSelected)
{
if (!Runtime.LayoutEditor.DisplayWindowPane)
return;
@ -1256,7 +1256,7 @@ namespace LayoutBXLYT
}
public static void DrawRectangle(BasePane pane, bool gameWindow, CustomRectangle rect, Vector2[] texCoords,
Color[] colors, bool useLines = true, byte alpha = 255)
Color[] colors, bool useLines = true, byte alpha = 255, bool selectionOutline = false)
{
for (int i = 0; i < colors.Length; i++)
{
@ -1289,7 +1289,7 @@ namespace LayoutBXLYT
GL.PolygonOffset(1f, 1f);
GL.Begin(PrimitiveType.Quads);
GL.Color4(Color.Green);
GL.Color4(selectionOutline ? Color.Red : Color.Green);
GL.Vertex2(rect.LeftPoint, rect.BottomPoint);
GL.Vertex2(rect.RightPoint, rect.BottomPoint);
GL.Vertex2(rect.RightPoint, rect.TopPoint);
@ -1299,6 +1299,29 @@ namespace LayoutBXLYT
GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill);
GL.PolygonOffset(0f, 0f);
if (selectionOutline)
{
var transformed = rect;
var leftTop = new Vector2(transformed.LeftPoint, transformed.TopPoint);
var left = new Vector2(transformed.LeftPoint, (transformed.BottomPoint + transformed.TopPoint) / 2);
var leftBottom = new Vector2(transformed.LeftPoint, transformed.BottomPoint);
var rightTop = new Vector2(transformed.RightPoint, transformed.TopPoint);
var right = new Vector2(transformed.RightPoint, (transformed.BottomPoint + transformed.TopPoint) / 2);
var rightBottom = new Vector2(transformed.RightPoint, transformed.BottomPoint);
var top = new Vector2((transformed.RightPoint + transformed.LeftPoint) / 2, transformed.TopPoint);
var bottom = new Vector2((transformed.RightPoint + transformed.LeftPoint) / 2, transformed.BottomPoint);
DrawEdgeSquare(leftTop);
DrawEdgeSquare(left);
DrawEdgeSquare(leftBottom);
DrawEdgeSquare(rightTop);
DrawEdgeSquare(right);
DrawEdgeSquare(rightBottom);
DrawEdgeSquare(top);
DrawEdgeSquare(bottom);
}
GL.Enable(EnableCap.Blend);
GL.Enable(EnableCap.AlphaTest);
}
@ -1334,5 +1357,18 @@ namespace LayoutBXLYT
// pane.renderablePane.Render(vertices, vertexColors, texCoords);
}
}
private static void DrawEdgeSquare(Vector2 position)
{
float scale = 5;
GL.Begin(PrimitiveType.LineLoop);
GL.Color4(Color.Red);
GL.Vertex2(position.X + -1 * scale, position.Y + -1 * scale);
GL.Vertex2(position.X + 1 * scale, position.Y + -1 * scale);
GL.Vertex2(position.X + 1 * scale, position.Y + 1 * scale);
GL.Vertex2(position.X + -1 * scale, position.Y + 1 * scale);
GL.End();
}
}
}

View File

@ -945,6 +945,16 @@ namespace LayoutBXLYT.Cafe
public byte FrameCount { get; set; }
private byte _flag;
public System.Drawing.Color[] GetVertexColors()
{
return new System.Drawing.Color[4]
{
Content.ColorTopLeft.Color,
Content.ColorTopRight.Color,
Content.ColorBottomLeft.Color,
Content.ColorBottomRight.Color,
};
}
[TypeConverter(typeof(ExpandableObjectConverter))]
public BxlytWindowContent Content { get; set; }
@ -1310,6 +1320,13 @@ namespace LayoutBXLYT.Cafe
if (ExternalLayout == null)
return null;
//Load all the part panes to the lookup table
foreach (var pane in ExternalLayout.header.PaneLookup)
if (!layoutFile.PaneLookup.ContainsKey(pane.Key))
layoutFile.PaneLookup.Add(pane.Key, pane.Value);
layoutFile.PartsManager.AddLayout(ExternalLayout.header);
return ExternalLayout.header.RootPane;
}
@ -1351,12 +1368,24 @@ namespace LayoutBXLYT.Cafe
if (Utils.GetExtension(file) == ".szs")
{
var openedFile = STFileLoader.OpenFileFormat(file);
if (openedFile == null)
continue;
layoutFile.PartsManager.AddArchive((IArchiveFile)openedFile);
BFLYT bflyt = null;
SearchArchive((IArchiveFile)openedFile, ref bflyt);
if (bflyt != null)
return bflyt;
}
else if (Utils.GetExtension(file) == ".bflan")
{
var openedFile = STFileLoader.OpenFileFormat(file);
if (openedFile == null)
continue;
var bflan = openedFile as BXLAN;
layoutFile.PartsManager.AddAnimation(bflan.BxlanHeader);
}
else if (Utils.GetExtension(file) == ".bflyt")
{
var openedFile = STFileLoader.OpenFileFormat(file);
@ -1669,6 +1698,17 @@ namespace LayoutBXLYT.Cafe
[DisplayName("Vertex Color (Bottom Right)"), CategoryAttribute("Color")]
public STColor8 ColorBottomRight { get; set; }
public System.Drawing.Color[] GetVertexColors()
{
return new System.Drawing.Color[4]
{
ColorTopLeft.Color,
ColorTopRight.Color,
ColorBottomLeft.Color,
ColorBottomRight.Color,
};
}
[Browsable(false)]
public ushort MaterialIndex { get; set; }

View File

@ -648,6 +648,17 @@ namespace LayoutBXLYT
[DisplayName("Vertex Color (Bottom Right)"), CategoryAttribute("Color")]
public STColor8 ColorBottomRight { get; set; }
public System.Drawing.Color[] GetVertexColors()
{
return new System.Drawing.Color[4]
{
ColorTopLeft.Color,
ColorTopRight.Color,
ColorBottomLeft.Color,
ColorBottomRight.Color,
};
}
[Browsable(false)]
public ushort MaterialIndex { get; set; }

View File

@ -17,6 +17,9 @@ namespace LayoutBXLYT
[Browsable(false)]
public PaneAnimController animController = new PaneAnimController();
[Browsable(false)]
public TreeNodeCustom NodeWrapper;
[DisplayName("Is Visible"), CategoryAttribute("Flags")]
public virtual bool Visible { get; set; }
@ -88,6 +91,11 @@ namespace LayoutBXLYT
ParentOriginY = OriginY.Center;
}
public CustomRectangle TransformParent(CustomRectangle rect)
{
return rect.GetTransformedRectangle(Parent, Translate, Scale);
}
private CustomRectangle rectangle;
[Browsable(false)]
@ -118,6 +126,61 @@ namespace LayoutBXLYT
parentTransform.W);
}
public void TransformRectangle(LayoutViewer.PickAction pickAction, float pickMouseX, float pickMouseY)
{
float posX = Translate.X;
float posY = Translate.Y;
float posZ = Translate.Z;
Console.WriteLine("pickMouseX " + pickMouseX);
switch (pickAction)
{
case LayoutViewer.PickAction.DragLeft:
Width += pickMouseX;
posX = Translate.X - (pickMouseX / 2);
break;
case LayoutViewer.PickAction.DragRight:
Width -= pickMouseX;
posX = Translate.X - (pickMouseX / 2);
break;
case LayoutViewer.PickAction.DragTop:
Height -= pickMouseY;
posY = Translate.Y - (pickMouseY / 2);
break;
case LayoutViewer.PickAction.DragBottom:
Height += pickMouseY;
posY = Translate.Y - (pickMouseY / 2);
break;
case LayoutViewer.PickAction.DragTopLeft:
Width += pickMouseX;
Height -= pickMouseY;
posX = Translate.X - (pickMouseX / 2);
posY = Translate.Y - (pickMouseY / 2);
break;
case LayoutViewer.PickAction.DragBottomLeft:
Width += pickMouseX;
Height += pickMouseY;
posX = Translate.X - (pickMouseX / 2);
posY = Translate.Y - (pickMouseY / 2);
break;
case LayoutViewer.PickAction.DragBottomRight:
Width -= pickMouseX;
Height += pickMouseY;
posX = Translate.X - (pickMouseX / 2);
posY = Translate.Y - (pickMouseY / 2);
break;
case LayoutViewer.PickAction.DragTopRight:
Width -= pickMouseX;
Height -= pickMouseY;
posX = Translate.X - (pickMouseX / 2);
posY = Translate.Y - (pickMouseY / 2);
break;
}
Translate = new Vector3F(posX, posY, posZ);
}
public CustomRectangle CreateRectangle()
{
//Do origin transforms
@ -228,8 +291,11 @@ namespace LayoutBXLYT
public bool IsHit(int X, int Y)
{
if ((X > Translate.X) && (X < Translate.X + Width) &&
(Y > Translate.Y) && (Y < Translate.Y + Height))
var rect = CreateRectangle();
var transformed = rect.GetTransformedRectangle(Parent, Translate, Scale);
if ((X > transformed.LeftPoint) && (X < transformed.RightPoint) &&
(Y > transformed.BottomPoint) && (Y < transformed.TopPoint))
return true;
else
return false;
@ -611,7 +677,7 @@ namespace LayoutBXLYT
public interface IPicturePane
{
System.Drawing.Color[] GetVertexColors();
}
public interface IBoundryPane
@ -661,6 +727,8 @@ namespace LayoutBXLYT
public interface IWindowPane
{
System.Drawing.Color[] GetVertexColors();
bool UseOneMaterialForAll { get; set; }
bool UseVertexColorForAll { get; set; }
WindowKind WindowKind { get; set; }
@ -728,6 +796,8 @@ namespace LayoutBXLYT
public class LayoutHeader : IDisposable
{
public PartsManager PartsManager = new PartsManager();
[Browsable(false)]
public string FileName
{
@ -792,6 +862,7 @@ namespace LayoutBXLYT
public void Dispose()
{
PartsManager?.Dispose();
FileInfo.Unload();
}
}
@ -811,6 +882,11 @@ namespace LayoutBXLYT
}
public LytAnimation GetGenericAnimation()
{
return animation;
}
private LytAnimation animation;
public LytAnimation ToGenericAnimation(BxlytHeader parentLayout)
{
@ -865,6 +941,16 @@ namespace LayoutBXLYT
public class BxlanPaiTag
{
public BxlanPaiTag()
{
}
public BxlanPaiTag(string tag)
{
Tag = tag;
}
public List<BxlanPaiTagEntry> Entries = new List<BxlanPaiTagEntry>();
public string Tag;
@ -1245,6 +1331,20 @@ namespace LayoutBXLYT
BottomPoint = bottom;
}
public CustomRectangle GetTransformedRectangle(BasePane parent, Vector3F Transform, Vector2F Scale)
{
var rect = new CustomRectangle(
(int)(LeftPoint + Transform.X * Scale.X),
(int)(RightPoint + Transform.X * Scale.X),
(int)(TopPoint + Transform.Y * Scale.Y),
(int)(BottomPoint + Transform.Y * Scale.Y));
if (parent != null)
return parent.TransformParent(rect);
else
return rect;
}
public float Width
{
get { return LeftPoint - RightPoint; }

View File

@ -61,6 +61,7 @@ namespace LayoutBXLYT
var partPane = (Cafe.BFLYT.PRT1)header.PaneLookup[$"L_Chara_{i.ToString("00")}"];
var charPane = partPane.GetExternalPane();
if (charPane == null) return;
var iconPane = charPane.SearchPane("P_Chara_00");
if (iconPane == null) return;
@ -119,7 +120,6 @@ namespace LayoutBXLYT
mat.animController.TexturePatterns.Add(LTPTarget.Image1, textureName);
else
mat.animController.TexturePatterns[LTPTarget.Image1] = textureName;
}
}
}

View File

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Toolbox.Library;
namespace LayoutBXLYT
{
/// <summary>
/// A class that manages parts for layout files
/// </summary>
public class PartsManager : IDisposable
{
public Dictionary<string, BxlytHeader> PartLayouts = new Dictionary<string, BxlytHeader>();
public Dictionary<string, BxlanHeader> PartAnimations = new Dictionary<string, BxlanHeader>();
public Dictionary<string, IArchiveFile> PartArchives = new Dictionary<string, IArchiveFile>();
public void AddLayout(BxlytHeader header)
{
if (!PartLayouts.ContainsKey(header.FileName))
PartLayouts.Add(header.FileName, header);
}
public void AddAnimation(BxlanHeader header)
{
if (!PartAnimations.ContainsKey(header.FileName))
PartAnimations.Add(header.FileName, header);
}
public void AddArchive(IArchiveFile archive)
{
if (!PartArchives.ContainsKey(((IFileFormat)archive).FileName))
PartArchives.Add(((IFileFormat)archive).FileName, archive);
}
public void Dispose()
{
foreach (var file in PartLayouts.Values)
file.Dispose();
foreach (var file in PartAnimations.Values)
file.Dispose();
foreach (var file in PartArchives.Values)
((IFileFormat)file).Unload();
PartLayouts.Clear();
PartAnimations.Clear();
PartArchives.Clear();
}
}
}

View File

@ -637,6 +637,17 @@ namespace LayoutBXLYT
public STColor8 ColorBottomLeft { get; set; }
public STColor8 ColorBottomRight { get; set; }
public System.Drawing.Color[] GetVertexColors()
{
return new System.Drawing.Color[4]
{
ColorTopLeft.Color,
ColorTopRight.Color,
ColorBottomLeft.Color,
ColorBottomRight.Color,
};
}
public ushort MaterialIndex { get; set; }
public Material GetMaterial()

View File

@ -217,9 +217,11 @@
<Compile Include="FileFormats\Archives\PKZ.cs" />
<Compile Include="FileFormats\Archives\VIBS.cs" />
<Compile Include="FileFormats\Audio\Archives\AudioCommon.cs" />
<Compile Include="FileFormats\Collision\KclMonoscript.cs" />
<Compile Include="FileFormats\DKCTF\Common.cs" />
<Compile Include="FileFormats\DKCTF\MSBT.cs" />
<Compile Include="FileFormats\DKCTF\PAK.cs" />
<Compile Include="FileFormats\Effects\ESET.cs" />
<Compile Include="FileFormats\Font\BXFNT.cs" />
<Compile Include="FileFormats\HedgehogEngine\HeaderCommon.cs" />
<Compile Include="FileFormats\HedgehogEngine\HedgeModel.cs" />
@ -320,13 +322,14 @@
<Compile Include="FileFormats\Layout\LayoutTextureLoader.cs" />
<Compile Include="FileFormats\Layout\PaneTreeWrapper.cs" />
<Compile Include="FileFormats\Layout\Common.cs" />
<Compile Include="FileFormats\Layout\PartsManager.cs" />
<Compile Include="FileFormats\Layout\RenderablePane.cs" />
<Compile Include="FileFormats\Layout\Rev\BRLAN.cs" />
<Compile Include="FileFormats\Layout\Rev\BrlytShader.cs" />
<Compile Include="FileFormats\Layout\Rev\BRLYT.cs" />
<Compile Include="FileFormats\Message\MSBP.cs" />
<Compile Include="FileFormats\CrashBandicoot\IGZ_TEX.cs" />
<Compile Include="FileFormats\MOD.cs" />
<Compile Include="FileFormats\Pikmin1\MOD.cs" />
<Compile Include="FileFormats\Pikmin1\TXE.cs" />
<Compile Include="FileFormats\Rom\3DS\NCSDStructs.cs" />
<Compile Include="FileFormats\Rom\3DS\NCSD.cs" />
@ -348,12 +351,63 @@
<Compile Include="GL\KCL_Render.cs" />
<Compile Include="GL\LM2_Render.cs" />
<Compile Include="FileFormats\Layout\CAFE\BflytShader.cs" />
<Compile Include="GUI\BFLYT\Animations\LayoutAnimEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LayoutAnimEditor.Designer.cs">
<DependentUpon>LayoutAnimEditor.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LayoutAnimEditorBasic.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LayoutAnimEditorBasic.Designer.cs">
<DependentUpon>LayoutAnimEditorBasic.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytAnimEditorKeyGUI.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytKeyPaneSRTPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytKeyPaneSRTPanel.Designer.cs">
<DependentUpon>LytKeyPaneSRTPanel.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytKeyVisibiltyPane.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytKeyVisibiltyPane.Designer.cs">
<DependentUpon>LytKeyVisibiltyPane.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytKeyVtxColorPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LytKeyVtxColorPanel.Designer.cs">
<DependentUpon>LytKeyVtxColorPanel.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Editor\BasePaneEditor.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Editor\BasePaneEditor.Designer.cs">
<DependentUpon>BasePaneEditor.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Editor\PaneEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Editor\PaneEditor.Designer.cs">
<DependentUpon>PaneEditor.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\FileSelector.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GUI\BFLYT\FileSelector.Designer.cs">
<DependentUpon>FileSelector.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LayoutAnimList.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GUI\BFLYT\Animations\LayoutAnimList.Designer.cs">
<DependentUpon>LayoutAnimList.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\LayoutHierarchy.cs">
<SubType>Form</SubType>
</Compile>
@ -390,6 +444,7 @@
<Compile Include="GUI\BFLYT\LayoutTextureList.Designer.cs">
<DependentUpon>LayoutTextureList.cs</DependentUpon>
</Compile>
<Compile Include="GUI\BFLYT\LayoutUndoManager.cs" />
<Compile Include="GUI\BFLYT\LayoutViewer.cs">
<SubType>UserControl</SubType>
</Compile>
@ -1175,9 +1230,33 @@
<EmbeddedResource Include="GUI\BFFNT\BffntEditor.resx">
<DependentUpon>BffntEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Animations\LayoutAnimEditor.resx">
<DependentUpon>LayoutAnimEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Animations\LayoutAnimEditorBasic.resx">
<DependentUpon>LayoutAnimEditorBasic.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Animations\LytKeyPaneSRTPanel.resx">
<DependentUpon>LytKeyPaneSRTPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Animations\LytKeyVisibiltyPane.resx">
<DependentUpon>LytKeyVisibiltyPane.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Animations\LytKeyVtxColorPanel.resx">
<DependentUpon>LytKeyVtxColorPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Editor\BasePaneEditor.resx">
<DependentUpon>BasePaneEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Editor\PaneEditor.resx">
<DependentUpon>PaneEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\FileSelector.resx">
<DependentUpon>FileSelector.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\Animations\LayoutAnimList.resx">
<DependentUpon>LayoutAnimList.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GUI\BFLYT\LayoutEditor.resx">
<DependentUpon>LayoutEditor.cs</DependentUpon>
</EmbeddedResource>
@ -1599,5 +1678,8 @@
<ItemGroup>
<None Include="Resources\Layout\OrthoView.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\LayoutAnimation.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -14,6 +14,11 @@ namespace FirstPlugin
{
public class KCLRendering : AbstractGlDrawable
{
public bool DrawGlobalOctrees = false;
public List<KCL.OctreeNode> OctreeNodes = new List<KCL.OctreeNode>();
public MarioKart.MK7.KCL KclFile;
public Vector3 Max = new Vector3(0);
public Vector3 Min = new Vector3(0);
@ -89,18 +94,47 @@ namespace FirstPlugin
LibraryGUI.UpdateViewport();
}
public void DrawGlobalOctree()
public void DrawGlobalOctree(ref Matrix4 mvp)
{
var size = Max - Min;
var octreeMax = KclFile.GlobalHeader.OctreeMax;
var octreeOrigin = KclFile.GlobalHeader.OctreeOrigin;
Vector3 max = new Vector3((float)octreeMax.X, (float)octreeMax.Y, (float)octreeMax.Z);
Vector3 min = new Vector3((float)octreeOrigin.X, (float)octreeOrigin.Y, (float)octreeOrigin.Z);
Console.WriteLine("DrawGlobalOctree " + min + " " + max);
var size = max - min;
var BoxSize = size / 2f;
for (int k = 0; k < 2; k++)
var QuarterSize = BoxSize / 2f;
// DrawableBoundingBox.DrawBoundingBox(mvp, min, max, new Vector3(0));
DrawSubdivision(ref mvp, min, size, OctreeNodes, 0);
}
private void DrawSubdivision(ref Matrix4 mvp, Vector3 min, Vector3 size, List<KCL.OctreeNode> modelOctrees, int subdiv)
{
for (int l = 0; l < 2; l++)
var BoxSize = size / 2f;
var QuarterSize = BoxSize / 2f;
int index = 0;
for (int z = 0; z < 2; z++)
{
for (int m = 0; m < 2; m++)
for (int y = 0; y < 2; y++)
{
var Boxmin = Min + new Vector3(BoxSize.X * m, BoxSize.Y * l, BoxSize.Z * k);
var pos = new Vector3(BoxSize.X * m, BoxSize.Y * l, BoxSize.Z * k);
for (int x = 0; x < 2; x++)
{
var Boxmin = min + BoxSize * new Vector3(x,y,z);
var pos = BoxSize * new Vector3(x, y, z);
if (modelOctrees[index].IsSelected)
DrawableBoundingBox.DrawBoundingBox(mvp, QuarterSize, Boxmin + QuarterSize, System.Drawing.Color.Red);
else
DrawableBoundingBox.DrawBoundingBox(mvp, QuarterSize, Boxmin + QuarterSize, System.Drawing.Color.Green);
if (modelOctrees[index].Nodes.Count > 0)
DrawSubdivision(ref mvp, Boxmin, BoxSize, modelOctrees[index].Children, subdiv++);
index++;
}
}
}
@ -214,6 +248,11 @@ namespace FirstPlugin
if (!Runtime.OpenTKInitialized || pass == Pass.TRANSPARENT)
return;
Matrix4 camMat = control.ModelMatrix * control.CameraMatrix * control.ProjectionMatrix;
if (DrawGlobalOctrees)
DrawGlobalOctree(ref camMat);
control.CurrentShader = defaultShaderProgram;
control.UpdateModelMatrix(
@ -221,7 +260,6 @@ namespace FirstPlugin
SetRenderSettings(defaultShaderProgram);
Matrix4 camMat = control.ModelMatrix * control.CameraMatrix * control.ProjectionMatrix;
GL.Disable(EnableCap.CullFace);

View File

@ -0,0 +1,214 @@
namespace LayoutBXLYT
{
partial class LayoutAnimEditor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.stPanel2 = new Toolbox.Library.Forms.STPanel();
this.stTabControl1 = new Toolbox.Library.Forms.STTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.stLabel2 = new Toolbox.Library.Forms.STLabel();
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
this.numericUpDownFloat1 = new Toolbox.Library.Forms.NumericUpDownFloat();
this.stComboBox1 = new Toolbox.Library.Forms.STComboBox();
this.stPanel1 = new Toolbox.Library.Forms.STPanel();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.stPropertyGrid1 = new Toolbox.Library.Forms.STPropertyGrid();
this.stFlowLayoutPanel1 = new Toolbox.Library.Forms.STFlowLayoutPanel();
this.stPanel2.SuspendLayout();
this.stTabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownFloat1)).BeginInit();
this.stPanel1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.SuspendLayout();
//
// stPanel2
//
this.stPanel2.Controls.Add(this.stTabControl1);
this.stPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.stPanel2.Location = new System.Drawing.Point(0, 0);
this.stPanel2.Name = "stPanel2";
this.stPanel2.Size = new System.Drawing.Size(630, 347);
this.stPanel2.TabIndex = 6;
//
// stTabControl1
//
this.stTabControl1.Controls.Add(this.tabPage1);
this.stTabControl1.Controls.Add(this.tabPage2);
this.stTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.stTabControl1.Location = new System.Drawing.Point(0, 0);
this.stTabControl1.myBackColor = System.Drawing.Color.Empty;
this.stTabControl1.Name = "stTabControl1";
this.stTabControl1.SelectedIndex = 0;
this.stTabControl1.Size = new System.Drawing.Size(630, 347);
this.stTabControl1.TabIndex = 4;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.stLabel2);
this.tabPage1.Controls.Add(this.stLabel1);
this.tabPage1.Controls.Add(this.numericUpDownFloat1);
this.tabPage1.Controls.Add(this.stComboBox1);
this.tabPage1.Controls.Add(this.stPanel1);
this.tabPage1.Location = new System.Drawing.Point(4, 25);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(622, 318);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Editor";
this.tabPage1.UseVisualStyleBackColor = true;
//
// stLabel2
//
this.stLabel2.AutoSize = true;
this.stLabel2.Location = new System.Drawing.Point(17, 11);
this.stLabel2.Name = "stLabel2";
this.stLabel2.Size = new System.Drawing.Size(41, 13);
this.stLabel2.TabIndex = 7;
this.stLabel2.Text = "Target:";
//
// stLabel1
//
this.stLabel1.AutoSize = true;
this.stLabel1.Location = new System.Drawing.Point(250, 11);
this.stLabel1.Name = "stLabel1";
this.stLabel1.Size = new System.Drawing.Size(39, 13);
this.stLabel1.TabIndex = 6;
this.stLabel1.Text = "Frame:";
//
// numericUpDownFloat1
//
this.numericUpDownFloat1.DecimalPlaces = 5;
this.numericUpDownFloat1.Increment = new decimal(new int[] {
0,
0,
0,
0});
this.numericUpDownFloat1.Location = new System.Drawing.Point(316, 9);
this.numericUpDownFloat1.Maximum = new decimal(new int[] {
1000000000,
0,
0,
0});
this.numericUpDownFloat1.Minimum = new decimal(new int[] {
100000000,
0,
0,
-2147483648});
this.numericUpDownFloat1.Name = "numericUpDownFloat1";
this.numericUpDownFloat1.Size = new System.Drawing.Size(120, 20);
this.numericUpDownFloat1.TabIndex = 0;
//
// stComboBox1
//
this.stComboBox1.BorderColor = System.Drawing.Color.Empty;
this.stComboBox1.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.stComboBox1.ButtonColor = System.Drawing.Color.Empty;
this.stComboBox1.FormattingEnabled = true;
this.stComboBox1.IsReadOnly = false;
this.stComboBox1.Location = new System.Drawing.Point(64, 8);
this.stComboBox1.Name = "stComboBox1";
this.stComboBox1.Size = new System.Drawing.Size(166, 21);
this.stComboBox1.TabIndex = 4;
//
// stPanel1
//
this.stPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.stPanel1.Controls.Add(this.stFlowLayoutPanel1);
this.stPanel1.Location = new System.Drawing.Point(3, 32);
this.stPanel1.Name = "stPanel1";
this.stPanel1.Size = new System.Drawing.Size(616, 283);
this.stPanel1.TabIndex = 3;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.stPropertyGrid1);
this.tabPage2.Location = new System.Drawing.Point(4, 25);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(622, 318);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Properties";
this.tabPage2.UseVisualStyleBackColor = true;
//
// stPropertyGrid1
//
this.stPropertyGrid1.AutoScroll = true;
this.stPropertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.stPropertyGrid1.Location = new System.Drawing.Point(3, 3);
this.stPropertyGrid1.Name = "stPropertyGrid1";
this.stPropertyGrid1.ShowHintDisplay = true;
this.stPropertyGrid1.Size = new System.Drawing.Size(616, 312);
this.stPropertyGrid1.TabIndex = 0;
//
// stFlowLayoutPanel1
//
this.stFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.stFlowLayoutPanel1.FixedHeight = false;
this.stFlowLayoutPanel1.FixedWidth = true;
this.stFlowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.stFlowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.stFlowLayoutPanel1.Name = "stFlowLayoutPanel1";
this.stFlowLayoutPanel1.Size = new System.Drawing.Size(616, 283);
this.stFlowLayoutPanel1.TabIndex = 0;
//
// LayoutAnimEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(630, 347);
this.Controls.Add(this.stPanel2);
this.Name = "LayoutAnimEditor";
this.Text = "LayoutAnimEditor";
this.stPanel2.ResumeLayout(false);
this.stTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownFloat1)).EndInit();
this.stPanel1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private Toolbox.Library.Forms.STPanel stPanel1;
private Toolbox.Library.Forms.STPanel stPanel2;
private Toolbox.Library.Forms.STTabControl stTabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private Toolbox.Library.Forms.STPropertyGrid stPropertyGrid1;
private Toolbox.Library.Forms.STLabel stLabel2;
private Toolbox.Library.Forms.STLabel stLabel1;
private Toolbox.Library.Forms.NumericUpDownFloat numericUpDownFloat1;
private Toolbox.Library.Forms.STComboBox stComboBox1;
private Toolbox.Library.Forms.STFlowLayoutPanel stFlowLayoutPanel1;
}
}

View File

@ -0,0 +1,216 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Forms;
using Toolbox.Library.Animations;
namespace LayoutBXLYT
{
public partial class LayoutAnimEditor : LayoutDocked
{
public EventHandler OnNodeSelected;
private LytAnimation ActiveAnimation;
private LytAnimGroup ActiveGroup;
public LayoutAnimEditor()
{
InitializeComponent();
BackColor = FormThemes.BaseTheme.FormBackColor;
ForeColor = FormThemes.BaseTheme.FormBackColor;
stTabControl1.myBackColor = FormThemes.BaseTheme.FormBackColor;
numericUpDownFloat1.DecimalPlaces = 0;
OnNodeSelected += treeViewCustom1_AfterSelect;
}
public void LoadFile(LytAnimation lytAnimation)
{
ActiveAnimation = lytAnimation;
var bxlan = lytAnimation.BxlanAnimation;
stComboBox1.BeginUpdate();
stComboBox1.Items.Clear();
foreach (var group in lytAnimation.AnimGroups)
{
stComboBox1.Items.Add(group.Name);
}
stComboBox1.EndUpdate();
// keyedAnimTimeline1.AddAnimation(lytAnimation, true);
// keyedAnimTimeline1.OnAnimationFrameAdvance += AnimationFrameAdvance;
}
public void OnAnimationPlaying()
{
numericUpDownFloat1.Value = (decimal)ActiveAnimation.Frame;
if (ActiveGroup != null)
LoadAnimationGroup(ActiveGroup);
}
private TreeNode LoadAnimNode(LytAnimGroup group)
{
var node = new TreeNode(group.Name) { Tag = group, };
foreach (var subGroup in group.SubAnimGroups)
{
var subNode = new TreeNode(subGroup.Name) { Tag = subGroup, };
node.Nodes.Add(subNode);
foreach (LytAnimTrack track in subGroup.GetTracks())
{
if (!track.HasKeys)
continue;
var trackNode = new TreeNode(track.Name) { Tag = track, };
subNode.Nodes.Add(trackNode);
foreach (LytKeyFrame keyFrame in track.KeyFrames)
{
var keyNode = new TreeNode($"Key Frame {keyFrame.Frame}") { Tag = keyFrame, };
trackNode.Nodes.Add(keyNode);
}
}
}
return node;
}
private void Reset()
{
paneSRTPanel?.Dispose();
paneSRTPanel = null;
paneVisPanel?.Dispose();
paneVisPanel = null;
vtxcPanel?.Dispose();
vtxcPanel = null;
}
private void AnimationFrameAdvance(object sender, EventArgs e)
{
if (ActiveGroup == null) return;
LoadAnimationGroup(ActiveGroup);
}
private void treeViewCustom1_AfterSelect(object sender, EventArgs ea)
{
if (ea is TreeViewEventArgs)
{
var e = (TreeViewEventArgs)ea;
if (e.Node.Tag == null) return;
stPropertyGrid1.LoadProperty(e.Node.Tag);
stComboBox1.SelectedItem = e.Node.Text;
if (e.Node.Tag is LytKeyFrame)
{
var keyFrame = e.Node.Tag as LytKeyFrame;
// miniAnimationPlayer1.UpdateFrame(keyFrame.Frame + ActiveAnimation.StartFrame);
}
if (e.Node.Tag is LytAnimGroup)
{
LoadAnimationGroup((LytAnimGroup)e.Node.Tag);
}
}
}
LytKeyPanePanel paneSRTPanel;
LytKeyVisibiltyPane paneVisPanel;
LytKeyVtxColorPanel vtxcPanel;
private void LoadAnimationGroup(LytAnimGroup entry)
{
ActiveGroup = entry;
float frame = ActiveAnimation.Frame;
float startFrame = ActiveAnimation.StartFrame;
Console.WriteLine("frame " + frame);
if (paneSRTPanel == null || paneSRTPanel.IsDisposed || paneSRTPanel.Disposing)
{
stFlowLayoutPanel1.Controls.Clear();
paneSRTPanel = new LytKeyPanePanel();
paneVisPanel = new LytKeyVisibiltyPane();
AddDropPanel(paneSRTPanel, "Pane SRT");
AddDropPanel(paneVisPanel, "Pane Visibilty");
}
if (entry.Target == AnimationTarget.Pane)
{
BasePane pane = null;
//If pane cannot be found use a new one and fill default values
if (ActiveAnimation.parentLayout == null || !ActiveAnimation.parentLayout.PaneLookup.ContainsKey(ActiveGroup.Name))
pane = new BasePane();
else
pane = ActiveAnimation.parentLayout.PaneLookup[ActiveGroup.Name];
paneSRTPanel.SetSRT(frame, startFrame, pane, ActiveGroup.SubAnimGroups);
paneVisPanel.SetPane(frame, startFrame, pane, ActiveGroup.SubAnimGroups);
if (pane is IPicturePane || pane is IWindowPane)
{
if (vtxcPanel == null || vtxcPanel.IsDisposed || vtxcPanel.Disposing)
{
vtxcPanel = new LytKeyVtxColorPanel();
AddDropPanel(vtxcPanel, "Vertex Colors");
}
Color[] colors = new Color[4];
colors[0] = Color.White;
colors[1] = Color.White;
colors[2] = Color.White;
colors[3] = Color.White;
if (pane is IPicturePane)
colors =((IPicturePane)pane).GetVertexColors();
if (pane is IWindowPane)
colors = ((IWindowPane)pane).GetVertexColors();
vtxcPanel.SetColors(colors, startFrame, frame, ActiveGroup);
}
else
{
if (stFlowLayoutPanel1.Controls.ContainsKey("Vertex Colors"))
stFlowLayoutPanel1.Controls.RemoveByKey("Vertex Colors");
vtxcPanel?.Dispose();
vtxcPanel = null;
}
}
else if (entry.Target == AnimationTarget.Material)
{
}
else
{
}
}
private void AddDropPanel(Control panel, string text)
{
var dropDownPanel = new STDropDownPanel();
dropDownPanel.Name = text;
panel.Dock = DockStyle.Fill;
dropDownPanel.PanelName = text;
dropDownPanel.Height = panel.Height;
dropDownPanel.Controls.Add(panel);
stFlowLayoutPanel1.Controls.Add(dropDownPanel);
}
private void treeViewCustom1_AfterSelect(object sender, TreeViewEventArgs e)
{
}
}
}

View File

@ -0,0 +1,98 @@
namespace LayoutBXLYT
{
partial class LayoutAnimEditorBasic
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.treeView1 = new System.Windows.Forms.TreeView();
this.stPropertyGrid1 = new Toolbox.Library.Forms.STPropertyGrid();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.treeView1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.stPropertyGrid1);
this.splitContainer1.Size = new System.Drawing.Size(800, 450);
this.splitContainer1.SplitterDistance = 266;
this.splitContainer1.TabIndex = 0;
//
// treeView1
//
this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView1.Location = new System.Drawing.Point(0, 0);
this.treeView1.Name = "treeView1";
this.treeView1.Size = new System.Drawing.Size(266, 450);
this.treeView1.TabIndex = 0;
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
//
// stPropertyGrid1
//
this.stPropertyGrid1.AutoScroll = true;
this.stPropertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.stPropertyGrid1.Location = new System.Drawing.Point(0, 0);
this.stPropertyGrid1.Name = "stPropertyGrid1";
this.stPropertyGrid1.ShowHintDisplay = true;
this.stPropertyGrid1.Size = new System.Drawing.Size(530, 450);
this.stPropertyGrid1.TabIndex = 0;
//
// LayoutAnimEditorBasic
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.splitContainer1);
this.Name = "LayoutAnimEditorBasic";
this.Text = "LayoutAnimEditorBasic";
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TreeView treeView1;
private Toolbox.Library.Forms.STPropertyGrid stPropertyGrid1;
}
}

View File

@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Forms;
namespace LayoutBXLYT
{
public partial class LayoutAnimEditorBasic : LayoutDocked
{
public EventHandler OnPropertyChanged;
public LayoutAnimEditorBasic()
{
InitializeComponent();
treeView1.BackColor = FormThemes.BaseTheme.FormBackColor;
treeView1.ForeColor = FormThemes.BaseTheme.FormForeColor;
splitContainer1.BackColor = FormThemes.BaseTheme.FormBackColor;
}
public void LoadAnim(BxlanHeader bxlan)
{
LoadAnimations(bxlan, new TreeNode(bxlan.FileName) { Tag = bxlan });
}
public void LoadAnimations(BxlanHeader bxlan, TreeNode root, bool LoadRoot = true)
{
if (LoadRoot)
treeView1.Nodes.Add(root);
if (bxlan is BxlanHeader)
{
var header = bxlan as BxlanHeader;
var pat1 = new TreeNode("Tag Info") { Tag = header.AnimationTag };
var pai1 = new TreeNode("Animation Info") { Tag = header.AnimationInfo };
for (int i = 0; i < header.AnimationInfo.Entries.Count; i++)
LoadAnimationEntry(header.AnimationInfo.Entries[i], pai1);
root.Nodes.Add(pat1);
root.Nodes.Add(pai1);
}
}
private void LoadAnimationEntry(BxlanPaiEntry entry, TreeNode root)
{
var nodeEntry = new TreeNode(entry.Name) { Tag = entry };
root.Nodes.Add(nodeEntry);
for (int i = 0; i < entry.Tags.Count; i++)
{
var nodeTag = new TreeNode(entry.Tags[i].Type) { Tag = entry.Tags[i] };
nodeEntry.Nodes.Add(nodeTag);
for (int j = 0; j < entry.Tags[i].Entries.Count; j++)
LoadTagEntry(entry.Tags[i].Entries[j], nodeTag, j);
}
}
private void LoadTagEntry(BxlanPaiTagEntry entry, TreeNode root, int index)
{
var nodeEntry = new TreeNode(entry.TargetName) { Tag = entry };
root.Nodes.Add(nodeEntry);
for (int i = 0; i < entry.KeyFrames.Count; i++)
{
var keyNode = new TreeNode($"Key Frame {i}") { Tag = entry.KeyFrames[i] };
nodeEntry.Nodes.Add(keyNode);
}
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Tag == null) return;
stPropertyGrid1.LoadProperty(e.Node.Tag, PropertyChanged);
}
private void PropertyChanged()
{
OnPropertyChanged?.Invoke(null, new EventArgs());
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,70 @@
namespace LayoutBXLYT
{
partial class LayoutAnimList
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.SuspendLayout();
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.listView1.Location = new System.Drawing.Point(0, 0);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(284, 261);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
this.listView1.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listView1_ItemSelectionChanged);
this.listView1.DoubleClick += new System.EventHandler(this.listView1_DoubleClick);
//
// columnHeader1
//
this.columnHeader1.Width = 263;
//
// LayoutAnimList
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Controls.Add(this.listView1);
this.Name = "LayoutAnimList";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
}
}

View File

@ -0,0 +1,124 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library;
using Toolbox.Library.Forms;
using LayoutBXLYT.Cafe;
namespace LayoutBXLYT
{
public partial class LayoutAnimList : LayoutDocked
{
private EventHandler OnProperySelected;
private bool isLoaded = false;
private LayoutEditor ParentEditor;
private ImageList imgList = new ImageList();
public LayoutAnimList(LayoutEditor parentEditor, EventHandler onPropertySelected)
{
OnProperySelected = onPropertySelected;
ParentEditor = parentEditor;
InitializeComponent();
BackColor = FormThemes.BaseTheme.FormBackColor;
ForeColor = FormThemes.BaseTheme.FormForeColor;
listView1.BackColor = FormThemes.BaseTheme.FormBackColor;
listView1.ForeColor = FormThemes.BaseTheme.FormForeColor;
listView1.FullRowSelect = true;
imgList = new ImageList()
{
ColorDepth = ColorDepth.Depth32Bit,
ImageSize = new Size(24, 24),
};
imgList.Images.Add("LayoutAnimation", FirstPlugin.Properties.Resources.LayoutAnimation);
listView1.SmallImageList = imgList;
listView1.LargeImageList = imgList;
listView1.Sorting = SortOrder.Ascending;
}
public void SearchAnimations(BxlytHeader bxlyt)
{
isLoaded = false;
var layoutFile = bxlyt.FileInfo;
var parentArchive = layoutFile.IFileInfo.ArchiveParent;
if (parentArchive == null) return;
listView1.BeginUpdate();
foreach (var file in parentArchive.Files)
{
if (Utils.GetExtension(file.FileName) == ".brlan" ||
Utils.GetExtension(file.FileName) == ".bclan" ||
Utils.GetExtension(file.FileName) == ".bflan")
{
LoadAnimation(file);
}
}
listView1.Sort();
listView1.EndUpdate();
isLoaded = true;
}
public void LoadAnimation(ArchiveFileInfo archiveEntry)
{
listView1.Items.Add(new ListViewItem(System.IO.Path.GetFileName(archiveEntry.FileName))
{
Tag = archiveEntry,
ImageKey = "LayoutAnimation",
});
}
public void LoadAnimation(BxlanHeader bxlan)
{
isLoaded = false;
listView1.BeginUpdate();
listView1.Items.Add(new ListViewItem(bxlan.FileName)
{
Tag = bxlan,
ImageKey = "LayoutAnimation",
});
listView1.Sort();
listView1.EndUpdate();
isLoaded = true;
}
public ListView.SelectedListViewItemCollection GetSelectedAnimations => listView1.SelectedItems;
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (isLoaded)
OnProperySelected.Invoke("Select", e);
if (listView1.SelectedItems.Count > 0)
{
var bxlan = listView1.SelectedItems[0].Tag as BxlanHeader;
// if (bxlan != null)
// ParentEditor.ShowBxlanEditor(bxlan);
}
}
private void listView1_DoubleClick(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
var bxlan = listView1.SelectedItems[0].Tag as BxlanHeader;
if (bxlan != null)
ParentEditor.ShowBxlanEditor(bxlan);
}
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Toolbox.Library.Forms;
using System.Drawing;
namespace LayoutBXLYT
{
public class LytAnimEditorKeyGUI : STUserControl
{
public void SetValue(BarSlider.BarSlider numbericUD, float value, bool Keyed)
{
numbericUD.Value = value;
if (Keyed)
{
numbericUD.BackColor = Color.FromArgb(255, 150, 106, 18);
numbericUD.BarInnerColor = Color.FromArgb(255, 150, 106, 18);
numbericUD.BarPenColorBottom = Color.FromArgb(255, 150, 106, 18);
numbericUD.BarPenColorMiddle = Color.FromArgb(255, 150, 106, 18);
numbericUD.BarPenColorTop = Color.FromArgb(255, 150, 106, 18);
numbericUD.ElapsedInnerColor = Color.FromArgb(255, 150, 106, 18);
numbericUD.ElapsedPenColorBottom = Color.FromArgb(255, 150, 106, 18);
numbericUD.ElapsedPenColorMiddle = Color.FromArgb(255, 150, 106, 18);
numbericUD.ElapsedPenColorTop = Color.FromArgb(255, 150, 106, 18);
}
else
{
numbericUD.BackColor = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.BarInnerColor = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.BarPenColorBottom = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.BarPenColorMiddle = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.BarPenColorTop = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.ElapsedInnerColor = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.ElapsedPenColorBottom = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.ElapsedPenColorMiddle = FormThemes.BaseTheme.ComboBoxBackColor;
numbericUD.ElapsedPenColorTop = FormThemes.BaseTheme.ComboBoxBackColor;
}
}
}
}

View File

@ -0,0 +1,575 @@
namespace LayoutBXLYT
{
partial class LytKeyPanePanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
this.stLabel3 = new Toolbox.Library.Forms.STLabel();
this.stLabel4 = new Toolbox.Library.Forms.STLabel();
this.stLabel5 = new Toolbox.Library.Forms.STLabel();
this.tranXUD = new BarSlider.BarSlider();
this.rotXUD = new BarSlider.BarSlider();
this.scaleXUD = new BarSlider.BarSlider();
this.sizeXUD = new BarSlider.BarSlider();
this.sizeYUD = new BarSlider.BarSlider();
this.scaleYUD = new BarSlider.BarSlider();
this.rotYUD = new BarSlider.BarSlider();
this.tranYUD = new BarSlider.BarSlider();
this.rotZUD = new BarSlider.BarSlider();
this.tranZUD = new BarSlider.BarSlider();
this.SuspendLayout();
//
// stLabel1
//
this.stLabel1.AutoSize = true;
this.stLabel1.Location = new System.Drawing.Point(13, 30);
this.stLabel1.Name = "stLabel1";
this.stLabel1.Size = new System.Drawing.Size(54, 13);
this.stLabel1.TabIndex = 1;
this.stLabel1.Text = "Translate:";
//
// stLabel3
//
this.stLabel3.AutoSize = true;
this.stLabel3.Location = new System.Drawing.Point(14, 58);
this.stLabel3.Name = "stLabel3";
this.stLabel3.Size = new System.Drawing.Size(42, 13);
this.stLabel3.TabIndex = 4;
this.stLabel3.Text = "Rotate:";
//
// stLabel4
//
this.stLabel4.AutoSize = true;
this.stLabel4.Location = new System.Drawing.Point(14, 91);
this.stLabel4.Name = "stLabel4";
this.stLabel4.Size = new System.Drawing.Size(37, 13);
this.stLabel4.TabIndex = 5;
this.stLabel4.Text = "Scale:";
//
// stLabel5
//
this.stLabel5.AutoSize = true;
this.stLabel5.Location = new System.Drawing.Point(14, 121);
this.stLabel5.Name = "stLabel5";
this.stLabel5.Size = new System.Drawing.Size(30, 13);
this.stLabel5.TabIndex = 6;
this.stLabel5.Text = "Size:";
//
// tranXUD
//
this.tranXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.tranXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tranXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.tranXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.tranXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.tranXUD.DataType = null;
this.tranXUD.DrawSemitransparentThumb = false;
this.tranXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.tranXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.tranXUD.ForeColor = System.Drawing.Color.White;
this.tranXUD.IncrementAmount = 0.01F;
this.tranXUD.InputName = "X";
this.tranXUD.LargeChange = 5F;
this.tranXUD.Location = new System.Drawing.Point(100, 24);
this.tranXUD.Maximum = 300000F;
this.tranXUD.Minimum = -300000F;
this.tranXUD.Name = "tranXUD";
this.tranXUD.Precision = 0.01F;
this.tranXUD.ScaleDivisions = 1;
this.tranXUD.ScaleSubDivisions = 2;
this.tranXUD.ShowDivisionsText = false;
this.tranXUD.ShowSmallScale = false;
this.tranXUD.Size = new System.Drawing.Size(107, 25);
this.tranXUD.SmallChange = 0.01F;
this.tranXUD.TabIndex = 28;
this.tranXUD.Text = "barSlider2";
this.tranXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.tranXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.tranXUD.TickAdd = 0F;
this.tranXUD.TickColor = System.Drawing.Color.White;
this.tranXUD.TickDivide = 0F;
this.tranXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.tranXUD.UseInterlapsedBar = false;
this.tranXUD.Value = 30F;
//
// rotXUD
//
this.rotXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.rotXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.rotXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.rotXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.rotXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.rotXUD.DataType = null;
this.rotXUD.DrawSemitransparentThumb = false;
this.rotXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.rotXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.rotXUD.ForeColor = System.Drawing.Color.White;
this.rotXUD.IncrementAmount = 0.01F;
this.rotXUD.InputName = "X";
this.rotXUD.LargeChange = 5F;
this.rotXUD.Location = new System.Drawing.Point(100, 55);
this.rotXUD.Maximum = 300000F;
this.rotXUD.Minimum = -300000F;
this.rotXUD.Name = "rotXUD";
this.rotXUD.Precision = 0.01F;
this.rotXUD.ScaleDivisions = 1;
this.rotXUD.ScaleSubDivisions = 2;
this.rotXUD.ShowDivisionsText = false;
this.rotXUD.ShowSmallScale = false;
this.rotXUD.Size = new System.Drawing.Size(107, 25);
this.rotXUD.SmallChange = 0.01F;
this.rotXUD.TabIndex = 29;
this.rotXUD.Text = "rotXUD";
this.rotXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.rotXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.rotXUD.TickAdd = 0F;
this.rotXUD.TickColor = System.Drawing.Color.White;
this.rotXUD.TickDivide = 0F;
this.rotXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.rotXUD.UseInterlapsedBar = false;
this.rotXUD.Value = 30F;
//
// scaleXUD
//
this.scaleXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.scaleXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.scaleXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.scaleXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.scaleXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.scaleXUD.DataType = null;
this.scaleXUD.DrawSemitransparentThumb = false;
this.scaleXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.scaleXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.scaleXUD.ForeColor = System.Drawing.Color.White;
this.scaleXUD.IncrementAmount = 0.01F;
this.scaleXUD.InputName = "X";
this.scaleXUD.LargeChange = 5F;
this.scaleXUD.Location = new System.Drawing.Point(100, 86);
this.scaleXUD.Maximum = 300000F;
this.scaleXUD.Minimum = -300000F;
this.scaleXUD.Name = "scaleXUD";
this.scaleXUD.Precision = 0.01F;
this.scaleXUD.ScaleDivisions = 1;
this.scaleXUD.ScaleSubDivisions = 2;
this.scaleXUD.ShowDivisionsText = false;
this.scaleXUD.ShowSmallScale = false;
this.scaleXUD.Size = new System.Drawing.Size(107, 25);
this.scaleXUD.SmallChange = 0.01F;
this.scaleXUD.TabIndex = 30;
this.scaleXUD.Text = "barSlider2";
this.scaleXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.scaleXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.scaleXUD.TickAdd = 0F;
this.scaleXUD.TickColor = System.Drawing.Color.White;
this.scaleXUD.TickDivide = 0F;
this.scaleXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.scaleXUD.UseInterlapsedBar = false;
this.scaleXUD.Value = 30F;
//
// sizeXUD
//
this.sizeXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.sizeXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.sizeXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.sizeXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.sizeXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.sizeXUD.DataType = null;
this.sizeXUD.DrawSemitransparentThumb = false;
this.sizeXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.sizeXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.sizeXUD.ForeColor = System.Drawing.Color.White;
this.sizeXUD.IncrementAmount = 0.01F;
this.sizeXUD.InputName = "X";
this.sizeXUD.LargeChange = 5F;
this.sizeXUD.Location = new System.Drawing.Point(100, 117);
this.sizeXUD.Maximum = 300000F;
this.sizeXUD.Minimum = -300000F;
this.sizeXUD.Name = "sizeXUD";
this.sizeXUD.Precision = 0.01F;
this.sizeXUD.ScaleDivisions = 1;
this.sizeXUD.ScaleSubDivisions = 2;
this.sizeXUD.ShowDivisionsText = false;
this.sizeXUD.ShowSmallScale = false;
this.sizeXUD.Size = new System.Drawing.Size(107, 25);
this.sizeXUD.SmallChange = 0.01F;
this.sizeXUD.TabIndex = 31;
this.sizeXUD.Text = "sizeXUD";
this.sizeXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.sizeXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.sizeXUD.TickAdd = 0F;
this.sizeXUD.TickColor = System.Drawing.Color.White;
this.sizeXUD.TickDivide = 0F;
this.sizeXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.sizeXUD.UseInterlapsedBar = false;
this.sizeXUD.Value = 30F;
//
// sizeYUD
//
this.sizeYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.sizeYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.sizeYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.sizeYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.sizeYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.sizeYUD.DataType = null;
this.sizeYUD.DrawSemitransparentThumb = false;
this.sizeYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.sizeYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.sizeYUD.ForeColor = System.Drawing.Color.White;
this.sizeYUD.IncrementAmount = 0.01F;
this.sizeYUD.InputName = "Y";
this.sizeYUD.LargeChange = 5F;
this.sizeYUD.Location = new System.Drawing.Point(213, 117);
this.sizeYUD.Maximum = 300000F;
this.sizeYUD.Minimum = -300000F;
this.sizeYUD.Name = "sizeYUD";
this.sizeYUD.Precision = 0.01F;
this.sizeYUD.ScaleDivisions = 1;
this.sizeYUD.ScaleSubDivisions = 2;
this.sizeYUD.ShowDivisionsText = false;
this.sizeYUD.ShowSmallScale = false;
this.sizeYUD.Size = new System.Drawing.Size(107, 25);
this.sizeYUD.SmallChange = 0.01F;
this.sizeYUD.TabIndex = 35;
this.sizeYUD.Text = "sizeXUD";
this.sizeYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.sizeYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.sizeYUD.TickAdd = 0F;
this.sizeYUD.TickColor = System.Drawing.Color.White;
this.sizeYUD.TickDivide = 0F;
this.sizeYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.sizeYUD.UseInterlapsedBar = false;
this.sizeYUD.Value = 30F;
//
// scaleYUD
//
this.scaleYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.scaleYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.scaleYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.scaleYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.scaleYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.scaleYUD.DataType = null;
this.scaleYUD.DrawSemitransparentThumb = false;
this.scaleYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.scaleYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.scaleYUD.ForeColor = System.Drawing.Color.White;
this.scaleYUD.IncrementAmount = 0.01F;
this.scaleYUD.InputName = "Y";
this.scaleYUD.LargeChange = 5F;
this.scaleYUD.Location = new System.Drawing.Point(213, 86);
this.scaleYUD.Maximum = 300000F;
this.scaleYUD.Minimum = -300000F;
this.scaleYUD.Name = "scaleYUD";
this.scaleYUD.Precision = 0.01F;
this.scaleYUD.ScaleDivisions = 1;
this.scaleYUD.ScaleSubDivisions = 2;
this.scaleYUD.ShowDivisionsText = false;
this.scaleYUD.ShowSmallScale = false;
this.scaleYUD.Size = new System.Drawing.Size(107, 25);
this.scaleYUD.SmallChange = 0.01F;
this.scaleYUD.TabIndex = 34;
this.scaleYUD.Text = "barSlider2";
this.scaleYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.scaleYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.scaleYUD.TickAdd = 0F;
this.scaleYUD.TickColor = System.Drawing.Color.White;
this.scaleYUD.TickDivide = 0F;
this.scaleYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.scaleYUD.UseInterlapsedBar = false;
this.scaleYUD.Value = 30F;
//
// rotYUD
//
this.rotYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.rotYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.rotYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.rotYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.rotYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.rotYUD.DataType = null;
this.rotYUD.DrawSemitransparentThumb = false;
this.rotYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.rotYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.rotYUD.ForeColor = System.Drawing.Color.White;
this.rotYUD.IncrementAmount = 0.01F;
this.rotYUD.InputName = "Y";
this.rotYUD.LargeChange = 5F;
this.rotYUD.Location = new System.Drawing.Point(213, 55);
this.rotYUD.Maximum = 300000F;
this.rotYUD.Minimum = -300000F;
this.rotYUD.Name = "rotYUD";
this.rotYUD.Precision = 0.01F;
this.rotYUD.ScaleDivisions = 1;
this.rotYUD.ScaleSubDivisions = 2;
this.rotYUD.ShowDivisionsText = false;
this.rotYUD.ShowSmallScale = false;
this.rotYUD.Size = new System.Drawing.Size(107, 25);
this.rotYUD.SmallChange = 0.01F;
this.rotYUD.TabIndex = 33;
this.rotYUD.Text = "rotXUD";
this.rotYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.rotYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.rotYUD.TickAdd = 0F;
this.rotYUD.TickColor = System.Drawing.Color.White;
this.rotYUD.TickDivide = 0F;
this.rotYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.rotYUD.UseInterlapsedBar = false;
this.rotYUD.Value = 30F;
//
// tranYUD
//
this.tranYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.tranYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tranYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.tranYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.tranYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.tranYUD.DataType = null;
this.tranYUD.DrawSemitransparentThumb = false;
this.tranYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.tranYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.tranYUD.ForeColor = System.Drawing.Color.White;
this.tranYUD.IncrementAmount = 0.01F;
this.tranYUD.InputName = "Y";
this.tranYUD.LargeChange = 5F;
this.tranYUD.Location = new System.Drawing.Point(213, 24);
this.tranYUD.Maximum = 300000F;
this.tranYUD.Minimum = -300000F;
this.tranYUD.Name = "tranYUD";
this.tranYUD.Precision = 0.01F;
this.tranYUD.ScaleDivisions = 1;
this.tranYUD.ScaleSubDivisions = 2;
this.tranYUD.ShowDivisionsText = false;
this.tranYUD.ShowSmallScale = false;
this.tranYUD.Size = new System.Drawing.Size(107, 25);
this.tranYUD.SmallChange = 0.01F;
this.tranYUD.TabIndex = 32;
this.tranYUD.Text = "barSlider2";
this.tranYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.tranYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.tranYUD.TickAdd = 0F;
this.tranYUD.TickColor = System.Drawing.Color.White;
this.tranYUD.TickDivide = 0F;
this.tranYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.tranYUD.UseInterlapsedBar = false;
this.tranYUD.Value = 30F;
//
// rotZUD
//
this.rotZUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotZUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.rotZUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.rotZUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.rotZUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.rotZUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotZUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.rotZUD.DataType = null;
this.rotZUD.DrawSemitransparentThumb = false;
this.rotZUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.rotZUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.rotZUD.ForeColor = System.Drawing.Color.White;
this.rotZUD.IncrementAmount = 0.01F;
this.rotZUD.InputName = "Z";
this.rotZUD.LargeChange = 5F;
this.rotZUD.Location = new System.Drawing.Point(326, 55);
this.rotZUD.Maximum = 300000F;
this.rotZUD.Minimum = -300000F;
this.rotZUD.Name = "rotZUD";
this.rotZUD.Precision = 0.01F;
this.rotZUD.ScaleDivisions = 1;
this.rotZUD.ScaleSubDivisions = 2;
this.rotZUD.ShowDivisionsText = false;
this.rotZUD.ShowSmallScale = false;
this.rotZUD.Size = new System.Drawing.Size(107, 25);
this.rotZUD.SmallChange = 0.01F;
this.rotZUD.TabIndex = 37;
this.rotZUD.Text = "rotXUD";
this.rotZUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.rotZUD.ThumbSize = new System.Drawing.Size(1, 1);
this.rotZUD.TickAdd = 0F;
this.rotZUD.TickColor = System.Drawing.Color.White;
this.rotZUD.TickDivide = 0F;
this.rotZUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.rotZUD.UseInterlapsedBar = false;
this.rotZUD.Value = 30F;
//
// tranZUD
//
this.tranZUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranZUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.tranZUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tranZUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.tranZUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.tranZUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranZUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.tranZUD.DataType = null;
this.tranZUD.DrawSemitransparentThumb = false;
this.tranZUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.tranZUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.tranZUD.ForeColor = System.Drawing.Color.White;
this.tranZUD.IncrementAmount = 0.01F;
this.tranZUD.InputName = "Z";
this.tranZUD.LargeChange = 5F;
this.tranZUD.Location = new System.Drawing.Point(326, 24);
this.tranZUD.Maximum = 300000F;
this.tranZUD.Minimum = -300000F;
this.tranZUD.Name = "tranZUD";
this.tranZUD.Precision = 0.01F;
this.tranZUD.ScaleDivisions = 1;
this.tranZUD.ScaleSubDivisions = 2;
this.tranZUD.ShowDivisionsText = false;
this.tranZUD.ShowSmallScale = false;
this.tranZUD.Size = new System.Drawing.Size(107, 25);
this.tranZUD.SmallChange = 0.01F;
this.tranZUD.TabIndex = 36;
this.tranZUD.Text = "barSlider2";
this.tranZUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.tranZUD.ThumbSize = new System.Drawing.Size(1, 1);
this.tranZUD.TickAdd = 0F;
this.tranZUD.TickColor = System.Drawing.Color.White;
this.tranZUD.TickDivide = 0F;
this.tranZUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.tranZUD.UseInterlapsedBar = false;
this.tranZUD.Value = 30F;
//
// LytKeyPanePanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.rotZUD);
this.Controls.Add(this.tranZUD);
this.Controls.Add(this.sizeYUD);
this.Controls.Add(this.scaleYUD);
this.Controls.Add(this.rotYUD);
this.Controls.Add(this.tranYUD);
this.Controls.Add(this.sizeXUD);
this.Controls.Add(this.scaleXUD);
this.Controls.Add(this.rotXUD);
this.Controls.Add(this.tranXUD);
this.Controls.Add(this.stLabel5);
this.Controls.Add(this.stLabel4);
this.Controls.Add(this.stLabel3);
this.Controls.Add(this.stLabel1);
this.Name = "LytKeyPanePanel";
this.Size = new System.Drawing.Size(457, 153);
this.Load += new System.EventHandler(this.LytKeyPaneSRTPanel_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Toolbox.Library.Forms.STLabel stLabel1;
private Toolbox.Library.Forms.STLabel stLabel3;
private Toolbox.Library.Forms.STLabel stLabel4;
private Toolbox.Library.Forms.STLabel stLabel5;
private BarSlider.BarSlider tranXUD;
private BarSlider.BarSlider rotXUD;
private BarSlider.BarSlider scaleXUD;
private BarSlider.BarSlider sizeXUD;
private BarSlider.BarSlider sizeYUD;
private BarSlider.BarSlider scaleYUD;
private BarSlider.BarSlider rotYUD;
private BarSlider.BarSlider tranYUD;
private BarSlider.BarSlider rotZUD;
private BarSlider.BarSlider tranZUD;
}
}

View File

@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Forms;
using Toolbox.Library.Animations;
namespace LayoutBXLYT
{
public partial class LytKeyPanePanel : LytAnimEditorKeyGUI
{
public LytKeyPanePanel()
{
InitializeComponent();
}
public void SetSRT(float frame, float startFrame, BasePane pane, List<STAnimGroup> groups)
{
foreach (var group in groups)
{
if (group is LytPaneSRTGroup)
{
SetValue(rotXUD, pane.Rotate.X, false);
SetValue(rotYUD, pane.Rotate.Y, false);
SetValue(rotZUD, pane.Rotate.Z, false);
SetValue(tranXUD, pane.Translate.X, false);
SetValue(tranYUD, pane.Translate.Y, false);
SetValue(tranZUD, pane.Translate.Z, false);
SetValue(scaleXUD, pane.Scale.X, false);
SetValue(scaleYUD, pane.Scale.Y, false);
SetValue(sizeXUD, pane.Width, false);
SetValue(sizeYUD, pane.Height, false);
for (int i = 0; i < 10; i++)
{
var track = ((LytPaneSRTGroup)group).GetTrack(i);
if (track.HasKeys)
{
float value = track.GetFrameValue(frame, startFrame);
bool keyed = track.IsKeyed(frame - startFrame);
Console.WriteLine($"SetSRT track {track.Name} {value}" + frame);
switch ((LPATarget)i)
{
case LPATarget.RotateX:
SetValue(rotXUD, value, keyed); break;
case LPATarget.RotateY:
SetValue(rotYUD, value, keyed); break;
case LPATarget.RotateZ:
SetValue(rotZUD, value, keyed); break;
case LPATarget.TranslateX:
SetValue(tranXUD, value, keyed); break;
case LPATarget.TranslateY:
SetValue(tranYUD, value, keyed); break;
case LPATarget.TranslateZ:
SetValue(tranZUD, value, keyed); break;
case LPATarget.ScaleX:
SetValue(scaleXUD, value, keyed); break;
case LPATarget.ScaleY:
SetValue(scaleYUD, value, keyed); break;
case LPATarget.SizeX:
SetValue(sizeXUD, value, keyed); break;
case LPATarget.SizeY:
SetValue(sizeYUD, value, keyed); break;
}
}
}
}
}
}
private void LytKeyPaneSRTPanel_Load(object sender, EventArgs e)
{
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,143 @@
namespace LayoutBXLYT
{
partial class LytKeyVisibiltyPane
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.alphaSelectorHorizontalPanel1 = new Toolbox.Library.Forms.AlphaSelectorHorizontalPanel();
this.stLabel6 = new Toolbox.Library.Forms.STLabel();
this.stLabel2 = new Toolbox.Library.Forms.STLabel();
this.paneVisibleChkBox = new Toolbox.Library.Forms.STCheckBox();
this.alphaUD = new BarSlider.BarSlider();
this.SuspendLayout();
//
// alphaSelectorHorizontalPanel1
//
this.alphaSelectorHorizontalPanel1.Alpha = 0;
this.alphaSelectorHorizontalPanel1.Location = new System.Drawing.Point(81, 71);
this.alphaSelectorHorizontalPanel1.Name = "alphaSelectorHorizontalPanel1";
this.alphaSelectorHorizontalPanel1.Size = new System.Drawing.Size(176, 34);
this.alphaSelectorHorizontalPanel1.TabIndex = 45;
//
// stLabel6
//
this.stLabel6.AutoSize = true;
this.stLabel6.Location = new System.Drawing.Point(12, 71);
this.stLabel6.Name = "stLabel6";
this.stLabel6.Size = new System.Drawing.Size(37, 13);
this.stLabel6.TabIndex = 44;
this.stLabel6.Text = "Alpha:";
//
// stLabel2
//
this.stLabel2.AutoSize = true;
this.stLabel2.Location = new System.Drawing.Point(12, 37);
this.stLabel2.Name = "stLabel2";
this.stLabel2.Size = new System.Drawing.Size(69, 13);
this.stLabel2.TabIndex = 43;
this.stLabel2.Text = "Pane visibile:";
//
// paneVisibleChkBox
//
this.paneVisibleChkBox.AutoSize = true;
this.paneVisibleChkBox.Location = new System.Drawing.Point(81, 37);
this.paneVisibleChkBox.Name = "paneVisibleChkBox";
this.paneVisibleChkBox.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.paneVisibleChkBox.Size = new System.Drawing.Size(15, 14);
this.paneVisibleChkBox.TabIndex = 42;
this.paneVisibleChkBox.UseVisualStyleBackColor = true;
//
// alphaUD
//
this.alphaUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.alphaUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.alphaUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.alphaUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.alphaUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.alphaUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.alphaUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.alphaUD.DataType = null;
this.alphaUD.DrawSemitransparentThumb = false;
this.alphaUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.alphaUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.alphaUD.ForeColor = System.Drawing.Color.White;
this.alphaUD.IncrementAmount = 0.01F;
this.alphaUD.InputName = "A";
this.alphaUD.LargeChange = 5F;
this.alphaUD.Location = new System.Drawing.Point(259, 76);
this.alphaUD.Maximum = 300000F;
this.alphaUD.Minimum = -300000F;
this.alphaUD.Name = "alphaUD";
this.alphaUD.Precision = 0.01F;
this.alphaUD.ScaleDivisions = 1;
this.alphaUD.ScaleSubDivisions = 2;
this.alphaUD.ShowDivisionsText = false;
this.alphaUD.ShowSmallScale = false;
this.alphaUD.Size = new System.Drawing.Size(84, 25);
this.alphaUD.SmallChange = 0.01F;
this.alphaUD.TabIndex = 46;
this.alphaUD.Text = "rotXUD";
this.alphaUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.alphaUD.ThumbSize = new System.Drawing.Size(1, 1);
this.alphaUD.TickAdd = 0F;
this.alphaUD.TickColor = System.Drawing.Color.White;
this.alphaUD.TickDivide = 0F;
this.alphaUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.alphaUD.UseInterlapsedBar = false;
this.alphaUD.Value = 30F;
//
// LytKeyVisibiltyPane
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.alphaUD);
this.Controls.Add(this.alphaSelectorHorizontalPanel1);
this.Controls.Add(this.stLabel6);
this.Controls.Add(this.stLabel2);
this.Controls.Add(this.paneVisibleChkBox);
this.Name = "LytKeyVisibiltyPane";
this.Size = new System.Drawing.Size(346, 111);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Toolbox.Library.Forms.AlphaSelectorHorizontalPanel alphaSelectorHorizontalPanel1;
private Toolbox.Library.Forms.STLabel stLabel6;
private Toolbox.Library.Forms.STLabel stLabel2;
private Toolbox.Library.Forms.STCheckBox paneVisibleChkBox;
private BarSlider.BarSlider alphaUD;
}
}

View File

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Animations;
using Toolbox.Library.Forms;
namespace LayoutBXLYT
{
public partial class LytKeyVisibiltyPane : LytAnimEditorKeyGUI
{
public LytKeyVisibiltyPane()
{
InitializeComponent();
}
public void SetPane(float frame, float startFrame, BasePane pane, List<STAnimGroup> groups)
{
paneVisibleChkBox.Checked = pane.Visible;
alphaSelectorHorizontalPanel1.Alpha = pane.Alpha;
alphaUD.Value = pane.Alpha;
foreach (var group in groups)
{
if (group is LytVisibiltyGroup)
{
var track = ((LytVisibiltyGroup)group).GetTrack(0);
if (track.HasKeys)
{
bool visbile = track.GetFrameValue(frame, startFrame) == 1;
paneVisibleChkBox.Checked = visbile;
bool keyed = track.IsKeyed(frame - startFrame);
if (keyed)
paneVisibleChkBox.BackColor = Color.FromArgb(255, 150, 106, 18);
else
paneVisibleChkBox.BackColor = FormThemes.BaseTheme.CheckBoxBackColor;
}
}
else if (group is LytVertexColorGroup)
{
var track = ((LytVertexColorGroup)group).GetTrack(16);
if (track.HasKeys)
{
byte alpha = (byte)track.GetFrameValue(frame);
alphaUD.Value = alpha;
alphaSelectorHorizontalPanel1.Alpha = alpha;
bool keyed = track.IsKeyed(frame);
SetValue(alphaUD, alpha, keyed);
}
}
}
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,881 @@
namespace LayoutBXLYT
{
partial class LytKeyVtxColorPanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LytKeyVtxColorPanel));
this.vertexColorBox1 = new Toolbox.Library.Forms.VertexColorBox();
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
this.stLabel2 = new Toolbox.Library.Forms.STLabel();
this.stLabel3 = new Toolbox.Library.Forms.STLabel();
this.stLabel4 = new Toolbox.Library.Forms.STLabel();
this.TLRUD = new BarSlider.BarSlider();
this.TLGUD = new BarSlider.BarSlider();
this.TLAUD = new BarSlider.BarSlider();
this.TLBUD = new BarSlider.BarSlider();
this.TRAUD = new BarSlider.BarSlider();
this.TRBUD = new BarSlider.BarSlider();
this.TRGUD = new BarSlider.BarSlider();
this.TRRUD = new BarSlider.BarSlider();
this.BLAUD = new BarSlider.BarSlider();
this.BLBUD = new BarSlider.BarSlider();
this.BLGUD = new BarSlider.BarSlider();
this.BLRUD = new BarSlider.BarSlider();
this.BRAUD = new BarSlider.BarSlider();
this.BRBUD = new BarSlider.BarSlider();
this.BRGUD = new BarSlider.BarSlider();
this.BRRUD = new BarSlider.BarSlider();
this.SuspendLayout();
//
// vertexColorBox1
//
this.vertexColorBox1.BackColor = System.Drawing.Color.Transparent;
this.vertexColorBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("vertexColorBox1.BackgroundImage")));
this.vertexColorBox1.BottomLeftColor = System.Drawing.Color.Empty;
this.vertexColorBox1.BottomRightColor = System.Drawing.Color.Empty;
this.vertexColorBox1.Location = new System.Drawing.Point(3, 29);
this.vertexColorBox1.Name = "vertexColorBox1";
this.vertexColorBox1.Size = new System.Drawing.Size(150, 150);
this.vertexColorBox1.TabIndex = 0;
this.vertexColorBox1.TopLeftColor = System.Drawing.Color.Empty;
this.vertexColorBox1.TopRightColor = System.Drawing.Color.Empty;
//
// stLabel1
//
this.stLabel1.AutoSize = true;
this.stLabel1.Location = new System.Drawing.Point(155, 44);
this.stLabel1.Name = "stLabel1";
this.stLabel1.Size = new System.Drawing.Size(23, 13);
this.stLabel1.TabIndex = 1;
this.stLabel1.Text = "TL:";
//
// stLabel2
//
this.stLabel2.AutoSize = true;
this.stLabel2.Location = new System.Drawing.Point(155, 73);
this.stLabel2.Name = "stLabel2";
this.stLabel2.Size = new System.Drawing.Size(25, 13);
this.stLabel2.TabIndex = 2;
this.stLabel2.Text = "TR:";
this.stLabel2.Click += new System.EventHandler(this.stLabel2_Click);
//
// stLabel3
//
this.stLabel3.AutoSize = true;
this.stLabel3.Location = new System.Drawing.Point(155, 132);
this.stLabel3.Name = "stLabel3";
this.stLabel3.Size = new System.Drawing.Size(25, 13);
this.stLabel3.TabIndex = 4;
this.stLabel3.Text = "BR:";
//
// stLabel4
//
this.stLabel4.AutoSize = true;
this.stLabel4.Location = new System.Drawing.Point(155, 103);
this.stLabel4.Name = "stLabel4";
this.stLabel4.Size = new System.Drawing.Size(23, 13);
this.stLabel4.TabIndex = 3;
this.stLabel4.Text = "BL:";
//
// TLRUD
//
this.TLRUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLRUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TLRUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLRUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TLRUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TLRUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TLRUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLRUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TLRUD.DataType = null;
this.TLRUD.DrawSemitransparentThumb = false;
this.TLRUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLRUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLRUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TLRUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLRUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TLRUD.ForeColor = System.Drawing.Color.White;
this.TLRUD.IncrementAmount = 0.01F;
this.TLRUD.InputName = "R";
this.TLRUD.LargeChange = 5F;
this.TLRUD.Location = new System.Drawing.Point(185, 35);
this.TLRUD.Maximum = 300000F;
this.TLRUD.Minimum = -300000F;
this.TLRUD.Name = "TLRUD";
this.TLRUD.Precision = 0.01F;
this.TLRUD.ScaleDivisions = 1;
this.TLRUD.ScaleSubDivisions = 2;
this.TLRUD.ShowDivisionsText = false;
this.TLRUD.ShowSmallScale = false;
this.TLRUD.Size = new System.Drawing.Size(89, 25);
this.TLRUD.SmallChange = 0.01F;
this.TLRUD.TabIndex = 37;
this.TLRUD.Text = "barSlider2";
this.TLRUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLRUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLRUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TLRUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TLRUD.TickAdd = 0F;
this.TLRUD.TickColor = System.Drawing.Color.White;
this.TLRUD.TickDivide = 0F;
this.TLRUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TLRUD.UseInterlapsedBar = false;
this.TLRUD.Value = 255F;
//
// TLGUD
//
this.TLGUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLGUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TLGUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLGUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TLGUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TLGUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TLGUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLGUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TLGUD.DataType = null;
this.TLGUD.DrawSemitransparentThumb = false;
this.TLGUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLGUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLGUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TLGUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLGUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TLGUD.ForeColor = System.Drawing.Color.White;
this.TLGUD.IncrementAmount = 0.01F;
this.TLGUD.InputName = "G";
this.TLGUD.LargeChange = 5F;
this.TLGUD.Location = new System.Drawing.Point(280, 35);
this.TLGUD.Maximum = 300000F;
this.TLGUD.Minimum = -300000F;
this.TLGUD.Name = "TLGUD";
this.TLGUD.Precision = 0.01F;
this.TLGUD.ScaleDivisions = 1;
this.TLGUD.ScaleSubDivisions = 2;
this.TLGUD.ShowDivisionsText = false;
this.TLGUD.ShowSmallScale = false;
this.TLGUD.Size = new System.Drawing.Size(89, 25);
this.TLGUD.SmallChange = 0.01F;
this.TLGUD.TabIndex = 38;
this.TLGUD.Text = "barSlider2";
this.TLGUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLGUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLGUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TLGUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TLGUD.TickAdd = 0F;
this.TLGUD.TickColor = System.Drawing.Color.White;
this.TLGUD.TickDivide = 0F;
this.TLGUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TLGUD.UseInterlapsedBar = false;
this.TLGUD.Value = 255F;
//
// TLAUD
//
this.TLAUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLAUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TLAUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLAUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TLAUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TLAUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TLAUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLAUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TLAUD.DataType = null;
this.TLAUD.DrawSemitransparentThumb = false;
this.TLAUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLAUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLAUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TLAUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLAUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TLAUD.ForeColor = System.Drawing.Color.White;
this.TLAUD.IncrementAmount = 0.01F;
this.TLAUD.InputName = "A";
this.TLAUD.LargeChange = 5F;
this.TLAUD.Location = new System.Drawing.Point(470, 35);
this.TLAUD.Maximum = 300000F;
this.TLAUD.Minimum = -300000F;
this.TLAUD.Name = "TLAUD";
this.TLAUD.Precision = 0.01F;
this.TLAUD.ScaleDivisions = 1;
this.TLAUD.ScaleSubDivisions = 2;
this.TLAUD.ShowDivisionsText = false;
this.TLAUD.ShowSmallScale = false;
this.TLAUD.Size = new System.Drawing.Size(89, 25);
this.TLAUD.SmallChange = 0.01F;
this.TLAUD.TabIndex = 40;
this.TLAUD.Text = "barSlider2";
this.TLAUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLAUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLAUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TLAUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TLAUD.TickAdd = 0F;
this.TLAUD.TickColor = System.Drawing.Color.White;
this.TLAUD.TickDivide = 0F;
this.TLAUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TLAUD.UseInterlapsedBar = false;
this.TLAUD.Value = 255F;
//
// TLBUD
//
this.TLBUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLBUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TLBUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLBUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TLBUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TLBUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TLBUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TLBUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TLBUD.DataType = null;
this.TLBUD.DrawSemitransparentThumb = false;
this.TLBUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLBUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLBUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TLBUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLBUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TLBUD.ForeColor = System.Drawing.Color.White;
this.TLBUD.IncrementAmount = 0.01F;
this.TLBUD.InputName = "B";
this.TLBUD.LargeChange = 5F;
this.TLBUD.Location = new System.Drawing.Point(375, 35);
this.TLBUD.Maximum = 300000F;
this.TLBUD.Minimum = -300000F;
this.TLBUD.Name = "TLBUD";
this.TLBUD.Precision = 0.01F;
this.TLBUD.ScaleDivisions = 1;
this.TLBUD.ScaleSubDivisions = 2;
this.TLBUD.ShowDivisionsText = false;
this.TLBUD.ShowSmallScale = false;
this.TLBUD.Size = new System.Drawing.Size(89, 25);
this.TLBUD.SmallChange = 0.01F;
this.TLBUD.TabIndex = 39;
this.TLBUD.Text = "barSlider2";
this.TLBUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLBUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TLBUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TLBUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TLBUD.TickAdd = 0F;
this.TLBUD.TickColor = System.Drawing.Color.White;
this.TLBUD.TickDivide = 0F;
this.TLBUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TLBUD.UseInterlapsedBar = false;
this.TLBUD.Value = 255F;
//
// TRAUD
//
this.TRAUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRAUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TRAUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRAUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TRAUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TRAUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TRAUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRAUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TRAUD.DataType = null;
this.TRAUD.DrawSemitransparentThumb = false;
this.TRAUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRAUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRAUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TRAUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRAUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TRAUD.ForeColor = System.Drawing.Color.White;
this.TRAUD.IncrementAmount = 0.01F;
this.TRAUD.InputName = "A";
this.TRAUD.LargeChange = 5F;
this.TRAUD.Location = new System.Drawing.Point(470, 66);
this.TRAUD.Maximum = 300000F;
this.TRAUD.Minimum = -300000F;
this.TRAUD.Name = "TRAUD";
this.TRAUD.Precision = 0.01F;
this.TRAUD.ScaleDivisions = 1;
this.TRAUD.ScaleSubDivisions = 2;
this.TRAUD.ShowDivisionsText = false;
this.TRAUD.ShowSmallScale = false;
this.TRAUD.Size = new System.Drawing.Size(89, 25);
this.TRAUD.SmallChange = 0.01F;
this.TRAUD.TabIndex = 44;
this.TRAUD.Text = "barSlider4";
this.TRAUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRAUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRAUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TRAUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TRAUD.TickAdd = 0F;
this.TRAUD.TickColor = System.Drawing.Color.White;
this.TRAUD.TickDivide = 0F;
this.TRAUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TRAUD.UseInterlapsedBar = false;
this.TRAUD.Value = 255F;
//
// TRBUD
//
this.TRBUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRBUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TRBUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRBUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TRBUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TRBUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TRBUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRBUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TRBUD.DataType = null;
this.TRBUD.DrawSemitransparentThumb = false;
this.TRBUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRBUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRBUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TRBUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRBUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TRBUD.ForeColor = System.Drawing.Color.White;
this.TRBUD.IncrementAmount = 0.01F;
this.TRBUD.InputName = "B";
this.TRBUD.LargeChange = 5F;
this.TRBUD.Location = new System.Drawing.Point(375, 66);
this.TRBUD.Maximum = 300000F;
this.TRBUD.Minimum = -300000F;
this.TRBUD.Name = "TRBUD";
this.TRBUD.Precision = 0.01F;
this.TRBUD.ScaleDivisions = 1;
this.TRBUD.ScaleSubDivisions = 2;
this.TRBUD.ShowDivisionsText = false;
this.TRBUD.ShowSmallScale = false;
this.TRBUD.Size = new System.Drawing.Size(89, 25);
this.TRBUD.SmallChange = 0.01F;
this.TRBUD.TabIndex = 43;
this.TRBUD.Text = "barSlider2";
this.TRBUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRBUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRBUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TRBUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TRBUD.TickAdd = 0F;
this.TRBUD.TickColor = System.Drawing.Color.White;
this.TRBUD.TickDivide = 0F;
this.TRBUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TRBUD.UseInterlapsedBar = false;
this.TRBUD.Value = 255F;
//
// TRGUD
//
this.TRGUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRGUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TRGUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRGUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TRGUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TRGUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TRGUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRGUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TRGUD.DataType = null;
this.TRGUD.DrawSemitransparentThumb = false;
this.TRGUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRGUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRGUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TRGUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRGUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TRGUD.ForeColor = System.Drawing.Color.White;
this.TRGUD.IncrementAmount = 0.01F;
this.TRGUD.InputName = "G";
this.TRGUD.LargeChange = 5F;
this.TRGUD.Location = new System.Drawing.Point(280, 66);
this.TRGUD.Maximum = 300000F;
this.TRGUD.Minimum = -300000F;
this.TRGUD.Name = "TRGUD";
this.TRGUD.Precision = 0.01F;
this.TRGUD.ScaleDivisions = 1;
this.TRGUD.ScaleSubDivisions = 2;
this.TRGUD.ShowDivisionsText = false;
this.TRGUD.ShowSmallScale = false;
this.TRGUD.Size = new System.Drawing.Size(89, 25);
this.TRGUD.SmallChange = 0.01F;
this.TRGUD.TabIndex = 42;
this.TRGUD.Text = "barSlider2";
this.TRGUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRGUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRGUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TRGUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TRGUD.TickAdd = 0F;
this.TRGUD.TickColor = System.Drawing.Color.White;
this.TRGUD.TickDivide = 0F;
this.TRGUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TRGUD.UseInterlapsedBar = false;
this.TRGUD.Value = 255F;
//
// TRRUD
//
this.TRRUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRRUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.TRRUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRRUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.TRRUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.TRRUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.TRRUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.TRRUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.TRRUD.DataType = null;
this.TRRUD.DrawSemitransparentThumb = false;
this.TRRUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRRUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRRUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.TRRUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRRUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.TRRUD.ForeColor = System.Drawing.Color.White;
this.TRRUD.IncrementAmount = 0.01F;
this.TRRUD.InputName = "R";
this.TRRUD.LargeChange = 5F;
this.TRRUD.Location = new System.Drawing.Point(185, 66);
this.TRRUD.Maximum = 300000F;
this.TRRUD.Minimum = -300000F;
this.TRRUD.Name = "TRRUD";
this.TRRUD.Precision = 0.01F;
this.TRRUD.ScaleDivisions = 1;
this.TRRUD.ScaleSubDivisions = 2;
this.TRRUD.ShowDivisionsText = false;
this.TRRUD.ShowSmallScale = false;
this.TRRUD.Size = new System.Drawing.Size(89, 25);
this.TRRUD.SmallChange = 0.01F;
this.TRRUD.TabIndex = 41;
this.TRRUD.Text = "barSlider2";
this.TRRUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRRUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.TRRUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.TRRUD.ThumbSize = new System.Drawing.Size(1, 1);
this.TRRUD.TickAdd = 0F;
this.TRRUD.TickColor = System.Drawing.Color.White;
this.TRRUD.TickDivide = 0F;
this.TRRUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.TRRUD.UseInterlapsedBar = false;
this.TRRUD.Value = 255F;
//
// BLAUD
//
this.BLAUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLAUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BLAUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLAUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BLAUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BLAUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BLAUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLAUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BLAUD.DataType = null;
this.BLAUD.DrawSemitransparentThumb = false;
this.BLAUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLAUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLAUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BLAUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLAUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BLAUD.ForeColor = System.Drawing.Color.White;
this.BLAUD.IncrementAmount = 0.01F;
this.BLAUD.InputName = "A";
this.BLAUD.LargeChange = 5F;
this.BLAUD.Location = new System.Drawing.Point(470, 97);
this.BLAUD.Maximum = 300000F;
this.BLAUD.Minimum = -300000F;
this.BLAUD.Name = "BLAUD";
this.BLAUD.Precision = 0.01F;
this.BLAUD.ScaleDivisions = 1;
this.BLAUD.ScaleSubDivisions = 2;
this.BLAUD.ShowDivisionsText = false;
this.BLAUD.ShowSmallScale = false;
this.BLAUD.Size = new System.Drawing.Size(89, 25);
this.BLAUD.SmallChange = 0.01F;
this.BLAUD.TabIndex = 48;
this.BLAUD.Text = "barSlider8";
this.BLAUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLAUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLAUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BLAUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BLAUD.TickAdd = 0F;
this.BLAUD.TickColor = System.Drawing.Color.White;
this.BLAUD.TickDivide = 0F;
this.BLAUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BLAUD.UseInterlapsedBar = false;
this.BLAUD.Value = 255F;
//
// BLBUD
//
this.BLBUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLBUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BLBUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLBUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BLBUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BLBUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BLBUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLBUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BLBUD.DataType = null;
this.BLBUD.DrawSemitransparentThumb = false;
this.BLBUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLBUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLBUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BLBUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLBUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BLBUD.ForeColor = System.Drawing.Color.White;
this.BLBUD.IncrementAmount = 0.01F;
this.BLBUD.InputName = "B";
this.BLBUD.LargeChange = 5F;
this.BLBUD.Location = new System.Drawing.Point(375, 97);
this.BLBUD.Maximum = 300000F;
this.BLBUD.Minimum = -300000F;
this.BLBUD.Name = "BLBUD";
this.BLBUD.Precision = 0.01F;
this.BLBUD.ScaleDivisions = 1;
this.BLBUD.ScaleSubDivisions = 2;
this.BLBUD.ShowDivisionsText = false;
this.BLBUD.ShowSmallScale = false;
this.BLBUD.Size = new System.Drawing.Size(89, 25);
this.BLBUD.SmallChange = 0.01F;
this.BLBUD.TabIndex = 47;
this.BLBUD.Text = "barSlider2";
this.BLBUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLBUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLBUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BLBUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BLBUD.TickAdd = 0F;
this.BLBUD.TickColor = System.Drawing.Color.White;
this.BLBUD.TickDivide = 0F;
this.BLBUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BLBUD.UseInterlapsedBar = false;
this.BLBUD.Value = 255F;
//
// BLGUD
//
this.BLGUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLGUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BLGUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLGUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BLGUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BLGUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BLGUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLGUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BLGUD.DataType = null;
this.BLGUD.DrawSemitransparentThumb = false;
this.BLGUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLGUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLGUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BLGUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLGUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BLGUD.ForeColor = System.Drawing.Color.White;
this.BLGUD.IncrementAmount = 0.01F;
this.BLGUD.InputName = "G";
this.BLGUD.LargeChange = 5F;
this.BLGUD.Location = new System.Drawing.Point(280, 97);
this.BLGUD.Maximum = 300000F;
this.BLGUD.Minimum = -300000F;
this.BLGUD.Name = "BLGUD";
this.BLGUD.Precision = 0.01F;
this.BLGUD.ScaleDivisions = 1;
this.BLGUD.ScaleSubDivisions = 2;
this.BLGUD.ShowDivisionsText = false;
this.BLGUD.ShowSmallScale = false;
this.BLGUD.Size = new System.Drawing.Size(89, 25);
this.BLGUD.SmallChange = 0.01F;
this.BLGUD.TabIndex = 46;
this.BLGUD.Text = "barSlider2";
this.BLGUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLGUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLGUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BLGUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BLGUD.TickAdd = 0F;
this.BLGUD.TickColor = System.Drawing.Color.White;
this.BLGUD.TickDivide = 0F;
this.BLGUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BLGUD.UseInterlapsedBar = false;
this.BLGUD.Value = 255F;
//
// BLRUD
//
this.BLRUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLRUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BLRUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLRUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BLRUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BLRUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BLRUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BLRUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BLRUD.DataType = null;
this.BLRUD.DrawSemitransparentThumb = false;
this.BLRUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLRUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLRUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BLRUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLRUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BLRUD.ForeColor = System.Drawing.Color.White;
this.BLRUD.IncrementAmount = 0.01F;
this.BLRUD.InputName = "R";
this.BLRUD.LargeChange = 5F;
this.BLRUD.Location = new System.Drawing.Point(185, 97);
this.BLRUD.Maximum = 300000F;
this.BLRUD.Minimum = -300000F;
this.BLRUD.Name = "BLRUD";
this.BLRUD.Precision = 0.01F;
this.BLRUD.ScaleDivisions = 1;
this.BLRUD.ScaleSubDivisions = 2;
this.BLRUD.ShowDivisionsText = false;
this.BLRUD.ShowSmallScale = false;
this.BLRUD.Size = new System.Drawing.Size(89, 25);
this.BLRUD.SmallChange = 0.01F;
this.BLRUD.TabIndex = 45;
this.BLRUD.Text = "barSlider2";
this.BLRUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLRUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BLRUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BLRUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BLRUD.TickAdd = 0F;
this.BLRUD.TickColor = System.Drawing.Color.White;
this.BLRUD.TickDivide = 0F;
this.BLRUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BLRUD.UseInterlapsedBar = false;
this.BLRUD.Value = 255F;
//
// BRAUD
//
this.BRAUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRAUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BRAUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRAUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BRAUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BRAUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BRAUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRAUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BRAUD.DataType = null;
this.BRAUD.DrawSemitransparentThumb = false;
this.BRAUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRAUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRAUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BRAUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRAUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BRAUD.ForeColor = System.Drawing.Color.White;
this.BRAUD.IncrementAmount = 0.01F;
this.BRAUD.InputName = "A";
this.BRAUD.LargeChange = 5F;
this.BRAUD.Location = new System.Drawing.Point(470, 128);
this.BRAUD.Maximum = 300000F;
this.BRAUD.Minimum = -300000F;
this.BRAUD.Name = "BRAUD";
this.BRAUD.Precision = 0.01F;
this.BRAUD.ScaleDivisions = 1;
this.BRAUD.ScaleSubDivisions = 2;
this.BRAUD.ShowDivisionsText = false;
this.BRAUD.ShowSmallScale = false;
this.BRAUD.Size = new System.Drawing.Size(89, 25);
this.BRAUD.SmallChange = 0.01F;
this.BRAUD.TabIndex = 52;
this.BRAUD.Text = "barSlider12";
this.BRAUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRAUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRAUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BRAUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BRAUD.TickAdd = 0F;
this.BRAUD.TickColor = System.Drawing.Color.White;
this.BRAUD.TickDivide = 0F;
this.BRAUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BRAUD.UseInterlapsedBar = false;
this.BRAUD.Value = 255F;
//
// BRBUD
//
this.BRBUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRBUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BRBUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRBUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BRBUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BRBUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BRBUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRBUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BRBUD.DataType = null;
this.BRBUD.DrawSemitransparentThumb = false;
this.BRBUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRBUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRBUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BRBUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRBUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BRBUD.ForeColor = System.Drawing.Color.White;
this.BRBUD.IncrementAmount = 0.01F;
this.BRBUD.InputName = "B";
this.BRBUD.LargeChange = 5F;
this.BRBUD.Location = new System.Drawing.Point(375, 128);
this.BRBUD.Maximum = 300000F;
this.BRBUD.Minimum = -300000F;
this.BRBUD.Name = "BRBUD";
this.BRBUD.Precision = 0.01F;
this.BRBUD.ScaleDivisions = 1;
this.BRBUD.ScaleSubDivisions = 2;
this.BRBUD.ShowDivisionsText = false;
this.BRBUD.ShowSmallScale = false;
this.BRBUD.Size = new System.Drawing.Size(89, 25);
this.BRBUD.SmallChange = 0.01F;
this.BRBUD.TabIndex = 51;
this.BRBUD.Text = "barSlider2";
this.BRBUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRBUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRBUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BRBUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BRBUD.TickAdd = 0F;
this.BRBUD.TickColor = System.Drawing.Color.White;
this.BRBUD.TickDivide = 0F;
this.BRBUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BRBUD.UseInterlapsedBar = false;
this.BRBUD.Value = 255F;
//
// BRGUD
//
this.BRGUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRGUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BRGUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRGUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BRGUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BRGUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BRGUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRGUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BRGUD.DataType = null;
this.BRGUD.DrawSemitransparentThumb = false;
this.BRGUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRGUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRGUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BRGUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRGUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BRGUD.ForeColor = System.Drawing.Color.White;
this.BRGUD.IncrementAmount = 0.01F;
this.BRGUD.InputName = "G";
this.BRGUD.LargeChange = 5F;
this.BRGUD.Location = new System.Drawing.Point(280, 128);
this.BRGUD.Maximum = 300000F;
this.BRGUD.Minimum = -300000F;
this.BRGUD.Name = "BRGUD";
this.BRGUD.Precision = 0.01F;
this.BRGUD.ScaleDivisions = 1;
this.BRGUD.ScaleSubDivisions = 2;
this.BRGUD.ShowDivisionsText = false;
this.BRGUD.ShowSmallScale = false;
this.BRGUD.Size = new System.Drawing.Size(89, 25);
this.BRGUD.SmallChange = 0.01F;
this.BRGUD.TabIndex = 50;
this.BRGUD.Text = "barSlider2";
this.BRGUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRGUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRGUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BRGUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BRGUD.TickAdd = 0F;
this.BRGUD.TickColor = System.Drawing.Color.White;
this.BRGUD.TickDivide = 0F;
this.BRGUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BRGUD.UseInterlapsedBar = false;
this.BRGUD.Value = 255F;
//
// BRRUD
//
this.BRRUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRRUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.BRRUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRRUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.BRRUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.BRRUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BRRUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.BRRUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.BRRUD.DataType = null;
this.BRRUD.DrawSemitransparentThumb = false;
this.BRRUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRRUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRRUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.BRRUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRRUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.BRRUD.ForeColor = System.Drawing.Color.White;
this.BRRUD.IncrementAmount = 0.01F;
this.BRRUD.InputName = "R";
this.BRRUD.LargeChange = 5F;
this.BRRUD.Location = new System.Drawing.Point(185, 128);
this.BRRUD.Maximum = 300000F;
this.BRRUD.Minimum = -300000F;
this.BRRUD.Name = "BRRUD";
this.BRRUD.Precision = 0.01F;
this.BRRUD.ScaleDivisions = 1;
this.BRRUD.ScaleSubDivisions = 2;
this.BRRUD.ShowDivisionsText = false;
this.BRRUD.ShowSmallScale = false;
this.BRRUD.Size = new System.Drawing.Size(89, 25);
this.BRRUD.SmallChange = 0.01F;
this.BRRUD.TabIndex = 49;
this.BRRUD.Text = "barSlider2";
this.BRRUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRRUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.BRRUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.BRRUD.ThumbSize = new System.Drawing.Size(1, 1);
this.BRRUD.TickAdd = 0F;
this.BRRUD.TickColor = System.Drawing.Color.White;
this.BRRUD.TickDivide = 0F;
this.BRRUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.BRRUD.UseInterlapsedBar = false;
this.BRRUD.Value = 255F;
//
// LytKeyVtxColorPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.BRAUD);
this.Controls.Add(this.BRBUD);
this.Controls.Add(this.BRGUD);
this.Controls.Add(this.BRRUD);
this.Controls.Add(this.BLAUD);
this.Controls.Add(this.BLBUD);
this.Controls.Add(this.BLGUD);
this.Controls.Add(this.BLRUD);
this.Controls.Add(this.TRAUD);
this.Controls.Add(this.TRBUD);
this.Controls.Add(this.TRGUD);
this.Controls.Add(this.TRRUD);
this.Controls.Add(this.TLAUD);
this.Controls.Add(this.TLBUD);
this.Controls.Add(this.TLGUD);
this.Controls.Add(this.TLRUD);
this.Controls.Add(this.stLabel3);
this.Controls.Add(this.stLabel4);
this.Controls.Add(this.stLabel2);
this.Controls.Add(this.stLabel1);
this.Controls.Add(this.vertexColorBox1);
this.Name = "LytKeyVtxColorPanel";
this.Size = new System.Drawing.Size(570, 182);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Toolbox.Library.Forms.VertexColorBox vertexColorBox1;
private Toolbox.Library.Forms.STLabel stLabel1;
private Toolbox.Library.Forms.STLabel stLabel2;
private Toolbox.Library.Forms.STLabel stLabel3;
private Toolbox.Library.Forms.STLabel stLabel4;
private BarSlider.BarSlider TLRUD;
private BarSlider.BarSlider TLGUD;
private BarSlider.BarSlider TLAUD;
private BarSlider.BarSlider TLBUD;
private BarSlider.BarSlider TRAUD;
private BarSlider.BarSlider TRBUD;
private BarSlider.BarSlider TRGUD;
private BarSlider.BarSlider TRRUD;
private BarSlider.BarSlider BLAUD;
private BarSlider.BarSlider BLBUD;
private BarSlider.BarSlider BLGUD;
private BarSlider.BarSlider BLRUD;
private BarSlider.BarSlider BRAUD;
private BarSlider.BarSlider BRBUD;
private BarSlider.BarSlider BRGUD;
private BarSlider.BarSlider BRRUD;
}
}

View File

@ -0,0 +1,133 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Animations;
using Toolbox.Library.Forms;
using Toolbox.Library;
namespace LayoutBXLYT
{
public partial class LytKeyVtxColorPanel : LytAnimEditorKeyGUI
{
public LytKeyVtxColorPanel()
{
InitializeComponent();
}
private LytAnimGroup activeGroup;
public void SetColors(Color[] colors, float frame, float startFrame, LytAnimGroup group)
{
activeGroup = group;
SetValue(TLRUD, colors[0].R, false);
SetValue(TLGUD, colors[0].G, false);
SetValue(TLBUD, colors[0].B, false);
SetValue(TLAUD, colors[0].A, false);
SetValue(TRRUD, colors[1].R, false);
SetValue(TRGUD, colors[1].G, false);
SetValue(TRBUD, colors[1].B, false);
SetValue(TRAUD, colors[1].A, false);
SetValue(BLRUD, colors[2].R, false);
SetValue(BLGUD, colors[2].G, false);
SetValue(BLBUD, colors[2].B, false);
SetValue(BLAUD, colors[2].A, false);
SetValue(BRRUD, colors[3].R, false);
SetValue(BRGUD, colors[3].G, false);
SetValue(BRBUD, colors[3].B, false);
SetValue(BRAUD, colors[3].A, false);
foreach (var grp in group.SubAnimGroups)
{
if (grp is LytVertexColorGroup)
{
for (int i = 0; i < 16; i++)
{
var track = ((LytVertexColorGroup)grp).GetTrack(i);
if (track.HasKeys)
{
float value = track.GetFrameValue(frame, startFrame);
bool keyed = track.IsKeyed(frame - startFrame);
switch ((LVCTarget)i)
{
case LVCTarget.LeftTopRed: SetValue(TLRUD, value, keyed); break;
case LVCTarget.LeftTopGreen: SetValue(TLGUD, value, keyed); break;
case LVCTarget.LeftTopBlue: SetValue(TLBUD, value, keyed); break;
case LVCTarget.LeftTopAlpha: SetValue(TLAUD, value, keyed); break;
case LVCTarget.RightTopRed: SetValue(TRRUD, value, keyed); break;
case LVCTarget.RightTopGreen: SetValue(TRGUD, value, keyed); break;
case LVCTarget.RightTopBlue: SetValue(TRBUD, value, keyed); break;
case LVCTarget.RightTopAlpha: SetValue(TRAUD, value, keyed); break;
case LVCTarget.LeftBottomRed: SetValue(BLRUD, value, keyed); break;
case LVCTarget.LeftBottomGreen: SetValue(BLGUD, value, keyed); break;
case LVCTarget.LeftBottomBlue: SetValue(BLBUD, value, keyed); break;
case LVCTarget.LeftBottomAlpha: SetValue(BLAUD, value, keyed); break;
case LVCTarget.RightBottomRed: SetValue(BRRUD, value, keyed); break;
case LVCTarget.RightBottomGreen: SetValue(BRGUD, value, keyed); break;
case LVCTarget.RightBottomBlue: SetValue(BRBUD, value, keyed); break;
case LVCTarget.RightBottomAlpha: SetValue(BRAUD, value, keyed); break;
}
}
}
}
}
UpdateColors();
}
private void UpdateColors()
{
vertexColorBox1.TopLeftColor = Color.FromArgb((byte)TLAUD.Value, (byte)TLRUD.Value, (byte)TLGUD.Value, (byte)TLBUD.Value);
vertexColorBox1.TopRightColor = Color.FromArgb((byte)TRAUD.Value, (byte)TRRUD.Value, (byte)TRGUD.Value, (byte)TRBUD.Value);
vertexColorBox1.BottomLeftColor = Color.FromArgb((byte)BLAUD.Value, (byte)BLRUD.Value, (byte)BLGUD.Value, (byte)BLBUD.Value);
vertexColorBox1.BottomRightColor = Color.FromArgb((byte)BRAUD.Value, (byte)BRRUD.Value, (byte)BRGUD.Value, (byte)BRBUD.Value);
vertexColorBox1.OnColorChanged += OnColorChanged;
}
private void OnColorChanged(object sender, EventArgs e)
{
SetKeyedValue(TLRUD, vertexColorBox1.TopLeftColor.R);
SetKeyedValue(TLGUD, vertexColorBox1.TopLeftColor.G);
SetKeyedValue(TLBUD, vertexColorBox1.TopLeftColor.B);
SetKeyedValue(TLAUD, vertexColorBox1.TopLeftColor.A);
SetKeyedValue(TRRUD, vertexColorBox1.TopRightColor.R);
SetKeyedValue(TRGUD, vertexColorBox1.TopRightColor.G);
SetKeyedValue(TRBUD, vertexColorBox1.TopRightColor.B);
SetKeyedValue(TRAUD, vertexColorBox1.TopRightColor.A);
SetKeyedValue(BLRUD, vertexColorBox1.BottomLeftColor.R);
SetKeyedValue(BLGUD, vertexColorBox1.BottomLeftColor.G);
SetKeyedValue(BLBUD, vertexColorBox1.BottomLeftColor.B);
SetKeyedValue(BLAUD, vertexColorBox1.BottomLeftColor.A);
SetKeyedValue(BRRUD, vertexColorBox1.BottomRightColor.R);
SetKeyedValue(BRGUD, vertexColorBox1.BottomRightColor.G);
SetKeyedValue(BRBUD, vertexColorBox1.BottomRightColor.B);
SetKeyedValue(BRAUD, vertexColorBox1.BottomRightColor.A);
}
private void SetKeyedValue(BarSlider.BarSlider barSlider, float value)
{
bool changed = barSlider.Value != value;
if (!changed)
return;
SetValue(barSlider, value, true);
}
private void stLabel2_Click(object sender, EventArgs e)
{
}
}
}

View File

@ -0,0 +1,328 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="vertexColorBox1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAMAAACJuGjuAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADAFBMVEXMzMzNzc3Ozs7Pz8/Q0NDR0dHS
0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm
5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6
+vr7+/v8/Pz9/f3+/v7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDTbOhAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRF
WHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjIx8SBplQAAK8tJREFUeF7t3Qlz21iSBGDZOnifAEiABHif
Ou2e///ftu3OrBILitBMrzzjtvOLaHcHkqsCHnMghfdRuIqyp39d+JIgoM4eCXzdIjCrr4jg3EZAySMS
eMoR0HV4wb9WN0hoGWYc+wioi4D+yBDQzRkJLRtI4DpHQI8dJNT9goTSz0igtUFAu3Adn+KMf4WTuBqF
0/xaIKBGmPHHGYGZvyCChwEC6t8jgS8VAnP8AxHsmggoD0txj+Pu/WIdkMDXHQLz+xQrvGM/R7Fq7+kH
FOukYpGKZVQso2IZFcv9M4p1+wHF+il/xlKxjO5YTsUiFcupWKRiORWLVCz3vymWfsYiFcuoWEbFcvpW
SCqWU7FIxXIqllGxjIpl9BekRsVyumORiuVULPqFi5UFeVldKHMENJ0jgXKGwMyQ0HyCgN6dkYUXVPUZ
4RXzKQKaIqD6jHAd1ax2mgiodh3TeJpxxiQuRe06CgSmNiMud4GAajPmCEwRl7u2Vu/NqK1VbSnijPnV
U1C2bi80KgS0HSCBuyECk9whgu4OAVVhRqtAQPdtJJSckVAaZvTWCOBxi8DMkdC5i4DSAxK4LxBQa4uE
NuEkbqt7JLAfI6BBuI6HGQJzfEQEyw4CuMsR0HGEhDoIzKSBBNorBLQOMxoZAtNDQsOwVk9FmNG5wq3L
VLe4ucHnBQI6dJHApz4CM0JCrSMCWoQZNwUCer5DQqNnJDT+hAQ6WwTwxx6BKZHQUwsBJeEbwvMMAd2G
HwL+tQ/f+a4W4ZvOOX7T6YXr+BJnXN2Hbzrr8E2n9s2z9o2ticBMrpHAXfwGvQ0zPqcITPxhJn7z/FcR
lqKhYhkVi1Qsp2IZFcuoWE7FIhXLqVikYjkVi1Qsp2IZFcuoWE7FIhXLqVikYjkVi1Qsp2IZFcuoWE7F
IhXLqVikYjkViz6kWF+CsvH5wm2FgPY9JHAz+H745fuf342vEUFnj4CqJhJoFAjoMbzg8/gBCSU3SKC7
QQAvOwSmREIPbQSUnJDAY4GAmvE6duEkPldPSOA4RED9cB3PMwTm9Gohv1mF07zJXy/1n05xRhuBmdwi
geYaAW3CjNsMgemEt3QQ1upLEZaidZUEebW4UE0R0GSOhOYIzAwBlRkCmsYZBQJKwwsWsxQJ1WbUThOB
yRFQWiKgWTjNNEdA1QQJTeJpTsNpZvE043XUZixqaxVPM15HFt+PEoEpwmmWtesIM2rvR1J7z+NpxtqU
uHM5bU0mfZjCac+70Z53o2IZFcuoWE7FIhXL/TbF0gdWjYrldMciFcupWKRiORXLqFhGxTIfUSz9jEUq
ltEdy6hYTsUiFcupWKRiuV+lWPp7LKNiORWLVCynb4X0CxerE0y3hwv7CQIaLZHQAoGpENB6hIAmYcYu
R0C98IJD1UNCJQJaJQhohMBMEVB/jYDKARLo5QhoG69jvEdCky4SGMalWIbr6MYZh3ASnXSDAPYFAhos
kNAGgZntkMAmrlUSZ8wRmLhWyyECKsJSbK7i2swH3Qu9OQJajpFAL/l++NXXyXqIYLRCQHFGv0BA2yES
ymLT4oxxWN79EoGZIaHajElYvW2BgAbxOpbhJLrz8BauUwSUxP9JxRnddXhDqnCaf9b98hW1GUMEZtpH
ArW6L+KMKQIzQkJJbFoRlmKoPe9Ge95JH6ZwKpZRsYyK5VQsUrGcikUqllOxSMVyKpZRsYyK5VQsUrGc
ikUqllOxSMVyKpZRsYyK5VQsUrGcikUqlvttihU32qhYr6hY9LPesb4G5d2nCzcLBHToIYHPfQRm9BkR
tA8IaBFm3BYI6KmBhEaPSCgJMzpbBPBlj8CUSOixjYCSMxJ4miGgRryO3TUSqp6RwGmIgPpPSOAlzvgU
TuLrqoUArnMEdI4zmgjM5AYJNNYIaNtEAtcpAhPXqh9PswhL0bza7i7Nhv0LgzkCWiRIKP1++NXXmSCg
8RIBzcOMYYGANiMklG2QUJyRVAhgu0BgZkhoPUZAkxUS2BQIaLhAQvUZ4TSXKQJKwwtqM/qr8IaUcSny
10v9p1WcMUJg8gESGIW12lVhxmCKwMS1SsNa7Yo4A3cup63JpK3JTnvezX+lWPowBalYRncso2I5FYtU
LKdi0W9crJdasfZI4OsWgflnFOsDPrDa+yl/xjojMB9QrKPuWKQ7ltG3QqNiGRXLqVikYjkVi/6NYv2U
P2OpWEZ3LKdikYrlVCxSsZyKRSqW+8+LpV+8ZlQspzsWqVhOxaJfuFirYJaMLoxnCKjKkNAEgZkgoLRC
QHFGUiCgZXjBaLJEQlMElJYIqERg4nUsUwQ0WSCBZYGAkngd5RgJzcJpVnEpsvCC2oxRnDGPS5EjoEVt
uRGYPJxmMkdAZXzP44xVXKssrNWqiDNqW5OrsN38ur41GQm8sTU57Edv1bcmI4E3tiYjoVHY0vs1CfeG
uDX5a9zzXt+aXNvzHrcmx3vDXbyOfdhMflXfmoyAaluT44yr+tZkBPA5bk2+DzM+tRCYSbhNvrE1GQlc
ZwhMO7ylb2xNRgJNfZjC6MMUpE/pOBXLqFhGxXIqFqlYTsUiFcupWKRiORXLqFhGxXIqFqlYTsUiFcup
WKRiORXLqFhGxXIqFqlYTsUiFcupWKRiORXL/CTFOgfzbutCp0RA6xESaI8RmBQJ9TcIqAwzugUCOvSQ
UHpAQlkbCQyXCGiNwMwR0GGAgLIdEjgUCKi7RkLrcBKt8ogEtgkCGoXrOMUZrXAS50UfAbRzBLSLM/oI
zLSDBHoLBLSMMyYITFyr8RYBFWEp+lftYLI7XthnCGi0QgKHJQJTHRDBZoiA4oxdjoC6WyRU9ZBQGWas
EgTQGSEwUyTU2yCgcoAEujkC2o6Q0DicxHHSRQLDBQJahuvoxBnHQQcRpOE0DwUC6scZGwRmtkcC27BW
7XGYsZ8jMGsktAxr1S7ie447l9PWZNKHKZz2vBvteTcqllGxjIrlVCxSsZyKRSqWU7HMu8XSJ6GNiuV0
xyIVy6lYpGI5FcuoWEbFMh9RLP2MRSqW0R3LqFhOxSIVy6lYpGK5X6VY+nsso2I53bHoZy1WEuTV4kI1
RUCTORKaIzAzBFROENA0zsgRUFoioVmKhN6dMUFg3p+RIYE0R0BVbUa4jsU0nGYWT3MeXlCbsQgnkUzj
aRYIKIvvR4nAFOE0y9pbGmZUcUYST2IeTzPWprx6DMrW7YVmhYC2AyRwN0RgkjtE0N0hoKqNBFoFAjqH
F9wmZySUhhn9NQLaIDBzBHTqIqD0gATOBQJqb5HQpoGEynsksB8joGG4jocZAhNO4nEZTrORI6DDCAnc
dRGYaRMRdFYIaB1nZAhMLyz3MJ5mEZaioz3vRnveSR+mcCqWUbGMiuVULFKxnIpFKpZTsUjFciqWUbGM
iuVULFKxnIpFKpZTsUjFciqWUbGMiuVULFKxnIpFKpZTsUjFciqW+UmK9RSUrZsLjQoB7fpI4HaIwCS3
iKC7Q0BVmNEsENB9GwklZySU3iGB3hoBbRHQbYmAzl0klB6RwH2BgFrxOrbhJG7KBySwHyGgwT0SeIgz
bsJJPC07COAuR0DHMOO2g8BMG4igvUJA6zCjkSEwvfCWDg8IqAhL0bnKoyLCcYPDDscNDjscdzjucNzg
sMNxg8MOxx2O0+wDThOHHY4bHH4FgcFhg8MOxx2OGxx2OO5w3OCww3GH4w7HDQ47HHc4bnDnctqaTNqa
7LTn3fxXiqUPU5CKZXTHMiqWU7FIxXIqFqlY7lcplj6walQsp2KRiuX0rZBULKdiGRXLqFhGxTIqlvs5
iqWfsUjFMrpjGRXLqVikYjkVi1Qs96sUS3+PZX5Isa6D7P75wmOKgHpbJPC0QWCWT4jg0EVA6RkJ3OcI
6O6EhJYNJFSFGfshArjpITATJNQ4IqBFGwnc5Qjo3ENC/UcklN4igc4KAW3CddzGGc8tJDQOp/lUIKDW
GgkdEZj5AxI4jRDQMMx4LBGYPRLahLW6zsNSnOq/eK19d6H+i9eGSKAxQmCSBiLoxV9YFme04y9eO3WQ
UHJCQmmYEX/x2sMGgan94rUeAqr/4jUE1Kn94rUmEirD71XbjRHQMFzH/QyB2T8ggkUXATRrv3gtznjj
F68hgc4SAa3ijNovXusjodEeARVhRld73o32vJM+TOFULKNiGRXLqVikYjkVi1Qsp2KRiuVULKNiGRXL
qVikYjkVi1Qsp2KRiuVULKNiGRXLqVikYjkVi1Qsp2KRiuVULKNiGRXL/TLFWgWzZHRhPENAVYaEMgRm
goDSCgHFGUmBgJbhBaPJEgnVZpQIqERg4nUsUwQ0XSCBZYGAkngd1RgJ1dYqnmYWryPOGIWTWM3DaY7j
Wi3ijASBycNpJnMEVMYZUwQmrlUWT7M24wq/2s9kYXfnQ4qA4g7Sxw0CU9tB2kNAcQfpOUdAjfoOUiRU
hR2LuyEC6iOgpwkCah6QUBV+P2Uj7u48xesYhK2Zz1n4hYnd+g5SJFDfQRp/SeY4nOZj/OWS7bCD9OmA
wNR3kCKguIP0oURg9uEtjb9c8ibuID3izuX0YQrShymcPkxh/ivF0ocpSMUyumMZFcupWKRiORWLVCz3
qxRLH1g1KpbTHYtULKdikYrlVCyjYhkVy3xEsfQzFqlYRsUyKpbTt0JSsZyKRSqWU7GMimVULKO/IDU/
pFjLYJaOLyQzBFRmSCCZIDDTBBFkJQKKM9ICAVXhBeNJhYTyOGOOABZzBFS7jipcx3gaZixyBJTG6yjD
SYyLBRIoJwgoXkdtxjheaO39yBFQFWYkGQIT1yoNa7WcvzdjmYUv8e77kV59Dcq7TxduFgjo0EMCn/sI
zOgzImgfENAizLgrENBTAwmNHpFQEmZ0tgjgyx6BKZHQYxsBJWck8DRDQI14HftrJFQ9I4HTEAH1n5DA
S5zxKZzE11ULAVznCOgcZ7QQmMkNEmisEdA2zkgRmA4SGsTTLMJSNLXn3WjPO+nDFE7FMiqWUbGcikUq
llOxSMVyKhapWE7FMu8WK/7Nl4r1iopFumM5FYtULKdiGRXLqFhGxTIqllOxSMVyKhapWE7FMiqWUbGM
imV+SLGOwbzXudAtEdBqjIQSBCZFQMMVAir7SKBXIKB9eEEn3SGhDAGNlghohcDMEdBugICyDRLYFwio
H69j1UVC8z0SWCcIaByu4xBndMJJHKtwmt0cAW3jjAECMw2n2V8goGWcMUFghkgoiadZhBmDq34wXW8v
bKYIKFkgoQqBKRHQMkFAkzBjnSOgYXjBthwioTkCWqYIYJAgMPE6hksENB8hgWGOgFbxOtINEpoMkMA4
LkUVrmMQZ2zDSfSzcJqbAgGNKiS0RGBm4TRXGQJKV0hgM0Ng4lpVYwRUxBm4cznteSfteXfa825ULKNi
mX9KsfRhClKxjO5YRsVyKhapWE7FIhXL/SrF0gdWjYrldMciFcupWKRiORXLqFhGxTIfUSz9jEUqltEd
y6hYTsUiFcupWPQ7FevxjwsvtWLtkcCXLQKz+ooIzvENScKMWrFuHpBQrViLL0jgGBbrUxcBfY3Fuj0h
oWVYrJscAT2ELY5XvRcklIYtda0NAorF+hxn/FEvFgL4Ui8WEjojMPNnJPAwRED9eyTwUivWMbylcWvg
VR6W4v6qG0y3+wu7CQIaLZHQAoEpEdB6hIAmGySwzRFQL7xgX/aR0BwBrRIENEZgpgiov0JA5RAJ9HME
tBkjofEOCU17SGBYIaBFuI5enLEPJ9HN1ghgVyCg2ow1AjMLp7lJEVASZ8wRmLhWi3iaeZix1tZko63J
pD3vTsUyKpZRsZyKRSqWU7FIxXIqFqlYTsUyKpZRsZyKRSqWU7FIxXIqFqlYTsUyKpZRsZyKRSqWU7FI
xXIqFqlYTsUyKpZRsdwvUyxszDJlrVgIqF4sBGYU3vTWEQHFYt3OEFC9WE9IKKkVCwF8rRcLCb1RLCTw
HLfU3R2QUK1YVdjudopvej/suatt27u6D1vqVrViIaD7WrEQmHqxENA27C78nCIwtWKF7Yd/1IuVBfm8
vJQjoOkMAc0QmPiC+RQB1WYUCGgSXzCbIKF3Z0wRmHgdtRlFmDHJEdDfmFFbq3gdcUYZXzB9d61qS4HA
FAiofh3vzcjefT9qa4WCOe15J+15d/owhVGxjIplVCyjYrnfp1hhNVUso2I53bFIxXIqFqlYTsVyKhb9
U4ul3+hnVCynOxapWE7FIhXLqVhGxTIqlvmIYulnLFKxjO5YRsVyKhapWE7Fol+4WDd/uv32xzd//kd2
frrwkCL47vb2pr9FAo/rv5Lvf37/9/IRERx6TPDv9IQEzvlfgb2iEV7wtGz+FXz/80+3VZixGyL46183
t30EZsIE/27tEdCigwSvaOYI6NT/K7BXDB6QUNb4K+ALuisEtGnaCX7/8y7OeGr7Knz/c3xAAI8Fvzhe
0V4joYONx3/Mw2meRv6K7/8eHpHAQ8mE/45rtfm2Vq9fkYcZx6tzMO+2LrRLBLQeIoH2GIFJkdBgg4DK
MKNbIKBjDwmlBySUtZHAYIkATisEZo6E9n0ElO2QwKFAQL01ElqFk2iVRySwGSOgUbiOY5zR2p4QQRVO
sz1FQLsECfURmGkHCfQWCGgZZ0wQmAESGm8RUBGWoq8970Z73kkfpnAqllGxjIrlVCxSsZyKRSqWU7FI
xXIqllGxjIrlVCxSsZyKRSqWU7FIxXIqllGxjIrlVCxSsZyKRSqWU7FIxXIqllGxjIrlfpliLYNZmlya
IaBygoAmCEx8QVYioDgjLRDQIp7EtEJCUwSUzRFQicDUZmQIKM5YFAgojddRmzFbIIH6WoUX1GYk8UJn
8TRzBFTVlhuByRFQGtdq/t6MZXzBJJ5mnJFdNYLJ4f7CKUNAgzUSOK8QmMUZEewGCCgLM445AmqHF9wv
2kioCjM2IwTQHCIwEyTU2SGgqocE2jkCOsTrGJ6QUNZCAv0lAlqH62jFGffdJiJIwmmeCwTUjTN2CMws
nOZ+jIBGeyRwKhGYLRJahbVq5OH9qH3D0J53oz3vTh+mMCqWUbHMP6VYYTVVLKNiORWLVCynb4WkYjkV
y6lYpGI5FYt+42LpN/oZFcvpjkUqllOxSMVyKpZRsYyKZT6iWPoZi1QsozuWUbGcikU/a7Gug+z++cJj
ioB6WyTwtEFglk+I4NBFQOkZCdznCOguvOB52UBCizBjP0QAN30EZoKEmgcEtGgjgUaOgM49JNR/RELp
HRLorBDQJlzHbZzx3L5BBOMjAngqEFB7jYSOCMz8AQmcRghoGGY8lgjMHgltwlpd52EpTld5VMwuFDjs
wgvqryj+0y/xN2bkCOhvvOADZry/FAjo3RfMcNyFVxTvfYn6C2qvwGHzb7xh778CCRTammy0NZm0592p
WEbFMiqWU7FIxXIqFqlYTsUiFcupWEbFMiqWU7FIxXIqFqlYTsUiFcupWEbFMiqWU7FIxXIqFqlYTsUi
FcupWEbFMiqW+2WK9RjMW7cXmhUC2g6QQGOIwCR3iKC7RUBVGwm0CgR07iCh5ISE0gYS6K8QwMMGAd3N
kdCph4TSAxI4FwioHa9jE07itrxHArsRAhqG67iPM24PD4hg0UUAjRwBHcKMuy4CM2kigs4SAa3CjGaG
wPTCWzrcI6AiLEXnqhNMtocL+wkCGq2Q0AKBqRDQeoSA4oxdjoB64QWHqoeESgS0ShBAd4zATJFQf42A
ygES6OUIaBuvY7xHQpNwmsMFAlr2kUA3zjiEk+ikGwSwLxDQIM7YIDCzcJqbFAElccYcgYlrtRwioCLO
wJ3Lac87ac+704cpjIplVCyjYhkVy/0+xQqrqWIZFcvpjkUqllOxSMVyKpZTsUjFcioW/cbF0m/0MyqW
0x2LVCynYpGK5VQso2IZFct8RLH0MxapWEZ3LKNiORWLftZidYPpZn9hN0FA4yUS2C2+H+59//O7Egmt
xwhoEmZscwTUDy/YVwMkFGesUgTQGyMwUyQ0WCGgcogE+jkC2sTrSHZIaNJHAqMKAS3CdfTijP3w1UJ+
k60RwK54vdR/GsYZawRmtkUCm7BW3STOmCMwca0WYa26RViK9dWXl5eX7//gP8q7zxduKnvFX6/a95DA
dd/Tv/4ZXyOC9uFb8OoVVQMJ3BV/BfaKxyYSGj/4//n3P5Iwo7tBin9edghM+Sr99s9DGwElpz+DV694
LBBQY4+Qr9iFk/hcPXn47Y/jEAENHpn+9c9znPH5/Cr99s8qnOZ1/j3wV5zijJaHf/3H5BYJNNf+iu+v
2rSQwE32Kv3+TwcJDf5cq4tXFDdIoKU970Z73kkfpnAqllGxjIrlVCxSsZyKRSqWU7FIxXIqllGxjIrl
VCxSsZyKRSqWU7FIxXIqllGxjIrlVCxSsZyKRSqWU7FIxXIqllGxjIrlfplipUFeLS5UUwQ0mSOBaobA
zMKXKCcIaFoigTJHYMILFrMMARVhxrw2AwFVcUb2/gwEVLuOSTiJRW3GDAHV1irOWMSTiGtVFQgozqhK
BCauVVl7S9+bkZZxueNpxtqUV9iYZbL7lwtPKQLq7pDA8waBWT4jgmMXAaVhxkOOgG7PSGgVth9+XoQZ
+wECuO4hMBkSahwR0CJsd7vLEdB92OL4uf9tX99radhS11kjoG3cRhlnvLTC5sHxty11r9S2BrbijBMC
M39EAufa9sMw46lCYA5IaBN3SeZhKU64cznteSfteXf6MIVRsYyKZVQso2K536dYYTVVLKNiOd2xSMVy
KhapWE7FcioW/VOLpV+8ZlQspzsWqVhOxSIVy6lYRsUyKpZRsYyK5X6OYoXVVLGMiuV0x6IPKVYrmOzP
F44ZAhqukcBpicBUJ0SwHSKgLMzY5wios0NCVRcJlWHGeoyAhgjoNEFA3Q0SKvtIoJMjoF28jtERCWUd
JDBYIKBVuI52nHEOJ9FKtwjgWCCgXphx2iIwswMi2CUIaBxnzBGYTVjuZTzNIizF7moTzMaDC8MZAqpS
JDBMEZjJEBEkCwQUZ4xyBLQKLxhMVkioNqNEQBUCE6+jPmOJBFYFAhrF66jCSQxmaySwyBBQFq5jHWcM
wklsygQBDONaLeOMMQIzDac5jmtVxvd8isAk4Uuk8TSLOENbk422JpP2vDsVy6hYRsVyKhapWE7FIhXL
qVikYjkVy6hYRsVyKhapWE7FIhXLqVikYjkVy6hYRsVyKhapWE7FIhXLqVikYjkVy6hYRsVyv0yxdsFs
0LvQnyGgZYIE+ikCk/URwWiJgOZDJDAoENAmvKCXbZDQJMwYVwhogYBq17EZIaHJGglsCgQ0jNexCGvV
m22RwCpDQEm4jm2c0VshoTKcZj9HQOsUCY0QmDyc5jCuVRVnTBGYMRJK42nm4f0YXt0E2fn5wkOKgHpb
JPC0QWCWT4jg0ENAaZhxnyOgxgkJLRtIqAozdkME1EdgJgioeUBAizYSaOQI6NRHQoNHJJTeIYHuCgFt
mkjgNs54DidxMw6n+VggoPYaCR0QmPkDEjiNENDwiAQeSwRmH5Z700FAeViKI+5c7rfZ865PQpv4jU0f
pnD6MAWpWE7FcioWqVhOxSIVy+lnLFKxnO5YpGI5FcupWKRiORWLfuNi6e+xjIrldMciFcupWKRiORXL
qFhGxTIfUSz9jEUqltEdy/yQYn0KsocvF55TBNTdIYGXDQKzfEEEpw4CSsOMhxwB3d4jodUtElqEGYcB
AvjcQ2AyJHR3RECLFhK4zRHQfRcJ9Z6RUHqDBNprBLQN13EdZ3xpfUYEoxMCeC4QUDPOOCEw8yckcD9E
QIMzEngqEZgDEtqGtfqUh6U4X+VBMQtw3MVXFDhuivCK2gtyBFTUXoHAvP8lcNghoPoL3r8OBPQjvkR8
wd9ZbgT0/7+Od1/wxisQUKGtyUZbk0l73p2KZVQso2I5FYtULKdikYrlVCxSsZyKZVQso2I5FYtULKdi
kYrlVCxSsZyKZVQso2I5FYtULKdikYrlVCxSsZyKZVQso2I5FYtULKdiUeOqEUyO9xdOGQIarJHAeYXA
VGdEsBsgoOyABI45AmrtkdCijYTijM0IAQ0RmAkCam8RUNVFAu0cAR3idQzDSdxnLSTQXyKgVbiOVpxx
30NCyQ4BnAsE1I0zdgjM7IQE9mMENA7LfZojMHGtVvE08zgDBXPZ4x8XXmp73vdI4OsWgVl9RQTnuFc8
CTPqe94fkNAbe96RQH3POwL6Gve8356Q0DL87/YmR0AP8Tp6L0goDfeG1gYBxT3vn+OMP+p73hHAl/qe
dyR0RmDm4TQfhgiof48EXmp73o9I6I0970jgN/4whT4JbeI3Nn1Kx+lTOqRiORXLqVikYjkVi1Qsp5+x
SMVyumORiuVULKdikYrlVCz6jYulv8cyKpbTHYtULKdikYrlVCyjYhkVy3xEsfQzFqlYRncs80OKNQqm
y/WF1RQBpRUSWJUIzHyFCBYpAoozljkCGi+Q0HyMhGZhRpUhoAwB1a5jHK5jPUuQwDhHQLXryMJJrKfh
NNMSAZXxOuKMdTiJ0SQsxapAQEmcsUBginCaywkCyuKMGQJThS9RxtPM43t+dQ7mneaFdomANkMk0Boh
MEkLEfQ3CKjsIoFOgYCO4QXN9ICE0jBjsERAawRmjoAOfQSU7ZDAsUBA3Xgd6zYSKk9IYJsgoFG4jlOc
0QwncV6E02zlCGg3RkI9BGYaTrMX12rZQwLtDIGJazWOp5nHGdqabLQ1mbTn3alYRsUyKpZTsUjFcioW
qVhOxSIVy6lYRsUyKpZTsUjFcioWqVhOxSIVy6lYRsUyKpZTsUjFcioWqVhOxSIVy6lY5icp1tegvMMz
M+FmgYD2PSRw3UdgRuEhoe0DAlo0kMBdgYCemkho/IiEkmsk0N0ggC87BKZEQo9tBJSckcBTfJZpY4+E
duEkPlXPSOAYn2XaD9fxPENgzl8QwSo8y/Q6R0DnOKOFwEzCc1+bawS0CTNuUgSmE97SwQkBFXHGVRHh
iZkOxw0OOxw3OOxw3OG4w3GDwwaHHY47HHc4bnDYTREYHHc4bnDY4bjBYYfjDscdjhscdjhucNjhuMNx
g8OvICAcfQWBwWGH4w7HDe5cTluTSVuT3Q/Y8/7Gb/RDAm/9Rj9E8HMW6wM+sNr7KT9M8cZv9EMEf6NY
x48vlu5YRncso2IZFcuoWE7FIhXLqVhGxTIqlqkXK6ymimVULKc7FqlYTsUiFcupWE7Fon9qsfQb/YyK
5XTHIhXLqVikYjkVy6hYRsUyH1Es/YxF9WLhQYZmcny48MaDMJFA/UGYi3tEsOsjoOyABOoPwgwveHjj
QZhIYFt7ECYCqj8Ic4eE6g/CRED1B2GekFB8EGZviYDW4TqaccZDOIlGEk7zjQdhIoG3HoSJCA7xQZij
PRJ460GYiKD+IMzwfuyvNsFsNLgwnCOgRYoEhikCMxkigmSBgOZhxqhAQOsxEpqskVBtRoWAKgRmhoDW
CQKaLJHAukBAo3gdVTiJwSyc5iJDQGl4QW3GIJzEpgxLMcwR0DLOGCMweTjNcYmAqjhjisDEtcriaRZx
hva8G+15J32YwqlYRsUyKpZTsUjFcioWqVhOxSIVy6lYRsUyKpZTsUjFcioWqVhOxSIVy6lYRsUyKpZT
sUjFcioWqVhOxSIVy6lY5icp1h9BvVgIqF4sBGYU3vTWEQEtQm9uCwRUL9YTEkpqxUJA9WIhoDeKhQSe
45a6uwMSqhWrekECp3qxkMBbxbpULxYCuq8VC4GJxWpsEFC9WAhMrVhnBFQv1vn+Uv1BmAgoPgizOfp+
+NXXiQ+p7G8QUP1BmAio9iDM5ICEstqDMBHAGw/CREJvPAgTCbzxIEwktA4n0SxPSGAbH1I5Ctfx1oMw
EcEiPKSylb9e6j/VH4SJwMQHYXbDWt2v4owJAlN/ECYCKsJS9FAwp63JpD3vTnvejYplVCzz3yiWPrBq
VCynOxapWE7FIhXLqVhGxTIqlvmIYulnLFKxjO5YRsVyKhapWE7FIhXLqVhGxTIqltFfkBoVy+mORSqW
U7FIxXIqllGxjIplPqJY+hmL6sWaB8UkKBDQbIqAcgQmR0DTGQIqwpeYxhnz//+MGQLz/oz4JeKMyX88
4/21qi33e2tV+xKz2lIgMLUXxNN8d8b7axWvY3r1EpSN6wu3FQLa9ZHAzQCBGd8ggs4eAVVNJNAoENBD
eMH1+AEJJWFGd4MAnncITImEHjoIKDkhgYcCATXjdWxvkVD1iAQOQwQ0CNfxNENgwkm8rNoI4CZHQKc4
o43ATMJpttYIaBNm3GYITBcJDY4IqIgz9GEKow9TkD6l41Qso2IZFcupWKRiORWLVCynYpGK5VQso2IZ
FcupWKRiORWLVCynYpGK5VQso2IZFcupWKRiORWLVCynYpGK5VQs85MUC0/ENGX77kKzRECbIZLvGneN
EQKTNBBCb4uAyg4SaBcI6BRecJfEZ5mmf82wSf0VAtogMHMEdOohoDQ+Z7RAQJ0NEto0kVAZnjO6GyOg
+EzW+zjjLpzEwzKcZu2ZrIcwo9FFYKYtRNCJz31ddZFAM0Ng+q/e0m//GZ/J+lCEpehe4YmYZrrCMzNh
PUFA8Vmm69qzTOfxOaPx+ZxxxipHQKP4AM/4TNb6jPCc0fpzX6dIqPa81Hl4zuio9izT8GzZ2vNSN9P4
3Nfas0zj82vjjM04fInac1/jWtWel7pEYIpwmrVnssbnpa5nCEzt2bLxLc3jDNy5nLYmk/a8O+15NyqW
UbHMf6NY+sCqUbGc7likYjkVi1Qsp2IZFcuoWOYjiqWfsUjFMrpjGRXLqVikYjkVi1Qs96sUS3+PZVQs
pzsWqVhOxSIVy6lYRsUyKpZRscwPKVY/mK63FzYTBJQskFCFwJQIaDlGQJMwY50joOEKCZVDJDRHQMsU
ASUIzBQBDZcIaD5CAsMCAa0SJJRskNBkgATGcSmqcB2DHIGJa5WF09zEtRpVSGiFwBThNFcZAkrDcm9m
CEztPQ9r1c/jjCs8etX83Uf3vpIgoA94dG96RELx8cCDFQKKj+5txEf3HmuP7t0jgR/y6N5wHefao3vD
Sbz16N5L+//Fo3tH8dG9ee3Rvbh1Ge15J+15d/GHmfjNUx+mcCqWUbGcikUqllOxSMVyKpZRsYyKZVQs
o2I5FYtULKdikYrlVCyjYhkVy6hYRsVyKhapWE7FIhXLqVhGxTIqllGxzA8p1pegbHy+cFshoH0PCVwP
EJjxNSJo7xFQFWY0CgT02ERC4wcklIQZ3Q0CeNkhMCUSemgjoOSEBB4LBNSM17G7QULVExI4DhFQ/xEJ
PMUZn08viGAVTvMmR0CnOKOFwExukUBzjYA2LSRwmyEwnbDcg7BWX4qwFK2rKiiy9EJWIKD5FAlNEZg8
fInJHAG9O6MML0inJRLKEdBkhoDmCExtxgQB5WFGGWdk8Trm8TTfX6v3ZqRxxizOyBFQbcYEgYnvRxbX
ahaWIoszqrhWtfcjvqUT3LmctiaTtiY77Xk3KpZRsYyKZVQs988olj4JbVQspzsWqVhOxSIVy6lYRsUy
Kpb5iGLpZyxSsYzuWEbFcioWqVhOxSIVy/0qxdLfYxkVy+mORSqWU7FIxXIqllGxjIplPqJY+hmL6sU6
ni7Ne+0LnTkCWo+Q0Pj74VdfJ0VAgzUCKsOMXoGA9n0klO6RUNZBAsMlAjiuEJh4HfsBAsq2SGBfIKBe
vI5VOIl2eUACmwQBjcN1HOKM9ja8IVVYik7+eqn/tI0z+gjMtIsE+gsEtIgzJgjMEAmNw1qdirAU/as/
grjn/XqBgOp73hGYUdiP3joioEXY0n5bIKD6nvcnJJTU9rwjgK/1Pe9I6I0970jgOd4b7g5IqLbnvXpB
AqchAuqF63hrz/ulVbg3fM4R0H28/zQRmLjnvbFBQHHP+3WKwMTvOf0zAtKHKYw+TGH0KR2nYpGK5VQs
UrGcimVULKNiGRXLqFhOxSIVy6lYpGI5FcuoWEbFMiqWUbGcikUqllOx6H9SrPj/tlaxXlGxSHcsp2KR
iuVULKNimXqxdsE8PgN0joCW8TmjKQITH+A5XiKgOGNYIKBNfIBntkZC8VmmSYUAtgsEZoaENrXnvq6Q
wKZAQMN4HYtwEv35BgnUnvuahhds44x+OIldGU5zkCOgVW25EZg8nOYorNUuPi91MEVg4lql8TSLOOMK
T8Q0kwOemQmnDAEN10jgvEJgFmdEsB0goCzMOOQIqF17zmh47muzCjM28TmjQwR0niCgzhYJVeE5o+3a
s0zjs2WH4YGq91l4lmm/9izTcB2156Xeh5NoJuFZpqf4TNZemHHeITCz8FjXfXwEbnxe6qlEYLZhueMz
WZtFWIratmJtTTba8+60592oWEbFMiqWUbHcP6NY+iS0UbGc7likYjkVi1Qsp2IZFcuoWOYjiqWfsUjF
MrpjGRXLqVikYjkVi1Qs96sUS3+PZVQspzsWqVhOxSIVy6lYRsUy9WLlQRHhuMHhVxAYHH4FgcFhg8MO
xw0Ov4LA4bjBYYPDDscNDr+CwOE44ajDcYPDDsdfQWBw+BUEBocNDjscNzjscPwVBAaHDQ6/goBw1OTv
PhP65gOeCX1AQPGZ0HfvPxM6PEv5hzwT+owEas+Ebnz8M6GfZwhMfNjyu8+EPn/8M6Fv6s+ERkL/xjOh
cesy2vNO2vPu4g8z8ZunPkzhVCyjYjkVi1Qsp2KRiuVULKNiGRXLqFhGxXIqFqlYTsUiFcupWEbFMiqW
UbGMiuVULFKxnIpFKpZTsYyKZVQso2KZH1Is/D4jM+80LrRKBLQZIoHmCIFJmoigv0FAZZjRKRDQqYuE
kvArnu7TMGOwQkBrBGaOgI59BJSFX8p1KhBQJ17HuoWEyvhbosYIaBiu4xxnNGq/GayHAJq139oVZ/QQ
mGk4zW7tt3aFGa0JAhPXKv5Grfv8ckaj93+veSuXxEAIUwAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@ -0,0 +1,948 @@
namespace LayoutBXLYT
{
partial class BasePaneEditor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.stFlowLayoutPanel1 = new Toolbox.Library.Forms.STFlowLayoutPanel();
this.stDropDownPanel1 = new Toolbox.Library.Forms.STDropDownPanel();
this.userNameTB = new Toolbox.Library.Forms.STTextBox();
this.stLabel2 = new Toolbox.Library.Forms.STLabel();
this.nameTB = new Toolbox.Library.Forms.STTextBox();
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
this.stDropDownPanel2 = new Toolbox.Library.Forms.STDropDownPanel();
this.rotZUD = new BarSlider.BarSlider();
this.tranZUD = new BarSlider.BarSlider();
this.sizeYUD = new BarSlider.BarSlider();
this.scaleYUD = new BarSlider.BarSlider();
this.rotYUD = new BarSlider.BarSlider();
this.tranYUD = new BarSlider.BarSlider();
this.sizeXUD = new BarSlider.BarSlider();
this.scaleXUD = new BarSlider.BarSlider();
this.rotXUD = new BarSlider.BarSlider();
this.tranXUD = new BarSlider.BarSlider();
this.stLabel5 = new Toolbox.Library.Forms.STLabel();
this.stLabel4 = new Toolbox.Library.Forms.STLabel();
this.stLabel3 = new Toolbox.Library.Forms.STLabel();
this.stLabel6 = new Toolbox.Library.Forms.STLabel();
this.stDropDownPanel3 = new Toolbox.Library.Forms.STDropDownPanel();
this.stCheckBox2 = new Toolbox.Library.Forms.STCheckBox();
this.stCheckBox1 = new Toolbox.Library.Forms.STCheckBox();
this.alphaUD = new BarSlider.BarSlider();
this.alphaSelectorHorizontalPanel1 = new Toolbox.Library.Forms.AlphaSelectorHorizontalPanel();
this.stLabel7 = new Toolbox.Library.Forms.STLabel();
this.stDropDownPanel4 = new Toolbox.Library.Forms.STDropDownPanel();
this.radioButton7 = new System.Windows.Forms.RadioButton();
this.radioButton8 = new System.Windows.Forms.RadioButton();
this.radioButton9 = new System.Windows.Forms.RadioButton();
this.radioButton4 = new System.Windows.Forms.RadioButton();
this.radioButton5 = new System.Windows.Forms.RadioButton();
this.radioButton6 = new System.Windows.Forms.RadioButton();
this.radioButton3 = new System.Windows.Forms.RadioButton();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.radioButton1 = new System.Windows.Forms.RadioButton();
this.stFlowLayoutPanel1.SuspendLayout();
this.stDropDownPanel1.SuspendLayout();
this.stDropDownPanel2.SuspendLayout();
this.stDropDownPanel3.SuspendLayout();
this.stDropDownPanel4.SuspendLayout();
this.SuspendLayout();
//
// stFlowLayoutPanel1
//
this.stFlowLayoutPanel1.AutoScroll = true;
this.stFlowLayoutPanel1.Controls.Add(this.stDropDownPanel1);
this.stFlowLayoutPanel1.Controls.Add(this.stDropDownPanel2);
this.stFlowLayoutPanel1.Controls.Add(this.stDropDownPanel3);
this.stFlowLayoutPanel1.Controls.Add(this.stDropDownPanel4);
this.stFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.stFlowLayoutPanel1.FixedHeight = false;
this.stFlowLayoutPanel1.FixedWidth = true;
this.stFlowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.stFlowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.stFlowLayoutPanel1.Name = "stFlowLayoutPanel1";
this.stFlowLayoutPanel1.Size = new System.Drawing.Size(477, 554);
this.stFlowLayoutPanel1.TabIndex = 0;
//
// stDropDownPanel1
//
this.stDropDownPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.stDropDownPanel1.Controls.Add(this.userNameTB);
this.stDropDownPanel1.Controls.Add(this.stLabel2);
this.stDropDownPanel1.Controls.Add(this.nameTB);
this.stDropDownPanel1.Controls.Add(this.stLabel1);
this.stDropDownPanel1.ExpandedHeight = 0;
this.stDropDownPanel1.IsExpanded = true;
this.stDropDownPanel1.Location = new System.Drawing.Point(0, 0);
this.stDropDownPanel1.Margin = new System.Windows.Forms.Padding(0);
this.stDropDownPanel1.Name = "stDropDownPanel1";
this.stDropDownPanel1.PanelName = "Pane Info";
this.stDropDownPanel1.PanelValueName = "";
this.stDropDownPanel1.SetIcon = null;
this.stDropDownPanel1.SetIconAlphaColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel1.SetIconColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel1.Size = new System.Drawing.Size(477, 105);
this.stDropDownPanel1.TabIndex = 0;
//
// userNameTB
//
this.userNameTB.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.userNameTB.Location = new System.Drawing.Point(83, 63);
this.userNameTB.Name = "userNameTB";
this.userNameTB.Size = new System.Drawing.Size(230, 20);
this.userNameTB.TabIndex = 4;
//
// stLabel2
//
this.stLabel2.AutoSize = true;
this.stLabel2.Location = new System.Drawing.Point(21, 65);
this.stLabel2.Name = "stLabel2";
this.stLabel2.Size = new System.Drawing.Size(53, 13);
this.stLabel2.TabIndex = 3;
this.stLabel2.Text = "User Info:";
//
// nameTB
//
this.nameTB.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.nameTB.Location = new System.Drawing.Point(83, 37);
this.nameTB.Name = "nameTB";
this.nameTB.Size = new System.Drawing.Size(230, 20);
this.nameTB.TabIndex = 2;
//
// stLabel1
//
this.stLabel1.AutoSize = true;
this.stLabel1.Location = new System.Drawing.Point(21, 39);
this.stLabel1.Name = "stLabel1";
this.stLabel1.Size = new System.Drawing.Size(38, 13);
this.stLabel1.TabIndex = 1;
this.stLabel1.Text = "Name:";
//
// stDropDownPanel2
//
this.stDropDownPanel2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.stDropDownPanel2.Controls.Add(this.rotZUD);
this.stDropDownPanel2.Controls.Add(this.tranZUD);
this.stDropDownPanel2.Controls.Add(this.sizeYUD);
this.stDropDownPanel2.Controls.Add(this.scaleYUD);
this.stDropDownPanel2.Controls.Add(this.rotYUD);
this.stDropDownPanel2.Controls.Add(this.tranYUD);
this.stDropDownPanel2.Controls.Add(this.sizeXUD);
this.stDropDownPanel2.Controls.Add(this.scaleXUD);
this.stDropDownPanel2.Controls.Add(this.rotXUD);
this.stDropDownPanel2.Controls.Add(this.tranXUD);
this.stDropDownPanel2.Controls.Add(this.stLabel5);
this.stDropDownPanel2.Controls.Add(this.stLabel4);
this.stDropDownPanel2.Controls.Add(this.stLabel3);
this.stDropDownPanel2.Controls.Add(this.stLabel6);
this.stDropDownPanel2.ExpandedHeight = 0;
this.stDropDownPanel2.IsExpanded = true;
this.stDropDownPanel2.Location = new System.Drawing.Point(0, 105);
this.stDropDownPanel2.Margin = new System.Windows.Forms.Padding(0);
this.stDropDownPanel2.Name = "stDropDownPanel2";
this.stDropDownPanel2.PanelName = "PaneTransform";
this.stDropDownPanel2.PanelValueName = "";
this.stDropDownPanel2.SetIcon = null;
this.stDropDownPanel2.SetIconAlphaColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel2.SetIconColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel2.Size = new System.Drawing.Size(477, 166);
this.stDropDownPanel2.TabIndex = 5;
//
// rotZUD
//
this.rotZUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotZUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.rotZUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.rotZUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.rotZUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.rotZUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotZUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.rotZUD.DataType = null;
this.rotZUD.DrawSemitransparentThumb = false;
this.rotZUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.rotZUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.rotZUD.ForeColor = System.Drawing.Color.White;
this.rotZUD.IncrementAmount = 0.01F;
this.rotZUD.InputName = "Z";
this.rotZUD.LargeChange = 5F;
this.rotZUD.Location = new System.Drawing.Point(347, 60);
this.rotZUD.Maximum = 300000F;
this.rotZUD.Minimum = -300000F;
this.rotZUD.Name = "rotZUD";
this.rotZUD.Precision = 0.01F;
this.rotZUD.ScaleDivisions = 1;
this.rotZUD.ScaleSubDivisions = 2;
this.rotZUD.ShowDivisionsText = false;
this.rotZUD.ShowSmallScale = false;
this.rotZUD.Size = new System.Drawing.Size(107, 25);
this.rotZUD.SmallChange = 0.01F;
this.rotZUD.TabIndex = 51;
this.rotZUD.Text = "rotXUD";
this.rotZUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotZUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.rotZUD.ThumbSize = new System.Drawing.Size(1, 1);
this.rotZUD.TickAdd = 0F;
this.rotZUD.TickColor = System.Drawing.Color.White;
this.rotZUD.TickDivide = 0F;
this.rotZUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.rotZUD.UseInterlapsedBar = false;
this.rotZUD.Value = 30F;
//
// tranZUD
//
this.tranZUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranZUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.tranZUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tranZUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.tranZUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.tranZUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranZUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.tranZUD.DataType = null;
this.tranZUD.DrawSemitransparentThumb = false;
this.tranZUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.tranZUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.tranZUD.ForeColor = System.Drawing.Color.White;
this.tranZUD.IncrementAmount = 0.01F;
this.tranZUD.InputName = "Z";
this.tranZUD.LargeChange = 5F;
this.tranZUD.Location = new System.Drawing.Point(347, 29);
this.tranZUD.Maximum = 300000F;
this.tranZUD.Minimum = -300000F;
this.tranZUD.Name = "tranZUD";
this.tranZUD.Precision = 0.01F;
this.tranZUD.ScaleDivisions = 1;
this.tranZUD.ScaleSubDivisions = 2;
this.tranZUD.ShowDivisionsText = false;
this.tranZUD.ShowSmallScale = false;
this.tranZUD.Size = new System.Drawing.Size(107, 25);
this.tranZUD.SmallChange = 0.01F;
this.tranZUD.TabIndex = 50;
this.tranZUD.Text = "barSlider2";
this.tranZUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranZUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.tranZUD.ThumbSize = new System.Drawing.Size(1, 1);
this.tranZUD.TickAdd = 0F;
this.tranZUD.TickColor = System.Drawing.Color.White;
this.tranZUD.TickDivide = 0F;
this.tranZUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.tranZUD.UseInterlapsedBar = false;
this.tranZUD.Value = 30F;
//
// sizeYUD
//
this.sizeYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.sizeYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.sizeYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.sizeYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.sizeYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.sizeYUD.DataType = null;
this.sizeYUD.DrawSemitransparentThumb = false;
this.sizeYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.sizeYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.sizeYUD.ForeColor = System.Drawing.Color.White;
this.sizeYUD.IncrementAmount = 0.01F;
this.sizeYUD.InputName = "Y";
this.sizeYUD.LargeChange = 5F;
this.sizeYUD.Location = new System.Drawing.Point(234, 122);
this.sizeYUD.Maximum = 300000F;
this.sizeYUD.Minimum = -300000F;
this.sizeYUD.Name = "sizeYUD";
this.sizeYUD.Precision = 0.01F;
this.sizeYUD.ScaleDivisions = 1;
this.sizeYUD.ScaleSubDivisions = 2;
this.sizeYUD.ShowDivisionsText = false;
this.sizeYUD.ShowSmallScale = false;
this.sizeYUD.Size = new System.Drawing.Size(107, 25);
this.sizeYUD.SmallChange = 0.01F;
this.sizeYUD.TabIndex = 49;
this.sizeYUD.Text = "sizeXUD";
this.sizeYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.sizeYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.sizeYUD.TickAdd = 0F;
this.sizeYUD.TickColor = System.Drawing.Color.White;
this.sizeYUD.TickDivide = 0F;
this.sizeYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.sizeYUD.UseInterlapsedBar = false;
this.sizeYUD.Value = 30F;
//
// scaleYUD
//
this.scaleYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.scaleYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.scaleYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.scaleYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.scaleYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.scaleYUD.DataType = null;
this.scaleYUD.DrawSemitransparentThumb = false;
this.scaleYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.scaleYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.scaleYUD.ForeColor = System.Drawing.Color.White;
this.scaleYUD.IncrementAmount = 0.01F;
this.scaleYUD.InputName = "Y";
this.scaleYUD.LargeChange = 5F;
this.scaleYUD.Location = new System.Drawing.Point(234, 91);
this.scaleYUD.Maximum = 300000F;
this.scaleYUD.Minimum = -300000F;
this.scaleYUD.Name = "scaleYUD";
this.scaleYUD.Precision = 0.01F;
this.scaleYUD.ScaleDivisions = 1;
this.scaleYUD.ScaleSubDivisions = 2;
this.scaleYUD.ShowDivisionsText = false;
this.scaleYUD.ShowSmallScale = false;
this.scaleYUD.Size = new System.Drawing.Size(107, 25);
this.scaleYUD.SmallChange = 0.01F;
this.scaleYUD.TabIndex = 48;
this.scaleYUD.Text = "barSlider2";
this.scaleYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.scaleYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.scaleYUD.TickAdd = 0F;
this.scaleYUD.TickColor = System.Drawing.Color.White;
this.scaleYUD.TickDivide = 0F;
this.scaleYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.scaleYUD.UseInterlapsedBar = false;
this.scaleYUD.Value = 30F;
//
// rotYUD
//
this.rotYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.rotYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.rotYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.rotYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.rotYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.rotYUD.DataType = null;
this.rotYUD.DrawSemitransparentThumb = false;
this.rotYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.rotYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.rotYUD.ForeColor = System.Drawing.Color.White;
this.rotYUD.IncrementAmount = 0.01F;
this.rotYUD.InputName = "Y";
this.rotYUD.LargeChange = 5F;
this.rotYUD.Location = new System.Drawing.Point(234, 60);
this.rotYUD.Maximum = 300000F;
this.rotYUD.Minimum = -300000F;
this.rotYUD.Name = "rotYUD";
this.rotYUD.Precision = 0.01F;
this.rotYUD.ScaleDivisions = 1;
this.rotYUD.ScaleSubDivisions = 2;
this.rotYUD.ShowDivisionsText = false;
this.rotYUD.ShowSmallScale = false;
this.rotYUD.Size = new System.Drawing.Size(107, 25);
this.rotYUD.SmallChange = 0.01F;
this.rotYUD.TabIndex = 47;
this.rotYUD.Text = "rotXUD";
this.rotYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.rotYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.rotYUD.TickAdd = 0F;
this.rotYUD.TickColor = System.Drawing.Color.White;
this.rotYUD.TickDivide = 0F;
this.rotYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.rotYUD.UseInterlapsedBar = false;
this.rotYUD.Value = 30F;
//
// tranYUD
//
this.tranYUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranYUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.tranYUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tranYUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.tranYUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.tranYUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranYUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.tranYUD.DataType = null;
this.tranYUD.DrawSemitransparentThumb = false;
this.tranYUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.tranYUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.tranYUD.ForeColor = System.Drawing.Color.White;
this.tranYUD.IncrementAmount = 0.01F;
this.tranYUD.InputName = "Y";
this.tranYUD.LargeChange = 5F;
this.tranYUD.Location = new System.Drawing.Point(234, 29);
this.tranYUD.Maximum = 300000F;
this.tranYUD.Minimum = -300000F;
this.tranYUD.Name = "tranYUD";
this.tranYUD.Precision = 0.01F;
this.tranYUD.ScaleDivisions = 1;
this.tranYUD.ScaleSubDivisions = 2;
this.tranYUD.ShowDivisionsText = false;
this.tranYUD.ShowSmallScale = false;
this.tranYUD.Size = new System.Drawing.Size(107, 25);
this.tranYUD.SmallChange = 0.01F;
this.tranYUD.TabIndex = 46;
this.tranYUD.Text = "barSlider2";
this.tranYUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranYUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.tranYUD.ThumbSize = new System.Drawing.Size(1, 1);
this.tranYUD.TickAdd = 0F;
this.tranYUD.TickColor = System.Drawing.Color.White;
this.tranYUD.TickDivide = 0F;
this.tranYUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.tranYUD.UseInterlapsedBar = false;
this.tranYUD.Value = 30F;
//
// sizeXUD
//
this.sizeXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.sizeXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.sizeXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.sizeXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.sizeXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.sizeXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.sizeXUD.DataType = null;
this.sizeXUD.DrawSemitransparentThumb = false;
this.sizeXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.sizeXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.sizeXUD.ForeColor = System.Drawing.Color.White;
this.sizeXUD.IncrementAmount = 0.01F;
this.sizeXUD.InputName = "X";
this.sizeXUD.LargeChange = 5F;
this.sizeXUD.Location = new System.Drawing.Point(121, 122);
this.sizeXUD.Maximum = 300000F;
this.sizeXUD.Minimum = -300000F;
this.sizeXUD.Name = "sizeXUD";
this.sizeXUD.Precision = 0.01F;
this.sizeXUD.ScaleDivisions = 1;
this.sizeXUD.ScaleSubDivisions = 2;
this.sizeXUD.ShowDivisionsText = false;
this.sizeXUD.ShowSmallScale = false;
this.sizeXUD.Size = new System.Drawing.Size(107, 25);
this.sizeXUD.SmallChange = 0.01F;
this.sizeXUD.TabIndex = 45;
this.sizeXUD.Text = "sizeXUD";
this.sizeXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.sizeXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.sizeXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.sizeXUD.TickAdd = 0F;
this.sizeXUD.TickColor = System.Drawing.Color.White;
this.sizeXUD.TickDivide = 0F;
this.sizeXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.sizeXUD.UseInterlapsedBar = false;
this.sizeXUD.Value = 30F;
//
// scaleXUD
//
this.scaleXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.scaleXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.scaleXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.scaleXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.scaleXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.scaleXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.scaleXUD.DataType = null;
this.scaleXUD.DrawSemitransparentThumb = false;
this.scaleXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.scaleXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.scaleXUD.ForeColor = System.Drawing.Color.White;
this.scaleXUD.IncrementAmount = 0.01F;
this.scaleXUD.InputName = "X";
this.scaleXUD.LargeChange = 5F;
this.scaleXUD.Location = new System.Drawing.Point(121, 91);
this.scaleXUD.Maximum = 300000F;
this.scaleXUD.Minimum = -300000F;
this.scaleXUD.Name = "scaleXUD";
this.scaleXUD.Precision = 0.01F;
this.scaleXUD.ScaleDivisions = 1;
this.scaleXUD.ScaleSubDivisions = 2;
this.scaleXUD.ShowDivisionsText = false;
this.scaleXUD.ShowSmallScale = false;
this.scaleXUD.Size = new System.Drawing.Size(107, 25);
this.scaleXUD.SmallChange = 0.01F;
this.scaleXUD.TabIndex = 44;
this.scaleXUD.Text = "barSlider2";
this.scaleXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.scaleXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.scaleXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.scaleXUD.TickAdd = 0F;
this.scaleXUD.TickColor = System.Drawing.Color.White;
this.scaleXUD.TickDivide = 0F;
this.scaleXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.scaleXUD.UseInterlapsedBar = false;
this.scaleXUD.Value = 30F;
//
// rotXUD
//
this.rotXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.rotXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.rotXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.rotXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.rotXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.rotXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.rotXUD.DataType = null;
this.rotXUD.DrawSemitransparentThumb = false;
this.rotXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.rotXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.rotXUD.ForeColor = System.Drawing.Color.White;
this.rotXUD.IncrementAmount = 0.01F;
this.rotXUD.InputName = "X";
this.rotXUD.LargeChange = 5F;
this.rotXUD.Location = new System.Drawing.Point(121, 60);
this.rotXUD.Maximum = 300000F;
this.rotXUD.Minimum = -300000F;
this.rotXUD.Name = "rotXUD";
this.rotXUD.Precision = 0.01F;
this.rotXUD.ScaleDivisions = 1;
this.rotXUD.ScaleSubDivisions = 2;
this.rotXUD.ShowDivisionsText = false;
this.rotXUD.ShowSmallScale = false;
this.rotXUD.Size = new System.Drawing.Size(107, 25);
this.rotXUD.SmallChange = 0.01F;
this.rotXUD.TabIndex = 43;
this.rotXUD.Text = "rotXUD";
this.rotXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.rotXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.rotXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.rotXUD.TickAdd = 0F;
this.rotXUD.TickColor = System.Drawing.Color.White;
this.rotXUD.TickDivide = 0F;
this.rotXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.rotXUD.UseInterlapsedBar = false;
this.rotXUD.Value = 30F;
//
// tranXUD
//
this.tranXUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranXUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.tranXUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tranXUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.tranXUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.tranXUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.tranXUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.tranXUD.DataType = null;
this.tranXUD.DrawSemitransparentThumb = false;
this.tranXUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.tranXUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.tranXUD.ForeColor = System.Drawing.Color.White;
this.tranXUD.IncrementAmount = 0.01F;
this.tranXUD.InputName = "X";
this.tranXUD.LargeChange = 5F;
this.tranXUD.Location = new System.Drawing.Point(121, 29);
this.tranXUD.Maximum = 300000F;
this.tranXUD.Minimum = -300000F;
this.tranXUD.Name = "tranXUD";
this.tranXUD.Precision = 0.01F;
this.tranXUD.ScaleDivisions = 1;
this.tranXUD.ScaleSubDivisions = 2;
this.tranXUD.ShowDivisionsText = false;
this.tranXUD.ShowSmallScale = false;
this.tranXUD.Size = new System.Drawing.Size(107, 25);
this.tranXUD.SmallChange = 0.01F;
this.tranXUD.TabIndex = 42;
this.tranXUD.Text = "barSlider2";
this.tranXUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.tranXUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.tranXUD.ThumbSize = new System.Drawing.Size(1, 1);
this.tranXUD.TickAdd = 0F;
this.tranXUD.TickColor = System.Drawing.Color.White;
this.tranXUD.TickDivide = 0F;
this.tranXUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.tranXUD.UseInterlapsedBar = false;
this.tranXUD.Value = 30F;
//
// stLabel5
//
this.stLabel5.AutoSize = true;
this.stLabel5.Location = new System.Drawing.Point(35, 126);
this.stLabel5.Name = "stLabel5";
this.stLabel5.Size = new System.Drawing.Size(30, 13);
this.stLabel5.TabIndex = 41;
this.stLabel5.Text = "Size:";
//
// stLabel4
//
this.stLabel4.AutoSize = true;
this.stLabel4.Location = new System.Drawing.Point(35, 96);
this.stLabel4.Name = "stLabel4";
this.stLabel4.Size = new System.Drawing.Size(37, 13);
this.stLabel4.TabIndex = 40;
this.stLabel4.Text = "Scale:";
//
// stLabel3
//
this.stLabel3.AutoSize = true;
this.stLabel3.Location = new System.Drawing.Point(35, 63);
this.stLabel3.Name = "stLabel3";
this.stLabel3.Size = new System.Drawing.Size(42, 13);
this.stLabel3.TabIndex = 39;
this.stLabel3.Text = "Rotate:";
//
// stLabel6
//
this.stLabel6.AutoSize = true;
this.stLabel6.Location = new System.Drawing.Point(34, 35);
this.stLabel6.Name = "stLabel6";
this.stLabel6.Size = new System.Drawing.Size(54, 13);
this.stLabel6.TabIndex = 38;
this.stLabel6.Text = "Translate:";
//
// stDropDownPanel3
//
this.stDropDownPanel3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.stDropDownPanel3.Controls.Add(this.stCheckBox2);
this.stDropDownPanel3.Controls.Add(this.stCheckBox1);
this.stDropDownPanel3.Controls.Add(this.alphaUD);
this.stDropDownPanel3.Controls.Add(this.alphaSelectorHorizontalPanel1);
this.stDropDownPanel3.Controls.Add(this.stLabel7);
this.stDropDownPanel3.ExpandedHeight = 105;
this.stDropDownPanel3.IsExpanded = true;
this.stDropDownPanel3.Location = new System.Drawing.Point(0, 271);
this.stDropDownPanel3.Margin = new System.Windows.Forms.Padding(0);
this.stDropDownPanel3.Name = "stDropDownPanel3";
this.stDropDownPanel3.PanelName = "Visibilty";
this.stDropDownPanel3.PanelValueName = "";
this.stDropDownPanel3.SetIcon = null;
this.stDropDownPanel3.SetIconAlphaColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel3.SetIconColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel3.Size = new System.Drawing.Size(477, 105);
this.stDropDownPanel3.TabIndex = 5;
//
// stCheckBox2
//
this.stCheckBox2.AutoSize = true;
this.stCheckBox2.Location = new System.Drawing.Point(136, 32);
this.stCheckBox2.Name = "stCheckBox2";
this.stCheckBox2.Size = new System.Drawing.Size(186, 17);
this.stCheckBox2.TabIndex = 55;
this.stCheckBox2.Text = "Influence transparency to children";
this.stCheckBox2.UseVisualStyleBackColor = true;
//
// stCheckBox1
//
this.stCheckBox1.AutoSize = true;
this.stCheckBox1.Location = new System.Drawing.Point(24, 32);
this.stCheckBox1.Name = "stCheckBox1";
this.stCheckBox1.Size = new System.Drawing.Size(88, 17);
this.stCheckBox1.TabIndex = 54;
this.stCheckBox1.Text = "Pane visibile:";
this.stCheckBox1.UseVisualStyleBackColor = true;
//
// alphaUD
//
this.alphaUD.ActiveEditColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.alphaUD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.alphaUD.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.alphaUD.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.alphaUD.BarPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.alphaUD.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.alphaUD.BorderRoundRectSize = new System.Drawing.Size(32, 32);
this.alphaUD.DataType = null;
this.alphaUD.DrawSemitransparentThumb = false;
this.alphaUD.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ElapsedPenColorMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65)))));
this.alphaUD.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
this.alphaUD.ForeColor = System.Drawing.Color.White;
this.alphaUD.IncrementAmount = 0.01F;
this.alphaUD.InputName = "A";
this.alphaUD.LargeChange = 5F;
this.alphaUD.Location = new System.Drawing.Point(271, 60);
this.alphaUD.Maximum = 300000F;
this.alphaUD.Minimum = -300000F;
this.alphaUD.Name = "alphaUD";
this.alphaUD.Precision = 0.01F;
this.alphaUD.ScaleDivisions = 1;
this.alphaUD.ScaleSubDivisions = 2;
this.alphaUD.ShowDivisionsText = false;
this.alphaUD.ShowSmallScale = false;
this.alphaUD.Size = new System.Drawing.Size(84, 25);
this.alphaUD.SmallChange = 0.01F;
this.alphaUD.TabIndex = 51;
this.alphaUD.Text = "rotXUD";
this.alphaUD.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ThumbPenColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.alphaUD.ThumbRoundRectSize = new System.Drawing.Size(1, 1);
this.alphaUD.ThumbSize = new System.Drawing.Size(1, 1);
this.alphaUD.TickAdd = 0F;
this.alphaUD.TickColor = System.Drawing.Color.White;
this.alphaUD.TickDivide = 0F;
this.alphaUD.TickStyle = System.Windows.Forms.TickStyle.None;
this.alphaUD.UseInterlapsedBar = false;
this.alphaUD.Value = 30F;
//
// alphaSelectorHorizontalPanel1
//
this.alphaSelectorHorizontalPanel1.Alpha = 0;
this.alphaSelectorHorizontalPanel1.Location = new System.Drawing.Point(93, 55);
this.alphaSelectorHorizontalPanel1.Name = "alphaSelectorHorizontalPanel1";
this.alphaSelectorHorizontalPanel1.Size = new System.Drawing.Size(176, 34);
this.alphaSelectorHorizontalPanel1.TabIndex = 50;
//
// stLabel7
//
this.stLabel7.AutoSize = true;
this.stLabel7.Location = new System.Drawing.Point(27, 65);
this.stLabel7.Name = "stLabel7";
this.stLabel7.Size = new System.Drawing.Size(37, 13);
this.stLabel7.TabIndex = 49;
this.stLabel7.Text = "Alpha:";
//
// stDropDownPanel4
//
this.stDropDownPanel4.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.stDropDownPanel4.Controls.Add(this.radioButton7);
this.stDropDownPanel4.Controls.Add(this.radioButton8);
this.stDropDownPanel4.Controls.Add(this.radioButton9);
this.stDropDownPanel4.Controls.Add(this.radioButton4);
this.stDropDownPanel4.Controls.Add(this.radioButton5);
this.stDropDownPanel4.Controls.Add(this.radioButton6);
this.stDropDownPanel4.Controls.Add(this.radioButton3);
this.stDropDownPanel4.Controls.Add(this.radioButton2);
this.stDropDownPanel4.Controls.Add(this.radioButton1);
this.stDropDownPanel4.ExpandedHeight = 0;
this.stDropDownPanel4.IsExpanded = true;
this.stDropDownPanel4.Location = new System.Drawing.Point(0, 376);
this.stDropDownPanel4.Margin = new System.Windows.Forms.Padding(0);
this.stDropDownPanel4.Name = "stDropDownPanel4";
this.stDropDownPanel4.PanelName = "Orientation";
this.stDropDownPanel4.PanelValueName = "";
this.stDropDownPanel4.SetIcon = null;
this.stDropDownPanel4.SetIconAlphaColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel4.SetIconColor = System.Drawing.SystemColors.Control;
this.stDropDownPanel4.Size = new System.Drawing.Size(477, 109);
this.stDropDownPanel4.TabIndex = 54;
//
// radioButton7
//
this.radioButton7.AutoSize = true;
this.radioButton7.Location = new System.Drawing.Point(47, 81);
this.radioButton7.Name = "radioButton7";
this.radioButton7.Size = new System.Drawing.Size(79, 17);
this.radioButton7.TabIndex = 9;
this.radioButton7.TabStop = true;
this.radioButton7.Text = "Bottom Left";
this.radioButton7.UseVisualStyleBackColor = true;
//
// radioButton8
//
this.radioButton8.AutoSize = true;
this.radioButton8.Location = new System.Drawing.Point(47, 35);
this.radioButton8.Name = "radioButton8";
this.radioButton8.Size = new System.Drawing.Size(65, 17);
this.radioButton8.TabIndex = 8;
this.radioButton8.TabStop = true;
this.radioButton8.Text = "Top Left";
this.radioButton8.UseVisualStyleBackColor = true;
//
// radioButton9
//
this.radioButton9.AutoSize = true;
this.radioButton9.Location = new System.Drawing.Point(47, 58);
this.radioButton9.Name = "radioButton9";
this.radioButton9.Size = new System.Drawing.Size(43, 17);
this.radioButton9.TabIndex = 7;
this.radioButton9.TabStop = true;
this.radioButton9.Text = "Left";
this.radioButton9.UseVisualStyleBackColor = true;
//
// radioButton4
//
this.radioButton4.AutoSize = true;
this.radioButton4.Location = new System.Drawing.Point(217, 81);
this.radioButton4.Name = "radioButton4";
this.radioButton4.Size = new System.Drawing.Size(86, 17);
this.radioButton4.TabIndex = 6;
this.radioButton4.TabStop = true;
this.radioButton4.Text = "Bottom Right";
this.radioButton4.UseVisualStyleBackColor = true;
//
// radioButton5
//
this.radioButton5.AutoSize = true;
this.radioButton5.Location = new System.Drawing.Point(217, 35);
this.radioButton5.Name = "radioButton5";
this.radioButton5.Size = new System.Drawing.Size(72, 17);
this.radioButton5.TabIndex = 5;
this.radioButton5.TabStop = true;
this.radioButton5.Text = "Top Right";
this.radioButton5.UseVisualStyleBackColor = true;
//
// radioButton6
//
this.radioButton6.AutoSize = true;
this.radioButton6.Location = new System.Drawing.Point(217, 58);
this.radioButton6.Name = "radioButton6";
this.radioButton6.Size = new System.Drawing.Size(50, 17);
this.radioButton6.TabIndex = 4;
this.radioButton6.TabStop = true;
this.radioButton6.Text = "Right";
this.radioButton6.UseVisualStyleBackColor = true;
//
// radioButton3
//
this.radioButton3.AutoSize = true;
this.radioButton3.Location = new System.Drawing.Point(136, 81);
this.radioButton3.Name = "radioButton3";
this.radioButton3.Size = new System.Drawing.Size(58, 17);
this.radioButton3.TabIndex = 3;
this.radioButton3.TabStop = true;
this.radioButton3.Text = "Bottom";
this.radioButton3.UseVisualStyleBackColor = true;
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Location = new System.Drawing.Point(136, 35);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(44, 17);
this.radioButton2.TabIndex = 2;
this.radioButton2.TabStop = true;
this.radioButton2.Text = "Top";
this.radioButton2.UseVisualStyleBackColor = true;
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Location = new System.Drawing.Point(136, 58);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(56, 17);
this.radioButton1.TabIndex = 1;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "Center";
this.radioButton1.UseVisualStyleBackColor = true;
//
// BasePaneEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.stFlowLayoutPanel1);
this.Name = "BasePaneEditor";
this.Size = new System.Drawing.Size(477, 554);
this.stFlowLayoutPanel1.ResumeLayout(false);
this.stDropDownPanel1.ResumeLayout(false);
this.stDropDownPanel1.PerformLayout();
this.stDropDownPanel2.ResumeLayout(false);
this.stDropDownPanel2.PerformLayout();
this.stDropDownPanel3.ResumeLayout(false);
this.stDropDownPanel3.PerformLayout();
this.stDropDownPanel4.ResumeLayout(false);
this.stDropDownPanel4.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private Toolbox.Library.Forms.STFlowLayoutPanel stFlowLayoutPanel1;
private Toolbox.Library.Forms.STDropDownPanel stDropDownPanel1;
private Toolbox.Library.Forms.STTextBox userNameTB;
private Toolbox.Library.Forms.STLabel stLabel2;
private Toolbox.Library.Forms.STTextBox nameTB;
private Toolbox.Library.Forms.STLabel stLabel1;
private Toolbox.Library.Forms.STDropDownPanel stDropDownPanel2;
private BarSlider.BarSlider rotZUD;
private BarSlider.BarSlider tranZUD;
private BarSlider.BarSlider sizeYUD;
private BarSlider.BarSlider scaleYUD;
private BarSlider.BarSlider rotYUD;
private BarSlider.BarSlider tranYUD;
private BarSlider.BarSlider sizeXUD;
private BarSlider.BarSlider scaleXUD;
private BarSlider.BarSlider rotXUD;
private BarSlider.BarSlider tranXUD;
private Toolbox.Library.Forms.STLabel stLabel5;
private Toolbox.Library.Forms.STLabel stLabel4;
private Toolbox.Library.Forms.STLabel stLabel3;
private Toolbox.Library.Forms.STLabel stLabel6;
private Toolbox.Library.Forms.STDropDownPanel stDropDownPanel3;
private BarSlider.BarSlider alphaUD;
private Toolbox.Library.Forms.AlphaSelectorHorizontalPanel alphaSelectorHorizontalPanel1;
private Toolbox.Library.Forms.STLabel stLabel7;
private Toolbox.Library.Forms.STDropDownPanel stDropDownPanel4;
private System.Windows.Forms.RadioButton radioButton7;
private System.Windows.Forms.RadioButton radioButton8;
private System.Windows.Forms.RadioButton radioButton9;
private System.Windows.Forms.RadioButton radioButton4;
private System.Windows.Forms.RadioButton radioButton5;
private System.Windows.Forms.RadioButton radioButton6;
private System.Windows.Forms.RadioButton radioButton3;
private System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.RadioButton radioButton1;
private Toolbox.Library.Forms.STCheckBox stCheckBox2;
private Toolbox.Library.Forms.STCheckBox stCheckBox1;
}
}

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Forms;
namespace LayoutBXLYT
{
public partial class BasePaneEditor : STUserControl
{
public BasePaneEditor()
{
InitializeComponent();
}
public void LoadPane(BasePane pane)
{
nameTB.Bind(pane, "Name");
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,58 @@
namespace LayoutBXLYT
{
partial class PaneEditor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.tabControl1 = new System.Windows.Forms.TabControl();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(411, 288);
this.tabControl1.TabIndex = 0;
//
// PaneEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(411, 288);
this.Controls.Add(this.tabControl1);
this.Name = "PaneEditor";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TabControl tabControl1;
}
}

View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Forms;
namespace LayoutBXLYT
{
public partial class PaneEditor : LayoutDocked
{
public PaneEditor()
{
InitializeComponent();
}
public void LoadPane(BasePane pane)
{
LoadBasePane(pane);
}
private void LoadBasePane(BasePane pane)
{
var page = new TabPage() { Text = "Base Pane" };
var basePaneEditor = new BasePaneEditor();
basePaneEditor.Dock = DockStyle.Fill;
basePaneEditor.LoadPane(pane);
page.Controls.Add(basePaneEditor);
tabControl1.TabPages.Add(page);
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -55,11 +55,13 @@
this.displayyBoundryPanesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.displayWindowPanesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.displayPicturePanesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.displayTextPanesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.animationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.windowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.showGameWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.displayTextPanesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.backColorDisplay)).BeginInit();
this.stToolStrip1.SuspendLayout();
this.stMenuStrip1.SuspendLayout();
@ -213,6 +215,9 @@
//
// editToolStripMenuItem
//
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.undoToolStripMenuItem,
this.redoToolStripMenuItem});
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20);
this.editToolStripMenuItem.Text = "Edit";
@ -314,6 +319,16 @@
this.displayPicturePanesToolStripMenuItem.Text = "Display Picture Panes";
this.displayPicturePanesToolStripMenuItem.Click += new System.EventHandler(this.displayPanesToolStripMenuItem_Click);
//
// displayTextPanesToolStripMenuItem
//
this.displayTextPanesToolStripMenuItem.Checked = true;
this.displayTextPanesToolStripMenuItem.CheckOnClick = true;
this.displayTextPanesToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.displayTextPanesToolStripMenuItem.Name = "displayTextPanesToolStripMenuItem";
this.displayTextPanesToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.displayTextPanesToolStripMenuItem.Text = "Display Text Panes";
this.displayTextPanesToolStripMenuItem.Click += new System.EventHandler(this.displayPanesToolStripMenuItem_Click);
//
// animationToolStripMenuItem
//
this.animationToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -325,7 +340,7 @@
// resetToolStripMenuItem
//
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
this.resetToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.resetToolStripMenuItem.Size = new System.Drawing.Size(102, 22);
this.resetToolStripMenuItem.Text = "Reset";
this.resetToolStripMenuItem.Click += new System.EventHandler(this.resetToolStripMenuItem_Click);
//
@ -344,15 +359,19 @@
this.showGameWindowToolStripMenuItem.Text = "Show Game Window";
this.showGameWindowToolStripMenuItem.Click += new System.EventHandler(this.showGameWindowToolStripMenuItem_Click);
//
// displayTextPanesToolStripMenuItem
// undoToolStripMenuItem
//
this.displayTextPanesToolStripMenuItem.Checked = true;
this.displayTextPanesToolStripMenuItem.CheckOnClick = true;
this.displayTextPanesToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.displayTextPanesToolStripMenuItem.Name = "displayTextPanesToolStripMenuItem";
this.displayTextPanesToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.displayTextPanesToolStripMenuItem.Text = "Display Text Panes";
this.displayTextPanesToolStripMenuItem.Click += new System.EventHandler(this.displayPanesToolStripMenuItem_Click);
this.undoToolStripMenuItem.Name = "undoToolStripMenuItem";
this.undoToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.undoToolStripMenuItem.Text = "Undo";
this.undoToolStripMenuItem.Click += new System.EventHandler(this.undoToolStripMenuItem_Click);
//
// redoToolStripMenuItem
//
this.redoToolStripMenuItem.Name = "redoToolStripMenuItem";
this.redoToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.redoToolStripMenuItem.Text = "Redo";
this.redoToolStripMenuItem.Click += new System.EventHandler(this.redoToolStripMenuItem_Click);
//
// LayoutEditor
//
@ -417,5 +436,7 @@
private System.Windows.Forms.ToolStripMenuItem windowToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem showGameWindowToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem displayTextPanesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem;
}
}

View File

@ -33,6 +33,7 @@ namespace LayoutBXLYT
public List<BxlytHeader> LayoutFiles = new List<BxlytHeader>();
public List<BxlanHeader> AnimationFiles = new List<BxlanHeader>();
public List<BxlanHeader> SelectedAnimations = new List<BxlanHeader>();
private BxlytHeader ActiveLayout;
private BxlanHeader ActiveAnimation;
@ -58,6 +59,9 @@ namespace LayoutBXLYT
this.dockPanel1.BackColor = FormThemes.BaseTheme.FormBackColor;
this.BackColor = FormThemes.BaseTheme.FormBackColor;
redoToolStripMenuItem.Enabled = false;
undoToolStripMenuItem.Enabled = false;
viewportBackColorCB.Items.Add("Back Color : Default");
viewportBackColorCB.Items.Add("Back Color : Custom");
orthographicViewToolStripMenuItem.Checked = true;
@ -84,9 +88,10 @@ namespace LayoutBXLYT
}
private List<LayoutViewer> Viewports = new List<LayoutViewer>();
private LayoutAnimEditor LayoutAnimEditor;
private LayoutViewer ActiveViewport;
private LayoutHierarchy LayoutHierarchy;
private LayoutHierarchy AnimLayoutHierarchy;
private LayoutAnimList LayoutAnimList;
private LayoutTextureList LayoutTextureList;
private LayoutProperties LayoutProperties;
private LayoutTextDocked TextConverter;
@ -136,6 +141,7 @@ namespace LayoutBXLYT
Viewports.Add(Viewport);
ActiveViewport = Viewport;
UpdateUndo();
/* if (ActiveViewport == null)
{
LayoutViewer Viewport = new LayoutViewer(this,header, Textures);
@ -155,7 +161,7 @@ namespace LayoutBXLYT
if (!isLoaded)
InitializeDockPanels();
AnimLayoutHierarchy?.SearchAnimations(header, ObjectSelected);
LayoutAnimList?.SearchAnimations(header);
CustomMapper.LoadMK8DCharaSelect(Textures, header);
@ -169,7 +175,7 @@ namespace LayoutBXLYT
ShowAnimationHierarchy();
ShowPropertiesPanel();
AnimLayoutHierarchy.LoadAnimation(ActiveAnimation, ObjectSelected);
LayoutAnimList.LoadAnimation(ActiveAnimation);
isLoaded = true;
}
@ -237,15 +243,20 @@ namespace LayoutBXLYT
if (AnimationPanel != null)
{
if (e is TreeViewEventArgs)
if (e is ListViewItemSelectionChangedEventArgs)
{
var node = ((ListViewItemSelectionChangedEventArgs)e).Item;
if (node.Tag is ArchiveFileInfo)
{
var node = ((TreeViewEventArgs)e).Node;
if (node.Tag is ArchiveFileInfo) {
UpdateAnimationNode(node);
}
if (node.Tag is BxlanHeader)
UpdateAnimationPlayer((BxlanHeader)node.Tag);
{
AnimationPanel?.Reset();
foreach (ListViewItem item in LayoutAnimList.GetSelectedAnimations)
UpdateAnimationPlayer((BxlanHeader)item.Tag);
}
}
}
if (LayoutProperties != null && (string)sender == "Select")
@ -278,10 +289,16 @@ namespace LayoutBXLYT
}
}
private void UpdateAnimationNode(TreeNode node)
public void UpdateHiearchyNodeSelection(BasePane pane)
{
node.Nodes.Clear();
var nodeWrapper = pane.NodeWrapper;
if (nodeWrapper == null) return;
LayoutHierarchy?.SelectNode(nodeWrapper);
}
private void UpdateAnimationNode(ListViewItem node)
{
var archiveNode = node.Tag as ArchiveFileInfo;
var fileFormat = archiveNode.OpenFile();
@ -291,8 +308,6 @@ namespace LayoutBXLYT
if (fileFormat != null && fileFormat is BXLAN)
{
node.Tag = ((BXLAN)fileFormat).BxlanHeader;
LayoutHierarchy.LoadAnimations(((BXLAN)fileFormat).BxlanHeader, node, false);
AnimationFiles.Add(((BXLAN)fileFormat).BxlanHeader);
}
}
@ -313,8 +328,7 @@ namespace LayoutBXLYT
if (ActiveLayout != null)
{
AnimationPanel.Reset();
AnimationPanel.AddAnimation(animHeader.ToGenericAnimation(ActiveLayout), true);
AnimationPanel.AddAnimation(animHeader.ToGenericAnimation(ActiveLayout), false);
// foreach (var anim in AnimationFiles)
// AnimationPanel.AddAnimation(anim.ToGenericAnimation(ActiveLayout), false);
}
@ -339,6 +353,32 @@ namespace LayoutBXLYT
LayoutPartsEditor.Show(dockPanel1, DockState.DockLeft);
}
public void ShowBxlanEditor(BxlanHeader bxlan)
{
LayoutAnimEditorBasic editor = new LayoutAnimEditorBasic();
editor.LoadAnim(bxlan);
editor.OnPropertyChanged += AnimPropertyChanged;
editor.Show(this);
/* if (LayoutAnimEditor != null) {
LayoutAnimEditor.LoadFile(bxlan.GetGenericAnimation());
return;
}
LayoutAnimEditor = new LayoutAnimEditor();
AnimationPanel.OnNodeSelected = LayoutAnimEditor.OnNodeSelected;
LayoutAnimEditor.LoadFile(bxlan.GetGenericAnimation());
if (LayoutHierarchy != null)
LayoutAnimEditor.Show(LayoutHierarchy.Pane, DockAlignment.Bottom, 0.5);
else
LayoutAnimEditor.Show(dockPanel1, DockState.DockRight);*/
}
private void AnimPropertyChanged(object sender, EventArgs e)
{
ActiveViewport?.UpdateViewport();
}
private void ShowPropertiesPanel()
{
if (LayoutProperties != null)
@ -354,12 +394,12 @@ namespace LayoutBXLYT
public void ShowAnimationHierarchy()
{
if (AnimLayoutHierarchy != null)
if (LayoutAnimList != null)
return;
AnimLayoutHierarchy = new LayoutHierarchy(this);
AnimLayoutHierarchy.Text = "Animation Hierarchy";
AnimLayoutHierarchy.Show(dockPanel1, DockState.DockLeft);
LayoutAnimList = new LayoutAnimList(this, ObjectSelected);
LayoutAnimList.Text = "Animation Hierarchy";
LayoutAnimList.Show(dockPanel1, DockState.DockLeft);
}
private void ShowPaneHierarchy()
@ -389,6 +429,7 @@ namespace LayoutBXLYT
DockContent dockContent = new DockContent();
AnimationPanel = new STAnimationPanel();
AnimationPanel.Dock = DockStyle.Fill;
AnimationPanel.AnimationPlaying += OnAnimationPlaying;
AnimationPanel.SetViewport(ActiveViewport.GetGLControl());
dockContent.Controls.Add(AnimationPanel);
LayoutTextureList.Show(dockPanel1, DockState.DockRight);
@ -399,6 +440,12 @@ namespace LayoutBXLYT
dockContent.Show(dockPanel1, DockState.DockBottom);
}
private void OnAnimationPlaying(object sender, EventArgs e)
{
if (LayoutAnimEditor != null)
LayoutAnimEditor.OnAnimationPlaying();
}
private void stComboBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
@ -469,6 +516,7 @@ namespace LayoutBXLYT
ActiveLayout = file;
ReloadEditors(file);
ActiveViewport = viewer;
UpdateUndo();
viewer.UpdateViewport();
Console.WriteLine("changed " + ActiveLayout.FileName);
@ -806,7 +854,7 @@ namespace LayoutBXLYT
STForm form = new STForm();
form.Text = "Game Preview";
form.AddControl(GamePreviewWindow);
form.Show();
form.Show(this);
}
}
@ -816,5 +864,33 @@ namespace LayoutBXLYT
GamePreviewWindow?.OnControlClosing();
GamePreviewWindow?.Dispose();
}
private void undoToolStripMenuItem_Click(object sender, EventArgs e) {
ActiveViewport?.UndoManger.Undo();
ActiveViewport?.UpdateViewport();
UpdateUndo();
}
private void redoToolStripMenuItem_Click(object sender, EventArgs e) {
ActiveViewport?.UndoManger.Redo();
ActiveViewport?.UpdateViewport();
UpdateUndo();
}
public void UpdateUndo()
{
if (ActiveViewport == null)
return;
redoToolStripMenuItem.Enabled = false;
undoToolStripMenuItem.Enabled = false;
if (ActiveViewport.UndoManger.HasUndo)
undoToolStripMenuItem.Enabled = true;
if (ActiveViewport.UndoManger.HasRedo)
redoToolStripMenuItem.Enabled = true;
}
}
}

View File

@ -43,6 +43,7 @@
this.treeView1.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView1_BeforeExpand);
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);
this.treeView1.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseDoubleClick);
this.treeView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown);
this.treeView1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.treeView1_MouseClick);
//

View File

@ -77,48 +77,10 @@ namespace LayoutBXLYT
isLoaded = true;
}
public void SearchAnimations(BxlytHeader bxlyt, EventHandler onPropertySelected)
public void SelectNode(TreeNode node)
{
OnProperySelected = onPropertySelected;
isLoaded = false;
var layoutFile = bxlyt.FileInfo;
var parentArchive = layoutFile.IFileInfo.ArchiveParent;
if (parentArchive == null) return;
treeView1.BeginUpdate();
foreach (var file in parentArchive.Files)
{
if (Utils.GetExtension(file.FileName) == ".brlan" ||
Utils.GetExtension(file.FileName) == ".bclan" ||
Utils.GetExtension(file.FileName) == ".bflan") {
LoadAnimation(file);
}
}
treeView1.EndUpdate();
treeView1.Sort();
isLoaded = true;
}
public void LoadAnimation(ArchiveFileInfo archiveEntry)
{
var animNode = new TreeNode(System.IO.Path.GetFileName(archiveEntry.FileName)) { Tag = archiveEntry };
animNode.Nodes.Add("<dummy>");
treeView1.Nodes.Add(animNode);
}
public void LoadAnimation(BxlanHeader bxlan, EventHandler onPropertySelected)
{
isLoaded = false;
OnProperySelected = onPropertySelected;
treeView1.BeginUpdate();
LoadAnimations(bxlan,new TreeNode(bxlan.FileName) { Tag = bxlan });
treeView1.EndUpdate();
isLoaded = true;
treeView1.SelectedNode = node;
treeView1.Refresh();
}
public void Reset()
@ -127,51 +89,6 @@ namespace LayoutBXLYT
isLoaded = false;
}
public void LoadAnimations(BxlanHeader bxlan, TreeNode root, bool LoadRoot = true)
{
if (LoadRoot)
treeView1.Nodes.Add(root);
if (bxlan is BxlanHeader)
{
var header = bxlan as BxlanHeader;
var pat1 = new TreeNode("Tag Info") { Tag = header.AnimationTag };
var pai1 = new TreeNode("Animation Info") { Tag = header.AnimationInfo };
for (int i = 0; i < header.AnimationInfo.Entries.Count; i++)
LoadAnimationEntry(header.AnimationInfo.Entries[i], pai1);
root.Nodes.Add(pat1);
root.Nodes.Add(pai1);
}
}
private void LoadAnimationEntry(BxlanPaiEntry entry, TreeNode root)
{
var nodeEntry = new TreeNode(entry.Name) { Tag = entry };
root.Nodes.Add(nodeEntry);
for (int i = 0;i < entry.Tags.Count; i++)
{
var nodeTag = new TreeNode(entry.Tags[i].Type) { Tag = entry.Tags[i] };
nodeEntry.Nodes.Add(nodeTag);
for (int j = 0; j < entry.Tags[i].Entries.Count; j++)
LoadTagEntry(entry.Tags[i].Entries[j], nodeTag, j);
}
}
private void LoadTagEntry(BxlanPaiTagEntry entry, TreeNode root, int index)
{
var nodeEntry = new TreeNode(entry.TargetName) { Tag = entry };
root.Nodes.Add(nodeEntry);
for (int i = 0; i < entry.KeyFrames.Count; i++)
{
var keyNode = new TreeNode($"Key Frame {i}") { Tag = entry.KeyFrames[i] };
nodeEntry.Nodes.Add(keyNode);
}
}
private void LoadTextures(List<string> textures)
{
TreeNode node = new TreeNode("Textures");
@ -336,6 +253,8 @@ namespace LayoutBXLYT
private void LoadPane(BasePane pane, TreeNode parent = null)
{
var paneNode = CreatePaneWrapper(pane);
pane.NodeWrapper = paneNode;
if (parent == null)
treeView1.Nodes.Add(paneNode);
else
@ -426,5 +345,21 @@ namespace LayoutBXLYT
}
}
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.Tag == null)
return;
if (e.Button == MouseButtons.Left)
{
/* if (e.Node.Tag is BasePane)
{
PaneEditor editor = new PaneEditor();
editor.LoadPane((BasePane)e.Node.Tag);
editor.Show();
}*/
}
}
}
}

View File

@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Syroot.Maths;
namespace LayoutBXLYT
{
public class LayoutUndoManager
{
protected Stack<IRevertAction> undoStack = new Stack<IRevertAction>();
protected Stack<IRevertAction> redoStack = new Stack<IRevertAction>();
public bool HasUndo => undoStack.Count > 0;
public bool HasRedo => redoStack.Count > 0;
public void Undo()
{
if (undoStack.Count > 0)
redoStack.Push(undoStack.Pop().Revert());
}
public void Redo()
{
if (redoStack.Count > 0)
undoStack.Push(redoStack.Pop().Revert());
}
public void AddToUndo(IRevertAction revertable)
{
undoStack.Push(revertable);
redoStack.Clear();
}
public interface IRevertAction
{
IRevertAction Revert();
}
public class UndoActionTransform : IRevertAction
{
public Vector3F Translate;
public Vector3F Rotate;
public Vector2F Scale;
public float Width;
public float Height;
public BasePane targetPane;
public UndoActionTransform(BasePane pane)
{
targetPane = pane;
Translate = pane.Translate;
Scale = pane.Scale;
Rotate = pane.Rotate;
Width = pane.Width;
Height = pane.Height;
}
public IRevertAction Revert()
{
targetPane.Translate = Translate;
targetPane.Scale = Scale;
targetPane.Rotate = Rotate;
targetPane.Width = Width;
targetPane.Height = Height;
return this;
}
}
}
}

View File

@ -42,6 +42,7 @@
this.glControl1.VSync = false;
this.glControl1.Load += new System.EventHandler(this.glControl1_Load);
this.glControl1.Paint += new System.Windows.Forms.PaintEventHandler(this.glControl1_Paint);
this.glControl1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.glControl1_KeyDown);
this.glControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.glControl1_MouseDown);
this.glControl1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.glControl1_MouseMove);
this.glControl1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.glControl1_MouseUp);
@ -51,9 +52,9 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(609, 375);
this.Controls.Add(this.glControl1);
this.Name = "LayoutViewer";
this.Size = new System.Drawing.Size(609, 375);
this.ResumeLayout(false);
}

View File

@ -18,6 +18,8 @@ namespace LayoutBXLYT
{
public partial class LayoutViewer : LayoutControlDocked
{
public LayoutUndoManager UndoManger = new LayoutUndoManager();
public List<BasePane> SelectedPanes = new List<BasePane>();
public Camera2D Camera = new Camera2D();
@ -120,13 +122,21 @@ namespace LayoutBXLYT
}
if (GameWindow)
{
RenderGameWindow();
RenderScene();
}
else
{
RenderEditor();
RenderScene();
}
}
private void RenderGameWindow()
{
glControl1.MakeCurrent();
int WindowWidth = (int)LayoutFile.RootPane.Width;
int WindowHeight = (int)LayoutFile.RootPane.Height;
@ -150,11 +160,14 @@ namespace LayoutBXLYT
Camera.ModelViewMatrix = perspectiveMatrix;
}
RenderScene();
GL.ClearColor(BackgroundColor);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
}
private void RenderEditor()
{
glControl1.MakeCurrent();
GL.Viewport(0, 0, glControl1.Width, glControl1.Height);
GL.MatrixMode(MatrixMode.Projection);
GL.LoadIdentity();
@ -175,14 +188,19 @@ namespace LayoutBXLYT
Camera.ModelViewMatrix = perspectiveMatrix;
}
RenderScene();
GL.ClearColor(BackgroundColor);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
if (UseOrtho && !GameWindow)
{
GL.PushMatrix();
GL.Scale(Camera.Zoom, Camera.Zoom, 1);
GL.Translate(Camera.Position.X, Camera.Position.Y, 0);
}
}
private void RenderScene()
{
GL.ClearColor(BackgroundColor);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
// GL.Disable(EnableCap.CullFace);
GL.Enable(EnableCap.Blend);
GL.Enable(EnableCap.AlphaTest);
@ -193,13 +211,6 @@ namespace LayoutBXLYT
GL.BindTexture(TextureTarget.Texture2D, 0);
GL.BlendEquation(BlendEquationMode.FuncAdd);
if (UseOrtho && !GameWindow)
{
GL.PushMatrix();
GL.Scale(Camera.Zoom, Camera.Zoom, 1);
GL.Translate(Camera.Position.X, Camera.Position.Y, 0);
}
if (!GameWindow)
{
DrawRootPane(LayoutFile.RootPane);
@ -215,9 +226,71 @@ namespace LayoutBXLYT
GlobalShader.Compile();
}
bool PreviewHitbox = false;
if (PreviewHitbox)
{
foreach (var file in LayoutFiles)
{
foreach (var pane in file.PaneLookup.Values)
{
if (!pane.Visible || !pane.DisplayInEditor)
continue;
//Hitbox debug
var hitbox = pane.CreateRectangle();
hitbox = hitbox.GetTransformedRectangle(pane.Parent, pane.Translate, pane.Scale);
GL.Begin(PrimitiveType.Quads);
GL.Color4(Color.FromArgb(28, 255, 0, 0));
GL.Vertex2(hitbox.LeftPoint, hitbox.BottomPoint);
GL.Vertex2(hitbox.RightPoint, hitbox.BottomPoint);
GL.Vertex2(hitbox.RightPoint, hitbox.TopPoint);
GL.Vertex2(hitbox.LeftPoint, hitbox.TopPoint);
GL.End();
}
}
}
foreach (var layout in LayoutFiles)
RenderPanes(GlobalShader, layout.RootPane, true, 255, false, null, 0);
Vector2 TopLeft = new Vector2();
Vector2 BottomRight = new Vector2();
foreach (var pane in SelectedPanes)
{
var rect = pane.CreateRectangle();
TopLeft.X = Math.Min(TopLeft.X, rect.LeftPoint);
TopLeft.Y = Math.Max(TopLeft.Y, rect.TopPoint);
BottomRight.X = Math.Max(BottomRight.X, rect.RightPoint);
BottomRight.Y = Math.Min(BottomRight.Y, rect.BottomPoint);
if (pickAxis == PickAxis.Y)
{
GL.Begin(PrimitiveType.Lines);
GL.Color4(Color.Green);
GL.Vertex2(pane.Translate.X, -999999);
GL.Vertex2(pane.Translate.X, 99999);
GL.End();
}
if (pickAxis == PickAxis.X)
{
GL.Begin(PrimitiveType.Lines);
GL.Color4(Color.Red);
GL.Vertex2(-999999, pane.Translate.Y);
GL.Vertex2(99999, pane.Translate.Y);
GL.End();
}
}
//Create a bounding box for all selected panes
//This box will allow resizing of all selected panes
if (SelectedPanes.Count > 0)
{
}
if (UseOrtho)
GL.PopMatrix();
@ -226,6 +299,11 @@ namespace LayoutBXLYT
glControl1.SwapBuffers();
}
private void DrawRectangle()
{
}
private bool test = true;
private void RenderPanes(BxlytShader shader, BasePane pane, bool isRoot, byte parentAlpha, bool parentAlphaInfluence, BasePane partPane = null, int stage = 0)
{
@ -275,6 +353,7 @@ namespace LayoutBXLYT
rotate = rotate + pane.Rotate;
}
GL.Translate(translate.X, translate.Y, 0);
//Rotate normally unless the object uses shaders/materials
@ -302,12 +381,14 @@ namespace LayoutBXLYT
if (!isRoot)
{
bool isSelected = SelectedPanes.Contains(pane);
if (pane is IPicturePane)
BxlytToGL.DrawPictureBox(pane, GameWindow, effectiveAlpha, Textures);
BxlytToGL.DrawPictureBox(pane, GameWindow, effectiveAlpha, Textures, isSelected);
else if (pane is IWindowPane)
BxlytToGL.DrawWindowPane(pane, GameWindow, effectiveAlpha, Textures);
BxlytToGL.DrawWindowPane(pane, GameWindow, effectiveAlpha, Textures, isSelected);
else if (pane is IBoundryPane)
BxlytToGL.DrawBoundryPane(pane, GameWindow, effectiveAlpha, SelectedPanes);
BxlytToGL.DrawBoundryPane(pane, GameWindow, effectiveAlpha, isSelected);
else if (pane is ITextPane && Runtime.LayoutEditor.DisplayTextPane)
{
var textPane = (ITextPane)pane;
@ -326,14 +407,15 @@ namespace LayoutBXLYT
}
}
if (bitmap != null)
BxlytToGL.DrawTextbox(pane, GameWindow, bitmap, effectiveAlpha, Textures, SelectedPanes, textPane.RenderableFont == null);
BxlytToGL.DrawTextbox(pane, GameWindow, bitmap, effectiveAlpha,
Textures, SelectedPanes, textPane.RenderableFont == null, isSelected);
else
DrawDefaultPane(shader, pane);
}
else if (pane is BFLYT.SCR1)
BxlytToGL.DrawScissorPane(pane, GameWindow, effectiveAlpha, SelectedPanes);
BxlytToGL.DrawScissorPane(pane, GameWindow, effectiveAlpha, isSelected);
else if (pane is BFLYT.ALI1)
BxlytToGL.DrawAlignmentPane(pane, GameWindow, effectiveAlpha, SelectedPanes);
BxlytToGL.DrawAlignmentPane(pane, GameWindow, effectiveAlpha, isSelected);
else if (pane is BFLYT.PRT1)
DrawPartsPane(shader, (BFLYT.PRT1)pane, effectiveAlpha, parentAlphaInfluence);
else
@ -549,69 +631,276 @@ namespace LayoutBXLYT
private bool mouseHeldDown = false;
private bool isPicked = false;
private bool mouseMoving = false;
private Point originMouse;
private Point pickOriginMouse;
private Point pickMouse;
private Vector2 pickDistance;
private PickAction pickAction = PickAction.None;
private PickAxis pickAxis = PickAxis.All;
private bool snapToGrid = false;
private void glControl1_MouseDown(object sender, MouseEventArgs e)
{
SelectedPanes.Clear();
if (GameWindow)
return;
//Pick an object for moving
if (Control.ModifierKeys == Keys.Alt && e.Button == MouseButtons.Left)
pickAction = PickAction.None;
pickAxis = PickAxis.All;
if (Control.ModifierKeys == Keys.Shift && e.Button == MouseButtons.Left ||
e.Button == MouseButtons.Middle)
{
originMouse = e.Location;
mouseHeldDown = true;
glControl1.Invalidate();
}
//Pick an object for moving
else if (e.Button == MouseButtons.Left)
{
RenderEditor();
var coords = convertScreenToWorldCoords(e.Location.X, e.Location.Y);
bool hasEdgeHit = false;
foreach (var pane in SelectedPanes)
{
var edgePick = SearchEdgePicking(pane, coords.X, coords.Y);
if (edgePick != PickAction.None)
{
pickAction = edgePick;
isPicked = true;
hasEdgeHit = true;
UndoManger.AddToUndo(new LayoutUndoManager.UndoActionTransform(pane));
pickOriginMouse = e.Location;
RenderScene();
return;
}
}
BasePane hitPane = null;
SearchHit(LayoutFile.RootPane, e.X, e.Y, ref hitPane);
SearchHit(LayoutFile.RootPane, coords.X, coords.Y, ref hitPane);
if (hitPane != null)
{
pickAction = PickAction.Translate;
if (!SelectedPanes.Contains(hitPane))
SelectedPanes.Add(hitPane);
UpdateViewport();
foreach (var pane in SelectedPanes)
{
var edgePick = SearchEdgePicking(pane, coords.X, coords.Y);
if (edgePick != PickAction.None)
pickAction = edgePick;
Console.WriteLine(pane.Name + " " + pickAction);
}
foreach (var pane in SelectedPanes)
{
UndoManger.AddToUndo(new LayoutUndoManager.UndoActionTransform(pane));
}
ParentEditor.UpdateUndo();
ParentEditor.UpdateHiearchyNodeSelection(hitPane);
isPicked = true;
}
}
else if (e.Button == MouseButtons.Left)
{
mouseHeldDown = true;
originMouse = e.Location;
else if (!hasEdgeHit)
SelectedPanes.Clear();
BasePane hitPane = null;
foreach (var child in LayoutFile.RootPane.Childern)
SearchHit(child, e.X, e.Y, ref hitPane);
Console.WriteLine($"Has Hit " + hitPane != null);
if (hitPane != null)
{
SelectedPanes.Add(hitPane);
UpdateViewport();
pickOriginMouse = e.Location;
RenderScene();
}
glControl1.Invalidate();
}
Console.WriteLine("SelectedPanes " + SelectedPanes.Count);
}
private void SearchHit(BasePane pane, int X, int Y, ref BasePane SelectedPane)
{
if (pane.IsHit(X, Y))
{
if (pane.Visible && pane.DisplayInEditor && pane.IsHit(X, Y) && pane.Name != "RootPane")
SelectedPane = pane;
return;
}
foreach (var childPane in pane.Childern)
SearchHit(childPane, X, Y, ref SelectedPane);
}
private PickAction SearchEdgePicking(BasePane pane, int X, int Y)
{
var transformed = pane.CreateRectangle().GetTransformedRectangle(pane.Parent, pane.Translate, pane.Scale);
var leftTop = new Point(transformed.LeftPoint, transformed.TopPoint);
var left = new Point(transformed.LeftPoint, (transformed.BottomPoint + transformed.TopPoint) / 2);
var leftBottom = new Point(transformed.LeftPoint, transformed.BottomPoint);
var rightTop = new Point(transformed.RightPoint, transformed.TopPoint);
var right = new Point(transformed.RightPoint, (transformed.BottomPoint + transformed.TopPoint) / 2);
var rightBottom = new Point(transformed.RightPoint, transformed.BottomPoint);
var top = new Point((transformed.RightPoint + transformed.LeftPoint) / 2, transformed.TopPoint);
var bottom = new Point((transformed.RightPoint + transformed.LeftPoint) / 2, transformed.BottomPoint);
if ( IsEdgeHit(leftTop, X, Y)) return PickAction.DragTopLeft;
else if (IsEdgeHit(left, X, Y)) return PickAction.DragLeft;
else if (IsEdgeHit(leftBottom, X, Y)) return PickAction.DragBottomLeft;
else if (IsEdgeHit(rightTop, X, Y)) return PickAction.DragTopRight;
else if (IsEdgeHit(rightBottom, X, Y)) return PickAction.DragBottomRight;
else if (IsEdgeHit(right, X, Y)) return PickAction.DragRight;
else if (IsEdgeHit(top, X, Y)) return PickAction.DragTop;
else if (IsEdgeHit(bottom, X, Y)) return PickAction.DragBottom;
return PickAction.None;
}
private bool IsEdgeHit(Point point, int X, int Y, int size = 10)
{
if ((X > point.X - size) && (X < point.X + size) &&
(Y > point.Y - size) && (Y < point.Y + size))
return true;
else
return false;
}
private void glControl1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
if (e.Button == MouseButtons.Left || e.Button == MouseButtons.Middle)
{
pickAxis = PickAxis.All;
mouseHeldDown = false;
isPicked = false;
mouseMoving = false;
glControl1.Invalidate();
}
}
public enum PickAction
{
None,
DragTopRight,
DragTopLeft,
DragTop,
DragLeft,
DragRight,
DragBottom,
DragBottomLeft,
DragBottomRight,
Translate,
Scale,
Rotate
}
public enum PickAxis
{
All,
X,
Y,
Z,
}
private void glControl1_MouseMove(object sender, MouseEventArgs e)
{
if (GameWindow)
return;
if (UseOrtho)
GL.PopMatrix();
if (SelectedPanes.Count > 0)
{
RenderEditor();
var posWorld = convertScreenToWorldCoords(e.Location.X, e.Location.Y);
GL.PopMatrix();
//Setup edge picking with move event
bool isEdge = false;
foreach (var pane in SelectedPanes)
{
var pickState = SearchEdgePicking(pane, posWorld.X, posWorld.Y);
if (pickState != PickAction.None)
{
if (pickState == PickAction.DragTop)
Cursor.Current = Cursors.SizeNS;
if (pickState == PickAction.DragBottom)
Cursor.Current = Cursors.SizeNS;
if (pickState == PickAction.DragLeft)
Cursor.Current = Cursors.SizeWE;
if (pickState == PickAction.DragRight)
Cursor.Current = Cursors.SizeWE;
if (pickState == PickAction.DragBottomLeft)
Cursor.Current = Cursors.SizeNESW;
if (pickState == PickAction.DragBottomRight)
Cursor.Current = Cursors.SizeNWSE;
if (pickState == PickAction.DragTopLeft)
Cursor.Current = Cursors.SizeNWSE;
if (pickState == PickAction.DragTopRight)
Cursor.Current = Cursors.SizeNESW;
isEdge = true;
}
}
if (!isEdge)
Cursor.Current = Cursors.Default;
}
if (isPicked)
{
RenderEditor();
var temp = e.Location;
var curPos = convertScreenToWorldCoords(temp.X, temp.Y);
var prevPos = convertScreenToWorldCoords(pickOriginMouse.X, pickOriginMouse.Y);
var pickMouse = new Point((int)(prevPos.X - curPos.X), (int)(prevPos.Y - curPos.Y));
if (pickAction == PickAction.Translate)
{
foreach (var pane in SelectedPanes)
{
if (pickOriginMouse != Point.Empty)
{
float posX = pane.Translate.X;
float posY = pane.Translate.Y;
float posZ = pane.Translate.Z;
if (pickAxis == PickAxis.X)
posX = pane.Translate.X - pickMouse.X;
if (pickAxis == PickAxis.Y)
posY = pane.Translate.Y - pickMouse.Y;
if (pickAxis == PickAxis.All)
{
posX = pane.Translate.X - pickMouse.X;
posY = pane.Translate.Y - pickMouse.Y;
}
if (snapToGrid)
{
int gridCubeWidth = 16, gridCubeHeight = 16;
pane.Translate = new Syroot.Maths.Vector3F(
(float)(Math.Round(posX / gridCubeWidth) * gridCubeWidth),
(float)(Math.Round(posY / gridCubeHeight) * gridCubeHeight),
posZ);
}
else
{
pane.Translate = new Syroot.Maths.Vector3F( posX, posY, posZ);
}
}
}
}
else
{
//Setup edge picking with move event
foreach (var pane in SelectedPanes)
pane.TransformRectangle(pickAction, pickMouse.X, pickMouse.Y);
}
pickOriginMouse = temp;
RenderScene();
}
if (mouseHeldDown)
{
var pos = new Vector2(e.Location.X - originMouse.X, e.Location.Y - originMouse.Y);
@ -624,6 +913,45 @@ namespace LayoutBXLYT
}
}
public static Point convertScreenToWorldCoords(int x, int y)
{
int[] viewport = new int[4];
Matrix4 modelViewMatrix, projectionMatrix;
GL.GetFloat(GetPName.ModelviewMatrix, out modelViewMatrix);
GL.GetFloat(GetPName.ProjectionMatrix, out projectionMatrix);
GL.GetInteger(GetPName.Viewport, viewport);
Vector2 mouse;
mouse.X = x;
mouse.Y = y;
Vector4 vector = UnProject(ref projectionMatrix, modelViewMatrix, new Size(viewport[2], viewport[3]), mouse);
Point coords = new Point((int)vector.X, (int)vector.Y);
return coords;
}
public static Vector4 UnProject(ref Matrix4 projection, Matrix4 view, Size viewport, Vector2 mouse)
{
Vector4 vec;
vec.X = (2.0f * mouse.X / (float)viewport.Width - 1);
vec.Y = -(2.0f * mouse.Y / (float)viewport.Height - 1);
vec.Z = 0;
vec.W = 1.0f;
Matrix4 viewInv = Matrix4.Invert(view);
Matrix4 projInv = Matrix4.Invert(projection);
Vector4.Transform(ref vec, ref projInv, out vec);
Vector4.Transform(ref vec, ref viewInv, out vec);
if (vec.W > float.Epsilon || vec.W < float.Epsilon)
{
vec.X /= vec.W;
vec.Y /= vec.W;
vec.Z /= vec.W;
}
return vec;
}
protected override void OnMouseWheel(MouseEventArgs e)
{
base.OnMouseWheel(e);
@ -649,5 +977,31 @@ namespace LayoutBXLYT
{
glControl1.Invalidate();
}
private void glControl1_KeyDown(object sender, KeyEventArgs e)
{
if (isPicked && e.KeyCode == Keys.X)
{
pickAxis = PickAxis.X;
glControl1.Invalidate();
}
if (isPicked && e.KeyCode == Keys.Y)
{
pickAxis = PickAxis.Y;
glControl1.Invalidate();
}
else if (e.Control && e.KeyCode == Keys.Z) // Ctrl + Z undo
{
UndoManger.Undo();
ParentEditor.UpdateUndo();
glControl1.Invalidate();
}
else if (e.Control && e.KeyCode == Keys.R) // Ctrl + Z undo
{
UndoManger.Redo();
ParentEditor.UpdateUndo();
glControl1.Invalidate();
}
}
}
}

View File

@ -264,6 +264,7 @@
this.lodDisplayCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.lodDisplayCB.ButtonColor = System.Drawing.Color.Empty;
this.lodDisplayCB.FormattingEnabled = true;
this.lodDisplayCB.IsReadOnly = false;
this.lodDisplayCB.Items.AddRange(new object[] {
"Euler",
"Quaternion"});
@ -398,6 +399,7 @@
this.measureCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.measureCB.ButtonColor = System.Drawing.Color.Empty;
this.measureCB.FormattingEnabled = true;
this.measureCB.IsReadOnly = false;
this.measureCB.Items.AddRange(new object[] {
"Degrees",
"Radians"});
@ -421,6 +423,7 @@
this.rotModeCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.rotModeCB.ButtonColor = System.Drawing.Color.Empty;
this.rotModeCB.FormattingEnabled = true;
this.rotModeCB.IsReadOnly = false;
this.rotModeCB.Items.AddRange(new object[] {
"Euler",
"Quaternion"});
@ -863,6 +866,7 @@
this.materialComboBox1.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.materialComboBox1.ButtonColor = System.Drawing.Color.Empty;
this.materialComboBox1.FormattingEnabled = true;
this.materialComboBox1.IsReadOnly = false;
this.materialComboBox1.Location = new System.Drawing.Point(77, 7);
this.materialComboBox1.Name = "materialComboBox1";
this.materialComboBox1.Size = new System.Drawing.Size(227, 21);
@ -927,6 +931,7 @@
this.bonesCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.bonesCB.ButtonColor = System.Drawing.Color.Empty;
this.bonesCB.FormattingEnabled = true;
this.bonesCB.IsReadOnly = false;
this.bonesCB.Location = new System.Drawing.Point(77, 6);
this.bonesCB.Name = "bonesCB";
this.bonesCB.Size = new System.Drawing.Size(227, 21);
@ -1209,6 +1214,7 @@
this.lodPrimativeTypeCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.lodPrimativeTypeCB.ButtonColor = System.Drawing.Color.Empty;
this.lodPrimativeTypeCB.FormattingEnabled = true;
this.lodPrimativeTypeCB.IsReadOnly = false;
this.lodPrimativeTypeCB.Location = new System.Drawing.Point(101, 35);
this.lodPrimativeTypeCB.Name = "lodPrimativeTypeCB";
this.lodPrimativeTypeCB.Size = new System.Drawing.Size(137, 21);
@ -1222,6 +1228,7 @@
this.lodFormatCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
this.lodFormatCB.ButtonColor = System.Drawing.Color.Empty;
this.lodFormatCB.FormattingEnabled = true;
this.lodFormatCB.IsReadOnly = false;
this.lodFormatCB.Location = new System.Drawing.Point(101, 5);
this.lodFormatCB.Name = "lodFormatCB";
this.lodFormatCB.Size = new System.Drawing.Size(137, 21);

View File

@ -190,6 +190,16 @@ namespace FirstPlugin.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap LayoutAnimation {
get {
object obj = ResourceManager.GetObject("LayoutAnimation", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@ -193,4 +193,7 @@
<data name="OrthoView" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Layout\OrthoView.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LayoutAnimation" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LayoutAnimation.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

View File

@ -11,8 +11,26 @@ namespace Toolbox.Library.Animations
/// </summary>
public class STAnimGroup
{
/// <summary>
/// The name of the group.
/// </summary>
public string Name { get; set; }
/// <summary>
/// The category to place the group when displayed in the timeline.
/// </summary>
public string Category { get; set; }
public List<STAnimGroup> SubAnimGroups = new List<STAnimGroup>();
public virtual List<STAnimationTrack> GetTracks()
{
return new List<STAnimationTrack>();
}
public override string ToString()
{
return Name;
}
}
}

View File

@ -8,12 +8,20 @@ namespace Toolbox.Library.Animations
{
public class STAnimationTrack
{
public string Name { get; set; }
public STInterpoaltionType InterpolationType { get; set; }
public List<STKeyFrame> KeyFrames = new List<STKeyFrame>();
public bool HasKeys => KeyFrames.Count > 0;
public bool IsKeyed(float frame)
{
var matches = KeyFrames.Where(p => p.Frame == frame);
return matches != null && matches.Count() > 0;
}
//Key frame setup based on
//https://github.com/gdkchan/SPICA/blob/42c4181e198b0fd34f0a567345ee7e75b54cb58b/SPICA/Formats/CtrH3D/Animation/H3DFloatKeyFrameGroup.cs
public float GetFrameValue(float frame, float startFrame = 0)

View File

@ -8,18 +8,14 @@ namespace Toolbox.Library.Animations
{
public class STKeyFrame
{
public virtual float Slope { get; set; }
public virtual float Frame { get; set; }
public virtual float Value { get; set; }
}
public class STHermiteKeyFrame : STKeyFrame
{
public float Slope { get; set; }
}
public virtual float Slope { get; set; }
public class STLinearKeyFrame : STKeyFrame
{
public float Delta { get; set; }
public virtual float Coef0 { get; set; }
public virtual float Coef1 { get; set; }
public virtual float Coef2 { get; set; }
public virtual float Coef3 { get; set; }
}
}

View File

@ -1,71 +0,0 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Toolbox.Library.Forms
{
class BoneAnimTimeline : TimeLine
{
int[] keyFrames = new int[] { 0, 5, 15, 20, 40, 100 };
protected static int lineHeight = TextRenderer.MeasureText("§", font).Height;
protected int scrollY = 0;
protected int trackCount = 30;
public BoneAnimTimeline()
{
margin = 100;
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.FillRectangle(brush3, new Rectangle(0, 0, margin, Height));
e.Graphics.SetClip(new Rectangle(0, barHeight, Width, Height - barHeight));
bool v = false;
int y = -scrollY;
for (int _i = 0; _i < trackCount; _i++)
{
e.Graphics.DrawString("bone" + _i, font, brush5, new Point(10, barHeight + y));
for (int i = 1; i < keyFrames.Length; i++)
{
int l = Math.Max(-20, (int)((
keyFrames[i - 1]
- frameLeft) * (Width - 40 - margin) / (frameRight - frameLeft)));
int r = (int)((
keyFrames[i]
- frameLeft) * (Width - 40 - margin) / (frameRight - frameLeft));
if (v = !v)
e.Graphics.FillRectangle(brush5, new Rectangle(l + margin + 20, barHeight + y, r - l, lineHeight));
}
y += lineHeight;
}
base.OnPaint(e);
}
protected override void OnMouseWheel(MouseEventArgs e)
{
if (e.X < margin)
{
scrollY = Math.Max(Math.Min(trackCount * lineHeight + barHeight - Height, scrollY - e.Delta / 2), 0);
Refresh();
}
else
base.OnMouseWheel(e);
}
protected override void OnResize(EventArgs e)
{
scrollY = Math.Max(Math.Min(trackCount * lineHeight + barHeight - Height, scrollY), 0);
base.OnResize(e);
}
}
}

View File

@ -0,0 +1,259 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Animations;
namespace Toolbox.Library.Forms
{
public class KeyedAnimTimeline : TimeLine
{
public EventHandler OnNodeSelected;
public bool DisplayKeys = true;
private STAnimation activeAnimation;
public STAnimation ActiveAnimation
{
get { return activeAnimation; }
set
{
activeAnimation = value;
PopulateTree();
}
}
protected static int lineHeight = TextRenderer.MeasureText("§", font).Height;
protected int scrollY = 0;
private int trackCount = 0;
private TreeView NodeTree;
private Splitter splitter;
private ImageList imgList = new ImageList();
public KeyedAnimTimeline()
{
imgList = new ImageList()
{
ImageSize = new Size(24, 24),
ColorDepth = ColorDepth.Depth32Bit,
};
/* imgList.Images.Add("AnimationGroup", Properties.Resources.AnimationGroup);
imgList.Images.Add("AnimationTrack", Properties.Resources.AnimationTrack);
imgList.Images.Add("AnimationTrackR", Properties.Resources.AnimationTrackR);
imgList.Images.Add("AnimationTrackG", Properties.Resources.AnimationTrackG);
imgList.Images.Add("AnimationTrackB", Properties.Resources.AnimationTrackB);
imgList.Images.Add("AnimationTrackA", Properties.Resources.AnimationTrackA);
imgList.Images.Add("AnimationTrackX", Properties.Resources.AnimationTrackX);
imgList.Images.Add("AnimationTrackY", Properties.Resources.AnimationTrackY);
imgList.Images.Add("AnimationTrackZ", Properties.Resources.AnimationTrackZ);
imgList.Images.Add("AnimationTrackW", Properties.Resources.AnimationTrackW);
NodeTree = new TreeView();
NodeTree.ImageList = imgList;
NodeTree.Dock = DockStyle.Left;
// NodeTree.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left;
NodeTree.Height = this.Height;
NodeTree.Width = 300;
NodeTree.BackColor = FormThemes.BaseTheme.FormBackColor;
NodeTree.ForeColor = FormThemes.BaseTheme.FormForeColor;
NodeTree.AfterSelect += NodeTree_OnAfterNodeSelect;
NodeTree.BeforeExpand += NodeTree_OnExpand;
NodeTree.AfterExpand += NodeTree_OnExpand;
NodeTree.BeforeCollapse += NodeTree_OnExpand;
NodeTree.AfterCollapse += NodeTree_OnExpand;
Controls.Add(NodeTree);
splitter = new Splitter();
splitter.Dock = DockStyle.Left;
splitter.LocationChanged += SpitterLocationChanged;
Controls.Add(splitter);
margin = NodeTree.Width;*/
}
private void PopulateTree()
{
if (ActiveAnimation == null || NodeTree == null || !DisplayKeys) return;
NodeTree.Nodes.Clear();
foreach (var group in ActiveAnimation.AnimGroups)
{
if (group.Category != string.Empty)
{
var categoryNode = AddCategoryNode(NodeTree.Nodes, group.Category);
AddGroup(categoryNode.Nodes, group);
}
else
AddGroup(NodeTree.Nodes, group);
}
}
private TreeNode AddCategoryNode(TreeNodeCollection nodes, string name)
{
foreach (TreeNode node in nodes)
if (node.Text == name) return node;
var newNode = new TreeNode(name);
NodeTree.Nodes.Add(newNode);
return newNode;
}
private void AddGroup(TreeNodeCollection nodes, STAnimGroup group)
{
TreeNode groupNode = new TreeNode(group.Name)
{ Tag = group, ImageKey = "AnimationGroup", };
nodes.Add(groupNode);
foreach (var subGroup in group.SubAnimGroups)
AddGroup(groupNode.Nodes, subGroup);
foreach (var track in group.GetTracks())
{
if (!track.HasKeys)
continue;
string imageKey = "AnimationTrack";
if (track.Name.EndsWith("R")) imageKey = "AnimationTrackR";
if (track.Name.EndsWith("G")) imageKey = "AnimationTrackG";
if (track.Name.EndsWith("B")) imageKey = "AnimationTrackB";
if (track.Name.EndsWith("A")) imageKey = "AnimationTrackA";
if (track.Name.EndsWith("X")) imageKey = "AnimationTrackX";
if (track.Name.EndsWith("Y")) imageKey = "AnimationTrackY";
if (track.Name.EndsWith("Z")) imageKey = "AnimationTrackZ";
if (track.Name.EndsWith("W")) imageKey = "AnimationTrackW";
TreeNode trackNode = new TreeNode(track.Name)
{ Tag = track, ImageKey = imageKey, SelectedImageKey = imageKey, };
groupNode.Nodes.Add(trackNode);
}
}
private void NodeTree_OnExpand(object sender, EventArgs e)
{
this.Invalidate();
}
private void NodeTree_OnAfterNodeSelect(object sender, TreeViewEventArgs e)
{
OnNodeSelected?.Invoke(sender, e);
this.Invalidate();
}
private void SpitterLocationChanged(object sender, EventArgs e)
{
margin = splitter.Location.X;
this.Invalidate();
}
protected override void OnPaint(PaintEventArgs e)
{
if (!DisplayKeys)
{
base.OnPaint(e);
return;
}
e.Graphics.FillRectangle(brush3, new Rectangle(0, 0, margin, Height));
e.Graphics.SetClip(new Rectangle(0, barHeight, Width, Height - barHeight));
bool v = false;
int y = -scrollY - 10;
trackCount = 0;
if (ActiveAnimation != null)
{
foreach (var node in TreeViewExtensions.Collect(NodeTree.Nodes))
{
if (node.Parent != null && node.Tag is STAnimationTrack && node.Parent.IsVisible && node.Parent.IsExpanded)
{
var track = node.Tag as STAnimationTrack;
if (!track.HasKeys)
continue;
for (int i = 1; i < track.KeyFrames.Count; i++)
{
int l = Math.Max(-20, (int)((
track.KeyFrames[i - 1].Frame
- frameLeft) * (Width - 40 - margin) / (frameRight - frameLeft)));
int r = (int)((
track.KeyFrames[i].Frame
- frameLeft) * (Width - 40 - margin) / (frameRight - frameLeft));
if (v = !v)
{
var keyColor = new SolidBrush(Color.Yellow);
switch (node.ImageKey)
{
case "AnimationTrackR":
case "AnimationTrackX":
keyColor = new SolidBrush(Color.Red);
break;
case "AnimationTrackG":
case "AnimationTrackY":
keyColor = new SolidBrush(Color.Green);
break;
case "AnimationTrackB":
case "AnimationTrackZ":
keyColor = new SolidBrush(Color.Blue);
break;
case "AnimationTrackA":
case "AnimationTrackW":
keyColor = new SolidBrush(Color.Gray);
break;
}
if (node.IsSelected)
keyColor = new SolidBrush(Color.White);
e.Graphics.FillEllipse(keyColor, new Rectangle(l + margin + 20, barHeight + y, 5, lineHeight));
}
}
}
if (node.IsVisible)
y += NodeTree.ItemHeight;
}
}
base.OnPaint(e);
}
protected override void OnMouseWheel(MouseEventArgs e)
{
if (e.X < margin)
{
scrollY = Math.Max(Math.Min(trackCount * lineHeight + barHeight - Height, scrollY - e.Delta / 2), 0);
Refresh();
}
else
base.OnMouseWheel(e);
}
protected override void OnResize(EventArgs e)
{
scrollY = Math.Max(Math.Min(trackCount * lineHeight + barHeight - Height, scrollY), 0);
base.OnResize(e);
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// KeyedAnimTimeline
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.Name = "KeyedAnimTimeline";
this.ResumeLayout(false);
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -35,7 +35,7 @@
this.currentFrameUpDown = new System.Windows.Forms.NumericUpDown();
this.animationPlayBtn = new System.Windows.Forms.Button();
this.stPanel1 = new Toolbox.Library.Forms.STPanel();
this.animationTrackBar = new Toolbox.Library.Forms.TimeLine();
this.animationTrackBar = new Toolbox.Library.Forms.KeyedAnimTimeline();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.totalFrame)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.currentFrameUpDown)).BeginInit();
@ -170,6 +170,6 @@
private System.Windows.Forms.NumericUpDown currentFrameUpDown;
private Forms.STPanel stPanel1;
private Forms.STCheckBox loopChkBox;
private Forms.TimeLine animationTrackBar;
private Forms.KeyedAnimTimeline animationTrackBar;
}
}

View File

@ -13,8 +13,27 @@ using Toolbox.Library.Animations;
namespace Toolbox.Library
{
public enum AnimPlayerState
{
Playing,
Pause,
Stop,
}
public partial class STAnimationPanel : STUserControl
{
public EventHandler OnNodeSelected
{
get { return animationTrackBar.OnNodeSelected; }
set { animationTrackBar.OnNodeSelected = value; }
}
public bool DisplayKeys
{
get { return animationTrackBar.DisplayKeys; }
set { animationTrackBar.DisplayKeys = value; }
}
private OpenTK.GLControl _viewport;
public virtual OpenTK.GLControl Viewport
{
@ -44,14 +63,9 @@ namespace Toolbox.Library
_viewport = control;
}
public PlayerState AnimationPlayerState = PlayerState.Stop;
public EventHandler AnimationPlaying;
public enum PlayerState
{
Playing,
Pause,
Stop,
}
public AnimPlayerState AnimationPlayerState = AnimPlayerState.Stop;
public bool IsLooping
{
@ -63,7 +77,7 @@ namespace Toolbox.Library
{
get
{
return AnimationPlayerState == PlayerState.Playing;
return AnimationPlayerState == AnimPlayerState.Playing;
}
}
@ -108,6 +122,7 @@ namespace Toolbox.Library
totalFrame.Maximum = (decimal)FrameCount;
totalFrame.Value = (decimal)FrameCount;
currentFrameUpDown.Maximum = (decimal)FrameCount;
animationTrackBar.ActiveAnimation = animation;
animationTrackBar.FrameCount = (float)FrameCount;
currentFrameUpDown.Value = 0;
@ -141,6 +156,8 @@ namespace Toolbox.Library
BackColor = FormThemes.BaseTheme.FormBackColor;
ForeColor = FormThemes.BaseTheme.FormForeColor;
DisplayKeys = false;
animationTrackBar.BackColor = FormThemes.BaseTheme.FormBackColor;
animationTrackBar.ForeColor = FormThemes.BaseTheme.FormForeColor;
animationTrackBar.FrameChanged += new EventHandler(animationTrackBar_ValueChanged);
@ -173,7 +190,7 @@ namespace Toolbox.Library
private void Play()
{
AnimationPlayerState = PlayerState.Playing;
AnimationPlayerState = AnimPlayerState.Playing;
UpdateAnimationUI();
animationTrackBar.Play();
animationTimer.Start();
@ -181,7 +198,7 @@ namespace Toolbox.Library
private void Pause()
{
AnimationPlayerState = PlayerState.Stop;
AnimationPlayerState = AnimPlayerState.Stop;
UpdateAnimationUI();
animationTrackBar.Stop();
animationTimer.Stop();
@ -190,7 +207,7 @@ namespace Toolbox.Library
private void Stop()
{
currentFrameUpDown.Value = 0;
AnimationPlayerState = PlayerState.Stop;
AnimationPlayerState = AnimPlayerState.Stop;
UpdateAnimationUI();
animationTimer.Stop();
}
@ -253,7 +270,7 @@ namespace Toolbox.Library
if (currentAnimations.Count == 0 || FrameCount <= 0)
return;
if (AnimationPlayerState == PlayerState.Playing)
if (AnimationPlayerState == AnimPlayerState.Playing)
Pause();
else
Play();
@ -336,6 +353,7 @@ namespace Toolbox.Library
float animFrameNum = frameNum;
anim.SetFrame(animFrameNum);
AnimationPlaying?.Invoke(anim, new EventArgs());
anim.NextFrame();
//Add frames to the playing animation

View File

@ -0,0 +1,220 @@
namespace Toolbox.Library.Forms
{
partial class MiniAnimationPlayer
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MiniAnimationPlayer));
this.stPanel3 = new Toolbox.Library.Forms.STPanel();
this.loopChkBox = new Toolbox.Library.Forms.STCheckBox();
this.animationTrackBar = new ColorSlider.ColorSlider();
this.totalFrame = new Toolbox.Library.Forms.STNumbericUpDown();
this.currentFrameUpDown = new Toolbox.Library.Forms.STNumbericUpDown();
this.stPanel4 = new Toolbox.Library.Forms.STPanel();
this.btnStop = new Toolbox.Library.Forms.STButton();
this.btnForward1 = new Toolbox.Library.Forms.STButton();
this.btnPlay = new Toolbox.Library.Forms.STButton();
this.btnBackward1 = new Toolbox.Library.Forms.STButton();
((System.ComponentModel.ISupportInitialize)(this.totalFrame)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.currentFrameUpDown)).BeginInit();
this.stPanel4.SuspendLayout();
this.SuspendLayout();
//
// stPanel3
//
this.stPanel3.Dock = System.Windows.Forms.DockStyle.Bottom;
this.stPanel3.Location = new System.Drawing.Point(0, 3);
this.stPanel3.Name = "stPanel3";
this.stPanel3.Size = new System.Drawing.Size(467, 68);
this.stPanel3.TabIndex = 5;
this.stPanel3.Controls.Add(this.loopChkBox);
this.stPanel3.Controls.Add(this.animationTrackBar);
this.stPanel3.Controls.Add(this.totalFrame);
this.stPanel3.Controls.Add(this.currentFrameUpDown);
this.stPanel3.Controls.Add(this.stPanel4);
//
// loopChkBox
//
this.loopChkBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.loopChkBox.AutoSize = true;
this.loopChkBox.Checked = true;
this.loopChkBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.loopChkBox.Location = new System.Drawing.Point(340, 5);
this.loopChkBox.Name = "loopChkBox";
this.loopChkBox.Size = new System.Drawing.Size(50, 17);
this.loopChkBox.TabIndex = 17;
this.loopChkBox.Text = "Loop";
this.loopChkBox.UseVisualStyleBackColor = true;
//
// animationTrackBar
//
this.animationTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.animationTrackBar.BarInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.animationTrackBar.BarPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.animationTrackBar.BarPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.animationTrackBar.BorderRoundRectSize = new System.Drawing.Size(8, 8);
this.animationTrackBar.ElapsedInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.animationTrackBar.ElapsedPenColorBottom = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.animationTrackBar.ElapsedPenColorTop = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.animationTrackBar.Font = new System.Drawing.Font("Microsoft Sans Serif", 6F);
this.animationTrackBar.ForeColor = System.Drawing.Color.White;
this.animationTrackBar.LargeChange = ((uint)(5u));
this.animationTrackBar.Location = new System.Drawing.Point(6, 46);
this.animationTrackBar.Maximum = 1000;
this.animationTrackBar.MouseEffects = false;
this.animationTrackBar.Name = "animationTrackBar";
this.animationTrackBar.ScaleDivisions = 10;
this.animationTrackBar.ScaleSubDivisions = 5;
this.animationTrackBar.ShowDivisionsText = true;
this.animationTrackBar.ShowSmallScale = false;
this.animationTrackBar.Size = new System.Drawing.Size(443, 19);
this.animationTrackBar.SmallChange = ((uint)(1u));
this.animationTrackBar.TabIndex = 16;
this.animationTrackBar.Text = "colorSlider1";
this.animationTrackBar.ThumbInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.animationTrackBar.ThumbPenColor = System.Drawing.Color.Silver;
this.animationTrackBar.ThumbRoundRectSize = new System.Drawing.Size(8, 8);
this.animationTrackBar.ThumbSize = new System.Drawing.Size(8, 8);
this.animationTrackBar.TickAdd = 0F;
this.animationTrackBar.TickColor = System.Drawing.Color.White;
this.animationTrackBar.TickDivide = 0F;
this.animationTrackBar.TickStyle = System.Windows.Forms.TickStyle.None;
this.animationTrackBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.animationTrackBar_Scroll);
//
// totalFrame
//
this.totalFrame.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.totalFrame.Location = new System.Drawing.Point(340, 25);
this.totalFrame.Name = "totalFrame";
this.totalFrame.Size = new System.Drawing.Size(109, 20);
this.totalFrame.TabIndex = 15;
this.totalFrame.ValueChanged += new System.EventHandler(this.totalFrame_ValueChanged);
//
// currentFrameUpDown
//
this.currentFrameUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.currentFrameUpDown.Location = new System.Drawing.Point(8, 25);
this.currentFrameUpDown.Name = "currentFrameUpDown";
this.currentFrameUpDown.Size = new System.Drawing.Size(109, 20);
this.currentFrameUpDown.TabIndex = 14;
this.currentFrameUpDown.ValueChanged += new System.EventHandler(this.currentFrameUpDown_ValueChanged);
//
// stPanel4
//
this.stPanel4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.stPanel4.Controls.Add(this.btnStop);
this.stPanel4.Controls.Add(this.btnForward1);
this.stPanel4.Controls.Add(this.btnPlay);
this.stPanel4.Controls.Add(this.btnBackward1);
this.stPanel4.Location = new System.Drawing.Point(123, 7);
this.stPanel4.Name = "stPanel4";
this.stPanel4.Size = new System.Drawing.Size(212, 41);
this.stPanel4.TabIndex = 13;
//
// btnStop
//
this.btnStop.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnStop.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnStop.BackgroundImage")));
this.btnStop.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.btnStop.FlatAppearance.BorderSize = 0;
this.btnStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStop.Location = new System.Drawing.Point(153, 6);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(35, 27);
this.btnStop.TabIndex = 3;
this.btnStop.UseVisualStyleBackColor = false;
//
// btnForward1
//
this.btnForward1.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnForward1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnForward1.BackgroundImage")));
this.btnForward1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.btnForward1.FlatAppearance.BorderSize = 0;
this.btnForward1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnForward1.Location = new System.Drawing.Point(110, 10);
this.btnForward1.Name = "btnForward1";
this.btnForward1.Size = new System.Drawing.Size(23, 20);
this.btnForward1.TabIndex = 2;
this.btnForward1.UseVisualStyleBackColor = false;
//
// btnPlay
//
this.btnPlay.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnPlay.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnPlay.BackgroundImage")));
this.btnPlay.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.btnPlay.FlatAppearance.BorderSize = 0;
this.btnPlay.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlay.Location = new System.Drawing.Point(58, 6);
this.btnPlay.Name = "btnPlay";
this.btnPlay.Size = new System.Drawing.Size(35, 28);
this.btnPlay.TabIndex = 0;
this.btnPlay.UseVisualStyleBackColor = false;
this.btnPlay.Click += new System.EventHandler(this.btnPlay_Click);
//
// btnBackward1
//
this.btnBackward1.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnBackward1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnBackward1.BackgroundImage")));
this.btnBackward1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.btnBackward1.FlatAppearance.BorderSize = 0;
this.btnBackward1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBackward1.Location = new System.Drawing.Point(19, 10);
this.btnBackward1.Name = "btnBackward1";
this.btnBackward1.Size = new System.Drawing.Size(20, 20);
this.btnBackward1.TabIndex = 1;
this.btnBackward1.UseVisualStyleBackColor = false;
//
// MiniAnimationPlayer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.stPanel3);
this.Name = "MiniAnimationPlayer";
this.Size = new System.Drawing.Size(467, 71);
((System.ComponentModel.ISupportInitialize)(this.totalFrame)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.currentFrameUpDown)).EndInit();
this.stPanel4.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private STPanel stPanel3;
private STCheckBox loopChkBox;
private ColorSlider.ColorSlider animationTrackBar;
private STNumbericUpDown totalFrame;
private STNumbericUpDown currentFrameUpDown;
private STPanel stPanel4;
private STButton btnStop;
private STButton btnForward1;
private STButton btnPlay;
private STButton btnBackward1;
}
}

View File

@ -0,0 +1,255 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Toolbox.Library.Animations;
namespace Toolbox.Library.Forms
{
public partial class MiniAnimationPlayer : UserControl
{
public EventHandler OnAnimationFrameAdvance;
public AnimPlayerState AnimationPlayerState = AnimPlayerState.Stop;
public bool IsPlaying
{
get
{
return AnimationPlayerState == AnimPlayerState.Playing;
}
}
public bool IsLooping
{
get { return loopChkBox.Checked; }
set { loopChkBox.Checked = value; }
}
public float Frame
{
set
{
UpdateFrame(value);
}
}
public float FrameCount
{
get
{
float frameCount = 1;
for (int i = 0; i < currentAnimations.Count; i++)
frameCount = Math.Max(frameCount, currentAnimations[i].FrameCount);
return frameCount;
}
}
public void Reset()
{
currentAnimations.Clear();
}
private List<STAnimation> currentAnimations = new List<STAnimation>();
public void AddAnimation(STAnimation animation, bool reset = true)
{
if (animation == null)
return;
if (reset)
Reset();
currentAnimations.Add(animation);
animation.Reset();
totalFrame.Maximum = (decimal)FrameCount;
totalFrame.Value = (decimal)FrameCount;
currentFrameUpDown.Maximum = (decimal)FrameCount;
currentFrameUpDown.Value = 0;
animationTrackBar.Maximum = (int)FrameCount;
SetAnimationsToFrame(0);
}
public MiniAnimationPlayer()
{
InitializeComponent();
stPanel3.BackColor = FormThemes.BaseTheme.FormBackColor;
stPanel4.BackColor = FormThemes.BaseTheme.FormBackColor;
SetupTimer();
}
private Timer animationTimer;
private void SetupTimer()
{
animationTimer = new Timer
{
Interval = 100 / 60
};
animationTimer.Tick += new EventHandler(animationTimer_Tick);
}
private void animationTimer_Tick(object sender, EventArgs e)
{
UpdateAnimationFrame();
}
private void Play()
{
AnimationPlayerState = AnimPlayerState.Playing;
UpdateAnimationUI();
animationTimer.Start();
}
private void Pause()
{
AnimationPlayerState = AnimPlayerState.Stop;
UpdateAnimationUI();
animationTimer.Stop();
}
private void Stop()
{
currentFrameUpDown.Value = 0;
AnimationPlayerState = AnimPlayerState.Stop;
UpdateAnimationUI();
animationTimer.Stop();
}
private void UpdateAnimationUI()
{
btnPlay.BackgroundImage = IsPlaying ? Properties.Resources.stop
: Properties.Resources.arrowR;
}
private void UpdateAnimationFrame()
{
if (IsPlaying)
{
if (currentFrameUpDown.InvokeRequired)
{
currentFrameUpDown.BeginInvoke((Action)(() =>
{
AdvanceNextFrame();
}));
}
else
{
AdvanceNextFrame();
}
}
}
private void AdvanceNextFrame()
{
if (animationTrackBar.Value == FrameCount - 1)
{
if (IsLooping)
currentFrameUpDown.Value = 0;
else
Stop();
}
else
{
if (currentFrameUpDown.Value < totalFrame.Value)
currentFrameUpDown.Value++;
}
currentFrameUpDown.Refresh();
totalFrame.Refresh();
}
public void UpdateFrame(float frame)
{
if (frame < (float)currentFrameUpDown.Maximum && frame > (float)currentFrameUpDown.Minimum)
currentFrameUpDown.Value = (decimal)frame;
currentFrameUpDown.Refresh();
}
private void currentFrameUpDown_ValueChanged(object sender, EventArgs e) {
if (currentFrameUpDown.Value > totalFrame.Value)
currentFrameUpDown.Value = totalFrame.Value;
animationTrackBar.Value = (int)currentFrameUpDown.Value;
OnFrameAdvanced();
}
private void totalFrame_ValueChanged(object sender, EventArgs e)
{
if (currentAnimations.Count == 0) return;
if (totalFrame.Value < 1)
{
totalFrame.Value = 1;
}
else
{
animationTrackBar.Value = 0;
}
}
private void OnFrameAdvanced()
{
SetAnimationsToFrame(animationTrackBar.Value);
}
private void SetAnimationsToFrame(float frameNum)
{
if (currentAnimations.Count == 0)
return;
foreach (var anim in currentAnimations)
{
if (frameNum > anim.FrameCount)
continue;
float animFrameNum = frameNum;
anim.SetFrame(animFrameNum);
anim.NextFrame();
OnAnimationFrameAdvance?.Invoke(anim, new EventArgs());
//Add frames to the playing animation
anim.Frame += frameNum;
//Reset it when it reaches the total frame count
if (anim.Frame >= anim.FrameCount && anim.Loop)
{
anim.Frame = 0;
}
}
}
private void animationTrackBar_Scroll(object sender, ScrollEventArgs e) {
if (currentAnimations.Count == 0 || totalFrame.Value <= 0)
return;
currentFrameUpDown.Value = (decimal)animationTrackBar.Value;
}
private void btnPlay_Click(object sender, EventArgs e)
{
if (currentAnimations.Count == 0 || FrameCount <= 0)
return;
if (AnimationPlayerState == AnimPlayerState.Playing)
Pause();
else
Play();
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,78 @@
namespace Toolbox.Library.Forms
{
partial class AlphaSelectorHorizontalPanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.alphaPanel = new Toolbox.Library.Forms.STPanel();
this.alphaSolidBP = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.alphaSolidBP)).BeginInit();
this.SuspendLayout();
//
// alphaPanel
//
this.alphaPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.alphaPanel.Location = new System.Drawing.Point(0, 0);
this.alphaPanel.Name = "alphaPanel";
this.alphaPanel.Size = new System.Drawing.Size(264, 35);
this.alphaPanel.TabIndex = 3;
this.alphaPanel.Paint += new System.Windows.Forms.PaintEventHandler(this.alphaPanel_Paint);
this.alphaPanel.MouseDown += new System.Windows.Forms.MouseEventHandler(this.alphaPanel_MouseDown);
this.alphaPanel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.alphaPanel_MouseMove);
this.alphaPanel.MouseUp += new System.Windows.Forms.MouseEventHandler(this.alphaPanel_MouseUp);
//
// alphaSolidBP
//
this.alphaSolidBP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.alphaSolidBP.Location = new System.Drawing.Point(270, 0);
this.alphaSolidBP.Name = "alphaSolidBP";
this.alphaSolidBP.Size = new System.Drawing.Size(30, 35);
this.alphaSolidBP.TabIndex = 4;
this.alphaSolidBP.TabStop = false;
this.alphaSolidBP.Click += new System.EventHandler(this.pictureBox2_Click);
//
// AlphaSelectorHorizontalPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.alphaSolidBP);
this.Controls.Add(this.alphaPanel);
this.Name = "AlphaSelectorHorizontalPanel";
this.Size = new System.Drawing.Size(303, 38);
((System.ComponentModel.ISupportInitialize)(this.alphaSolidBP)).EndInit();
this.ResumeLayout(false);
}
#endregion
private STPanel alphaPanel;
private System.Windows.Forms.PictureBox alphaSolidBP;
}
}

View File

@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Drawing;
using Toolbox.Library.IO;
namespace Toolbox.Library.Forms
{
public partial class AlphaSelectorHorizontalPanel : UserControl
{
public AlphaSelectorHorizontalPanel()
{
InitializeComponent();
}
public event EventHandler AlphaChanged;
private int _alpha;
public int Alpha
{
get { return _alpha; }
set
{
_alpha = value;
OnAlphaChanged(false);
alphaPanel.Invalidate();
}
}
protected virtual void OnAlphaChanged(bool hsvToRgb)
{
alphaSolidBP.BackColor = Color.FromArgb(255, Alpha, Alpha, Alpha);
}
private bool _alphaBarSelected = false;
private int alphaX;
private void alphaPanel_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
_alphaBarSelected = true;
alphaPanel_MouseMove(sender, e);
}
}
private void alphaPanel_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
_alphaBarSelected = false;
}
private void alphaPanel_MouseMove(object sender, MouseEventArgs e)
{
if (_alphaBarSelected)
{
int x = Math.Max(Math.Min(e.X, (alphaPanel.Width - 1)), 0);
if (x != alphaX)
{
alphaX = x;
Alpha = (byte)(255 - ((float)x / (alphaPanel.Width - 1) * 255));
if (AlphaChanged != null)
AlphaChanged(this, null);
}
}
}
private void alphaPanel_Paint(object sender, PaintEventArgs e)
{
var alphaBrush = new LinearGradientBrush(new Rectangle(0, 0, alphaPanel.Width, alphaPanel.Height), Color.White, Color.Black, LinearGradientMode.Horizontal);
Graphics g = e.Graphics;
if (!alphaPanel.Enabled)
{
for (int i = 0; i < alphaBrush.LinearColors.Length; i++)
alphaBrush.LinearColors[i] = alphaBrush.LinearColors[i].Darken(190);
}
//Draw bar
g.FillRectangle(alphaBrush, alphaPanel.ClientRectangle);
//Draw indicator
byte col = (byte)(255 - Alpha);
Color p = Color.FromArgb(255, col, col, col);
int x = (int)(col / 255.0f * (alphaPanel.Width - 1));
Rectangle r = new Rectangle(x, -1, 4, alphaPanel.Height + 1);
using (Pen pen = new Pen(p))
g.DrawRectangle(pen, r);
p.Lighten(64);
r.X += 1;
r.Width -= 2;
using (Pen pen = new Pen(p))
g.DrawRectangle(pen, r);
}
private void pictureBox2_Click(object sender, EventArgs e)
{
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -18,7 +18,6 @@ namespace Toolbox.Library.Forms
this.BackgroundImage = Properties.Resources.CheckerBackground;
this.BackColor = Color.Transparent;
this.SetStyle(
ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint |

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace Toolbox.Library.Forms
{
public class ColorFullAlphaBox : STPanel
{
public Color Color { get; set; }
public ColorFullAlphaBox()
{
this.BackgroundImage = Properties.Resources.CheckerBackground;
this.BackColor = Color.Transparent;
this.SetStyle(
ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint |
ControlStyles.DoubleBuffer,
true);
}
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
pe.Graphics.PixelOffsetMode = PixelOffsetMode.Half;
Brush RGBAColor = new SolidBrush(Color.FromArgb(Color.A, Color.R, Color.G, Color.B));
pe.Graphics.FillRectangle(RGBAColor, ClientRectangle);
base.OnPaint(pe);
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,203 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
using Toolbox.Library.IO;
namespace Toolbox.Library.Forms
{
public class VertexColorBox : STPanel
{
public EventHandler OnColorChanged;
private Color TLColor;
private Color TRColor;
private Color BLColor;
private Color BRColor;
private Color AllColor = Color.White;
public Color TopLeftColor
{
get { return TLColor; }
set
{
TLColor = value;
ColorChanged();
}
}
public Color TopRightColor
{
get { return TRColor; }
set
{
TRColor = value;
ColorChanged();
}
}
public Color BottomLeftColor
{
get { return BLColor; }
set
{
BLColor = value;
ColorChanged();
}
}
public Color BottomRightColor
{
get { return BRColor; }
set
{
BRColor = value;
ColorChanged();
}
}
public void ColorChanged()
{
OnColorChanged?.Invoke(null, new EventArgs());
}
public VertexColorBox()
{
this.BackgroundImage = Properties.Resources.CheckerBackground;
this.BackColor = Color.Transparent;
this.MouseClick += OnMouseClick;
this.SetStyle(
ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint |
ControlStyles.DoubleBuffer,
true);
}
private void OnMouseClick(object sender, MouseEventArgs e)
{
if (TopLeftHit == null) return;
if (e.Button == MouseButtons.Left)
{
if (TopLeftHit.IsHit(e.Location))
TopLeftColor = LoadColorDialog(TopLeftColor);
if (TopRightHit.IsHit(e.Location))
TopRightColor = LoadColorDialog(TopRightColor);
if (BottomLefttHit.IsHit(e.Location))
BottomLeftColor = LoadColorDialog(BottomLeftColor);
if (BottomRightHit.IsHit(e.Location))
BottomRightColor = LoadColorDialog(BottomRightColor);
if (AllHit.IsHit(e.Location))
{
ColorDialog colorDlg = new ColorDialog();
colorDlg.Color = AllColor;
if (colorDlg.ShowDialog() == DialogResult.OK)
{
TopLeftColor = colorDlg.Color;
TopRightColor = colorDlg.Color;
BottomLeftColor = colorDlg.Color;
BottomRightColor = colorDlg.Color;
}
}
}
this.Invalidate();
}
private Color LoadColorDialog(Color color)
{
ColorDialog colorDlg = new ColorDialog();
colorDlg.Color = color;
if (colorDlg.ShowDialog() == DialogResult.OK)
return colorDlg.Color;
else
return color;
}
private Rectangle TopLeftHit;
private Rectangle TopRightHit;
private Rectangle BottomLefttHit;
private Rectangle BottomRightHit;
private Rectangle AllHit;
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.InterpolationMode = InterpolationMode.Bilinear;
pe.Graphics.PixelOffsetMode = PixelOffsetMode.Half;
LinearGradientBrush linearGradientBrush =
new LinearGradientBrush(ClientRectangle, TopLeftColor, BottomRightColor, 0f, true);
ColorBlend cblend = new ColorBlend(3);
cblend.Colors = new Color[4] { TopLeftColor, TopRightColor, BottomLeftColor, BottomRightColor };
cblend.Positions = new float[4] { 0f, 0.5f, 0.5f, 1f };
linearGradientBrush.InterpolationColors = cblend;
Color c1 = TopLeftColor;
Color c2 = BottomLeftColor;
Color c3 = TopRightColor;
Color c4 = BottomRightColor;
Rectangle r = ClientRectangle;
float delta12R = 1f * (c2.R - c1.R) / r.Height;
float delta12G = 1f * (c2.G - c1.G) / r.Height;
float delta12B = 1f * (c2.B - c1.B) / r.Height;
float delta34R = 1f * (c4.R - c3.R) / r.Height;
float delta34G = 1f * (c4.G - c3.G) / r.Height;
float delta34B = 1f * (c4.B - c3.B) / r.Height;
for (int y = 0; y < r.Height; y++)
{
Color c12 = Color.FromArgb(255, c1.R + (int)(y * delta12R),
c1.G + (int)(y * delta12G), c1.B + (int)(y * delta12B));
Color c34 = Color.FromArgb(255, c3.R + (int)(y * delta34R),
c3.G + (int)(y * delta34G), c3.B + (int)(y * delta34B));
using (LinearGradientBrush lgBrush = new LinearGradientBrush(
new Rectangle(0, y, r.Width, 1), c12, c34, 0f))
{
pe.Graphics.FillRectangle(lgBrush, 0, y, r.Width, 1);
}
}
int halfWidth = r.Width / 2;
int halfHeight = r.Height / 2;
int LeftX = 10;
int RightX = r.Width - 30;
int topY = 10;
int BottomY = r.Height - 25;
var font = new Font(this.Font, FontStyle.Bold);
using (Brush br = new SolidBrush(c1.GrayScale().Inverse()))
pe.Graphics.DrawString("ALL", font, br, new Point(halfWidth - 10, halfHeight - 10));
using (Brush br = new SolidBrush(TopLeftColor.GrayScale().Inverse()))
pe.Graphics.DrawString("TL", font, br, new Point(LeftX, topY));
using (Brush br = new SolidBrush(TopRightColor.GrayScale().Inverse()))
pe.Graphics.DrawString("TR", font, br, new Point(RightX, topY));
using (Brush br = new SolidBrush(BottomLeftColor.GrayScale().Inverse()))
pe.Graphics.DrawString("BL", font, br, new Point(LeftX, BottomY));
using (Brush br = new SolidBrush(BottomRightColor.GrayScale().Inverse()))
pe.Graphics.DrawString("BR", font, br, new Point(RightX, BottomY));
// pe.Graphics.FillRectangle(linearGradientBrush, ClientRectangle);
const int hitSize = 40;
TopLeftHit = new Rectangle(LeftX, topY, hitSize, hitSize);
TopRightHit = new Rectangle(RightX, topY, hitSize, hitSize);
BottomLefttHit = new Rectangle(LeftX, BottomY, hitSize, hitSize);
BottomRightHit = new Rectangle(RightX, BottomY, hitSize, hitSize);
AllHit = new Rectangle(halfWidth - 10, halfHeight - 10, hitSize, hitSize);
base.OnPaint(pe);
}
}
}

View File

@ -115,6 +115,8 @@ namespace Toolbox.Library.Forms
stCollapsePanelButton1.IsExpanded = true;
stCollapsePanelButton1.ExpandCollapse += BtnExpandCollapseExpandCollapse;
stCollapsePanelButton1.SetIconColor = FormThemes.BaseTheme.DropdownButtonBackColor;
}
public bool IsExpanded

View File

@ -0,0 +1,79 @@
namespace Toolbox.Library.Forms
{
partial class STVerticalNavigationMenu
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.flowLayoutPanel1 = new Toolbox.Library.Forms.STFlowLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.IsSplitterFixed = true;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.flowLayoutPanel1);
this.splitContainer1.Size = new System.Drawing.Size(539, 373);
this.splitContainer1.SplitterDistance = 179;
this.splitContainer1.TabIndex = 0;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(179, 373);
this.flowLayoutPanel1.TabIndex = 0;
//
// STVerticalNavigationMenu
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.splitContainer1);
this.Name = "STVerticalNavigationMenu";
this.Size = new System.Drawing.Size(539, 373);
this.splitContainer1.Panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private Toolbox.Library.Forms.STFlowLayoutPanel flowLayoutPanel1;
}
}

View File

@ -0,0 +1,92 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Toolbox.Library.Forms
{
public partial class STVerticalNavigationMenu : UserControl
{
private List<STVerticalMenuTabPage> TabPages = new List<STVerticalMenuTabPage>();
public STVerticalMenuTabPage SelectedPage
{
get
{
int index = flowLayoutPanel1.TabIndex;
if (index > 0 && index < TabPages.Count)
return TabPages[index];
else
return null;
}
}
public STVerticalNavigationMenu()
{
InitializeComponent();
flowLayoutPanel1.FixedWidth = true;
flowLayoutPanel1.TabIndexChanged += OnTabSelected;
flowLayoutPanel1.BackColor = FormThemes.BaseTheme.FormBackColor;
flowLayoutPanel1.ForeColor = FormThemes.BaseTheme.FormForeColor;
}
private void OnTabSelected(object sender, EventArgs e)
{
Console.WriteLine("OnTabSelected " + SelectedPage != null);
var page = SelectedPage;
if (page == null) return;
splitContainer1.Panel2.Controls.Clear();
splitContainer1.Panel2.Controls.Add(page.Control);
}
private void OnTabSelected2(object sender, EventArgs e)
{
Console.WriteLine("OnTabSelected2 " + SelectedPage != null);
var selectedPage = SelectedPage;
if (selectedPage == null) return;
foreach (var page in TabPages)
{
if (page == selectedPage)
page.Select();
else
page.Deselect();
}
}
public void AddTab(STUserControl control)
{
STVerticalMenuTabPage page = new STVerticalMenuTabPage();
page.TabMenu = new STVerticalTabMenuItem();
page.TabMenu.TabSelected += OnTabSelected2;
page.TabMenu.TabText = control.Text;
page.Control = control;
flowLayoutPanel1.Controls.Add(page.TabMenu);
}
}
public class STVerticalMenuTabPage
{
public STUserControl Control = new STUserControl();
public STVerticalTabMenuItem TabMenu = new STVerticalTabMenuItem();
public void Select()
{
TabMenu.ButtonColor = FormThemes.BaseTheme.CheckBoxBackColor;
}
public void Deselect()
{
TabMenu.ButtonColor = FormThemes.BaseTheme.CheckBoxEnabledBackColor;
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,74 @@
namespace Toolbox.Library.Forms
{
partial class STVerticalTabMenuItem
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
this.stPanel1 = new Toolbox.Library.Forms.STPanel();
this.stPanel1.SuspendLayout();
this.SuspendLayout();
//
// stLabel1
//
this.stLabel1.AutoSize = true;
this.stLabel1.Location = new System.Drawing.Point(0, 9);
this.stLabel1.Name = "stLabel1";
this.stLabel1.Size = new System.Drawing.Size(47, 13);
this.stLabel1.TabIndex = 0;
this.stLabel1.Text = "stLabel1";
this.stLabel1.Click += new System.EventHandler(this.stLabel1_Click);
//
// stPanel1
//
this.stPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.stPanel1.Controls.Add(this.stLabel1);
this.stPanel1.Location = new System.Drawing.Point(3, 3);
this.stPanel1.Name = "stPanel1";
this.stPanel1.Size = new System.Drawing.Size(120, 30);
this.stPanel1.TabIndex = 1;
//
// STVerticalTabMenuItem
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.stPanel1);
this.Name = "STVerticalTabMenuItem";
this.Size = new System.Drawing.Size(126, 36);
this.Click += new System.EventHandler(this.STVerticalTabMenuItem_Click);
this.stPanel1.ResumeLayout(false);
this.stPanel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private STLabel stLabel1;
private STPanel stPanel1;
}
}

View File

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Toolbox.Library.Forms
{
public partial class STVerticalTabMenuItem : UserControl
{
public EventHandler TabSelected;
public Color ButtonColor
{
set
{
stLabel1.BackColor = value;
stPanel1.BackColor = value;
}
get { return stPanel1.BackColor; }
}
public STVerticalTabMenuItem()
{
InitializeComponent();
this.BackColor = FormThemes.BaseTheme.FormContextMenuBackColor;
stLabel1.BackColor = FormThemes.BaseTheme.FormContextMenuBackColor;
stPanel1.BackColor = FormThemes.BaseTheme.CheckBoxBackColor;
}
public string TabText
{
get { return stLabel1.Text; }
set { stLabel1.Text = value; }
}
private void stLabel1_Click(object sender, EventArgs e) {
TabSelected?.Invoke(sender, e);
}
private void STVerticalTabMenuItem_Click(object sender, EventArgs e) {
TabSelected?.Invoke(sender, e);
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -9,6 +9,12 @@ namespace Toolbox.Library.IO
{
public static class ColorExtensions
{
public static Color GrayScale(this Color color)
{
int grayScale = (int)((color.R * 0.3) + (color.G * 0.59) + (color.B * 0.11));
return Color.FromArgb(color.A, grayScale, grayScale, grayScale);
}
public static Color Inverse(this Color color)
{
return Color.FromArgb(color.A, (byte)(255 - color.R), (byte)(255 - color.G), (byte)(255 - color.B));

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
namespace Toolbox.Library.IO
{
public static class RectangleExtension
{
public static bool IsHit(this Rectangle hitbox, Point e)
{
return (e.X > hitbox.X) && (e.X < hitbox.X + hitbox.Width) &&
(e.Y > hitbox.Y) && (e.Y < hitbox.Y + hitbox.Height);
}
}
}

View File

@ -100,6 +100,106 @@ namespace Toolbox.Library.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationGroup {
get {
object obj = ResourceManager.GetObject("AnimationGroup", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrack {
get {
object obj = ResourceManager.GetObject("AnimationTrack", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackA {
get {
object obj = ResourceManager.GetObject("AnimationTrackA", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackB {
get {
object obj = ResourceManager.GetObject("AnimationTrackB", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackG {
get {
object obj = ResourceManager.GetObject("AnimationTrackG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackR {
get {
object obj = ResourceManager.GetObject("AnimationTrackR", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackW {
get {
object obj = ResourceManager.GetObject("AnimationTrackW", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackX {
get {
object obj = ResourceManager.GetObject("AnimationTrackX", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackY {
get {
object obj = ResourceManager.GetObject("AnimationTrackY", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap AnimationTrackZ {
get {
object obj = ResourceManager.GetObject("AnimationTrackZ", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@ -385,4 +385,34 @@
<data name="Font" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Font.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationGroup" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationGroup.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackA" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackA.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackB" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackB.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackR" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackR.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackW" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackX" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackX.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackY" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackY.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnimationTrackZ" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnimationTrackZ.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -24,17 +24,70 @@ namespace Toolbox.Library.Rendering
return vertices;
}
public static void DrawBoundingBox(Vector3 Min, Vector3 Max, Vector3 Position)
public static Vector3[] points = new Vector3[]
{
new Vector3(-1,-1, 1),
new Vector3( 1,-1, 1),
new Vector3(-1, 1, 1),
new Vector3( 1, 1, 1),
new Vector3(-1,-1,-1),
new Vector3( 1,-1,-1),
new Vector3(-1, 1,-1),
new Vector3( 1, 1,-1)
};
public static void DrawBoundingBox(Matrix4 mvp, Vector3 Scale, Vector3 Position, System.Drawing.Color color)
{
GL.MatrixMode(MatrixMode.Modelview);
GL.PushMatrix();
GL.LoadIdentity();
GL.LoadMatrix(ref mvp);
GL.Translate(0,0,0);
GL.Disable(EnableCap.CullFace);
GL.UseProgram(0);
GL.LineWidth(5);
GL.Color3(color);
GL.Begin(PrimitiveType.LineStrip);
GL.Vertex3(Position + points[6] * Scale);
GL.Vertex3(Position + points[2] * Scale);
GL.Vertex3(Position + points[3] * Scale);
GL.Vertex3(Position + points[7] * Scale);
GL.Vertex3(Position + points[6] * Scale);
GL.Vertex3(Position + points[4] * Scale);
GL.Vertex3(Position + points[5] * Scale);
GL.Vertex3(Position + points[1] * Scale);
GL.Vertex3(Position + points[0] * Scale);
GL.Vertex3(Position + points[4] * Scale);
GL.End();
GL.Begin(PrimitiveType.Lines);
GL.Color3(color);
GL.Vertex3(Position + points[2] * Scale);
GL.Vertex3(Position + points[0] * Scale);
GL.Vertex3(Position + points[3] * Scale);
GL.Vertex3(Position + points[1] * Scale);
GL.Vertex3(Position + points[7] * Scale);
GL.Vertex3(Position + points[5] * Scale);
GL.End();
GL.LineWidth(1);
GL.Enable(EnableCap.CullFace);
GL.UseProgram(0);
}
public static void DrawBoundingBox(Matrix4 mvp, Vector3 Min, Vector3 Max, Vector3 Position, System.Drawing.Color color)
{
GL.MatrixMode(MatrixMode.Modelview);
GL.LoadMatrix(ref mvp);
GL.Disable(EnableCap.CullFace);
GL.UseProgram(0);
var vertices = GetBoundingVertices(Min, Max);
GL.LineWidth(5);
GL.Begin(PrimitiveType.LineLoop);
GL.Color3(color);
GL.Vertex3(Position + vertices[0]);
GL.Vertex3(Position + vertices[1]);
GL.Vertex3(Position + vertices[3]);
@ -42,6 +95,7 @@ namespace Toolbox.Library.Rendering
GL.End();
GL.Begin(PrimitiveType.LineLoop);
GL.Color3(color);
GL.Vertex3(Position + vertices[4]);
GL.Vertex3(Position + vertices[5]);
GL.Vertex3(Position + vertices[7]);
@ -49,6 +103,7 @@ namespace Toolbox.Library.Rendering
GL.End();
GL.Begin(PrimitiveType.Lines);
GL.Color3(color);
GL.Vertex3(Position + vertices[0]);
GL.Vertex3(Position + vertices[4]);
GL.Vertex3(Position + vertices[1]);
@ -58,6 +113,10 @@ namespace Toolbox.Library.Rendering
GL.Vertex3(Position + vertices[2]);
GL.Vertex3(Position + vertices[6]);
GL.End();
GL.LineWidth(1);
GL.Enable(EnableCap.CullFace);
GL.UseProgram(0);
}
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Toolbox.Library.Rendering
{
class DrawableCircle
{
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B

View File

@ -256,12 +256,42 @@
<Compile Include="Forms\Animation\Rewrite\AnimationPanel.Designer.cs">
<DependentUpon>AnimationPanel.cs</DependentUpon>
</Compile>
<Compile Include="Forms\ColorAlphaBox.cs">
<Compile Include="Forms\Animation\Rewrite\MiniAnimationPlayer.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Forms\Animation\Rewrite\MiniAnimationPlayer.Designer.cs">
<DependentUpon>MiniAnimationPlayer.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Color\ColorFullAlphaBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Forms\ColorSelector.cs">
<Compile Include="Forms\Color\ColorAlphaBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Forms\Color\ColorSelector.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Forms\Color\AlphaSelectorHorizontalPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Forms\Color\AlphaSelectorHorizontalPanel.Designer.cs">
<DependentUpon>AlphaSelectorHorizontalPanel.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Color\VertexColorBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Forms\Custom\SideMenu\STVerticalNavigationMenu.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Forms\Custom\SideMenu\STVerticalNavigationMenu.Designer.cs">
<DependentUpon>STVerticalNavigationMenu.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Custom\SideMenu\STVerticalTabMenuItem.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Forms\Custom\SideMenu\STVerticalTabMenuItem.Designer.cs">
<DependentUpon>STVerticalTabMenuItem.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Dialogs\ColorSelectorDropdown.cs">
<SubType>UserControl</SubType>
</Compile>
@ -346,6 +376,7 @@
<Compile Include="IO\Colors\ColorEditor.cs" />
<Compile Include="IO\Colors\STColor16.cs" />
<Compile Include="IO\Extensions\ColorExtensions.cs" />
<Compile Include="IO\Extensions\Rectangle.cs" />
<Compile Include="IO\Extensions\StreamExport.cs" />
<Compile Include="IO\Extensions\UintExtension.cs" />
<Compile Include="IO\FileStreamStorage.cs" />
@ -354,6 +385,7 @@
<Compile Include="IO\Colors\STColor.cs" />
<Compile Include="IO\Colors\STColor8.cs" />
<Compile Include="IO\SubStream.cs" />
<Compile Include="Rendering\DrawableCircle.cs" />
<Compile Include="Rendering\GenericModelRenderer\GenericModelRenderer.cs" />
<Compile Include="Rendering\GenericModelRenderer\GenericRenderedObject.cs" />
<Compile Include="Security\Cryptography\crc32.cs" />
@ -408,7 +440,7 @@
<Compile Include="Forms\Dialogs\STSaveLogDialog.Designer.cs">
<DependentUpon>STSaveLogDialog.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Animation\BoneAnimTimeline.cs">
<Compile Include="Forms\Animation\KeyedAnimTimeline.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Forms\Custom\DropdownPanel\ExpandCollapseEventArgs.cs" />
@ -876,9 +908,15 @@
<Compile Include="XML\XmlDoc.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Forms\Animation\KeyedAnimTimeline.resx">
<DependentUpon>KeyedAnimTimeline.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Animation\Rewrite\AnimationPanel.resx">
<DependentUpon>AnimationPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Animation\Rewrite\MiniAnimationPlayer.resx">
<DependentUpon>MiniAnimationPlayer.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Archive\ArchiveFilePanel.resx">
<DependentUpon>ArchiveFilePanel.cs</DependentUpon>
</EmbeddedResource>
@ -888,7 +926,10 @@
<EmbeddedResource Include="Forms\BatchFormatExport.resx">
<DependentUpon>BatchFormatExport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ColorSelector.resx">
<EmbeddedResource Include="Forms\Color\AlphaSelectorHorizontalPanel.resx">
<DependentUpon>AlphaSelectorHorizontalPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Color\ColorSelector.resx">
<DependentUpon>ColorSelector.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Custom\ColorSlider.resx" />
@ -902,6 +943,12 @@
<DependentUpon>STDropDownPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Custom\BarSlider\BarSlider.resx" />
<EmbeddedResource Include="Forms\Custom\SideMenu\STVerticalNavigationMenu.resx">
<DependentUpon>STVerticalNavigationMenu.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Custom\SideMenu\STVerticalTabMenuItem.resx">
<DependentUpon>STVerticalTabMenuItem.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Custom\STCheckBox.resx">
<DependentUpon>STCheckBox.cs</DependentUpon>
</EmbeddedResource>
@ -1399,6 +1446,36 @@
<ItemGroup>
<None Include="Resources\Font.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationGroup.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrack.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackR.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackG.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackB.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackA.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackX.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackY.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackZ.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnimationTrackW.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

Binary file not shown.

Binary file not shown.