Cleaned up and refactored code for easier reading

pull/2/head
Nathan Crawford 2012-09-28 22:53:54 +00:00
rodzic 8e07ced42c
commit 035b7d2a8a
1 zmienionych plików z 28 dodań i 215 usunięć

Wyświetl plik

@ -134,12 +134,12 @@ namespace PesFile
private statusEnum readyStatus = statusEnum.NotOpen;
Int64 startStitches = 0;
string lastError = "";
string pesNum = "";
Point translateStart;
UInt16 pesVersion;
//means we couldn't figure out some or all
//of the colors, best guess will be used
// If set to true, this variable means we couldn't figure out some or
// all of the colors and white will be used instead of those colors.
private bool colorWarning = false;
private bool formatWarning = false;
@ -161,17 +161,27 @@ namespace PesFile
fileIn = new System.IO.BinaryReader(System.IO.File.Open(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read));
string startFileSig = "";
for (int i = 0; i < 8; i++)//8 bytes
for (int i = 0; i < 4; i++) // 4 bytes
{
startFileSig += fileIn.ReadChar();
}
if (!startFileSig.StartsWith("#PES"))//this is not a file that we can read
if (startFileSig != "#PES")
{
// This is not a file that we can read
readyStatus = statusEnum.ParseError;
lastError = "Missing #PES at beginning of file";
fileIn.Close();
return;
}
// PES version
string versionString = "";
for (int i = 0; i < 4; i++) // 4 bytes
{
versionString += fileIn.ReadChar();
}
pesVersion = Convert.ToUInt16(versionString);
int pecstart = fileIn.ReadInt32();
fileIn.BaseStream.Position = pecstart + 48;
@ -239,14 +249,16 @@ namespace PesFile
{
int deltaX = 0;
int deltaY = 0;
if ((val1 & 128) == 128)//$80
if ((val1 & 0x80) == 0x80)
{
//this is a jump stitch
deltaX = ((val1 & 15) * 256) + val2;
if ((deltaX & 2048) == 2048) //$0800
deltaX = ((val1 & 0x0f) << 8) + val2;
/* dead code? bit we're checking is masked out in previous line
if ((deltaX & 0x0800) == 0x0800)
{
deltaX = deltaX - 4096;
}
*/
//read next byte for Y value
val2 = fileIn.ReadByte();
}
@ -260,15 +272,16 @@ namespace PesFile
}
}
if ((val2 & 128) == 128)//$80
if ((val2 & 0x08) == 0x80)
{
//this is a jump stitch
int val3 = fileIn.ReadByte();
deltaY = ((val2 & 15) * 256) + val3;
if ((deltaY & 2048) == 2048)
deltaY = ((val2 & 0x0f) << 8) + val3;
/* dead code? bit we're checking is masked out in previous line
if ((deltaY & 0x0800) == 0x0800)
{
deltaY = deltaY - 4096;
}
}*/
}
else
{
@ -333,7 +346,7 @@ namespace PesFile
#endif
}
void readCSewFigSeg(System.IO.BinaryReader file)
/*void readCSewFigSeg(System.IO.BinaryReader file)
{
startStitches = fileIn.BaseStream.Position;
@ -416,7 +429,7 @@ namespace PesFile
currentBlock.stitchesTotal = stitchData.Count;
blocks.Add(currentBlock);
}
}
}*/
List<stitchBlock> filterStitches(List<stitchBlock> input, int threshold)
{
@ -510,7 +523,7 @@ namespace PesFile
System.IO.StringWriter outfile = new System.IO.StringWriter();
string name = "";
outfile.WriteLine("PES header");
outfile.WriteLine("PES number:\t" + pesNum);
outfile.WriteLine("PES version:\t" + pesVersion);
for (int i = 0; i < pesHeader.Count; i++)
{
name = (i + 1).ToString();
@ -629,206 +642,6 @@ namespace PesFile
return Color.White;
colorWarning = true;
}
/*switch (index)
{
case 1:
retval = Color.FromArgb(14, 31, 124);
break;
case 2:
retval = Color.FromArgb(10, 85, 163);
break;
case 3:
retval = Color.FromArgb(48, 135, 119);
break;
case 4:
retval = Color.FromArgb(75, 107, 175);
break;
case 5:
retval = Color.FromArgb(237, 23, 31);
break;
case 6:
retval = Color.FromArgb(209, 92, 0);
break;
case 7:
retval = Color.FromArgb(145, 54, 151);
break;
case 8:
retval = Color.FromArgb(228, 154, 203);
break;
case 9:
retval = Color.FromArgb(145, 95, 172);
break;
case 10:
retval = Color.FromArgb(157, 214, 125);
break;
case 11:
retval = Color.FromArgb(232, 169, 0);
break;
case 12:
retval = Color.FromArgb(254, 186, 53);
break;
case 13:
retval = Color.FromArgb(255, 255, 0);
break;
case 14:
retval = Color.FromArgb(112, 188, 31);
break;
case 15:
retval = Color.FromArgb(186, 152, 0);
break;
case 16:
retval = Color.FromArgb(168, 168, 168);
break;
case 17:
retval = Color.FromArgb(123, 111, 0);
break;
case 18:
retval = Color.FromArgb(255, 255, 179);
break;
case 19:
retval = Color.FromArgb(79, 85, 86);
break;
case 20:
retval = Color.FromArgb(0, 0, 0);
break;
case 21:
retval = Color.FromArgb(11, 61, 145);
break;
case 22:
retval = Color.FromArgb(119, 1, 118);
break;
case 23:
retval = Color.FromArgb(41, 49, 51);
break;
case 24:
retval = Color.FromArgb(42, 19, 1);
break;
case 25:
retval = Color.FromArgb(246, 74, 138);
break;
case 26:
retval = Color.FromArgb(178, 118, 36);
break;
case 27:
retval = Color.FromArgb(252, 187, 196);
break;
case 28:
retval = Color.FromArgb(254, 55, 15);
break;
case 29:
retval = Color.FromArgb(240, 240, 240);
break;
case 30:
retval = Color.FromArgb(106, 28, 138);
break;
case 31:
retval = Color.FromArgb(168, 221, 196);
break;
case 32:
retval = Color.FromArgb(37, 132, 187);
break;
case 33:
retval = Color.FromArgb(254, 179, 67);
break;
case 34:
retval = Color.FromArgb(255, 240, 141);
break;
case 35:
retval = Color.FromArgb(208, 166, 96);
break;
case 36:
retval = Color.FromArgb(209, 84, 0);
break;
case 37:
retval = Color.FromArgb(102, 186, 73);
break;
case 38:
retval = Color.FromArgb(19, 74, 70);
break;
case 39:
retval = Color.FromArgb(135, 135, 135);
break;
case 40:
retval = Color.FromArgb(216, 202, 198);
break;
case 41:
retval = Color.FromArgb(67, 86, 7);
break;
case 42:
retval = Color.FromArgb(254, 227, 197);
break;
case 43:
retval = Color.FromArgb(249, 147, 188);
break;
case 44:
retval = Color.FromArgb(0, 56, 34);
break;
case 45:
retval = Color.FromArgb(178, 175, 212);
break;
case 46:
retval = Color.FromArgb(104, 106, 176);
break;
case 47:
retval = Color.FromArgb(239, 227, 185);
break;
case 48:
retval = Color.FromArgb(247, 56, 102);
break;
case 49:
retval = Color.FromArgb(181, 76, 100);
break;
case 50:
retval = Color.FromArgb(19, 43, 26);
break;
case 51:
retval = Color.FromArgb(199, 1, 85);
break;
case 52:
retval = Color.FromArgb(254, 158, 50);
break;
case 53:
retval = Color.FromArgb(168, 222, 235);
break;
case 54:
retval = Color.FromArgb(0, 103, 26);
break;
case 55:
retval = Color.FromArgb(78, 41, 144);
break;
case 56:
retval = Color.FromArgb(47, 126, 32);
break;
case 57:
retval = Color.FromArgb(253, 217, 222);
break;
case 58:
retval = Color.FromArgb(255, 217, 17);
break;
case 59:
retval = Color.FromArgb(9, 91, 166);
break;
case 60:
retval = Color.FromArgb(240, 249, 112);
break;
case 61:
retval = Color.FromArgb(227, 243, 91);
break;
case 62:
retval = Color.FromArgb(255, 200, 100);
break;
case 63:
retval = Color.FromArgb(255, 200, 150);
break;
case 64:
retval = Color.FromArgb(255, 200, 200);
break;
default:
retval = Color.White;
colorWarning = true;
break;
}
return retval;*/
}
public Bitmap designToBitmap(Single threadThickness, bool filterUglyStitches, int filterUglyStitchesThreshold)