Account for the footer length when deciding if a continuous section header will fit on the page or not.

Added large comments to identify important locations in the code.
This commit is contained in:
Rich 2015-03-12 01:59:29 +00:00
parent 95874bd501
commit 5c49d94a1a
2 changed files with 112 additions and 12 deletions

View File

@ -202,11 +202,19 @@ namespace Volian.Print.Library
} }
if (ySizeIncludingFirstStep < yWithinMargins && ySizeIncludingFirst > yWithinMargins && yWithinMargins > (yPageSize/2)) if (ySizeIncludingFirstStep < yWithinMargins && ySizeIncludingFirst > yWithinMargins && yWithinMargins > (yPageSize/2))
ySizeIncludingFirst = ySizeIncludingFirstStep; ySizeIncludingFirst = ySizeIncludingFirstStep;
if (!KeepStepsOnPage && (ySizeIncludingFirst + ySectionEndMsg) > (yLocation - yBottomMargin) && !nearTheTop) if (!KeepStepsOnPage && (ySizeIncludingFirst + ySectionEndMsg) >
(yLocation - (MyItemInfo.MyDocStyle.Layout.FooterLength + yBottomMargin)) && !nearTheTop)
{ {
if (!MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert || if (!MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert ||
(ySizeIncludingFirst < yPageSize || yWithinMargins < (yPageSize - (2 * 72)))) (ySizeIncludingFirst < yPageSize || yWithinMargins < (yPageSize - (2 * 72))))
{ {
// .oooooo. . o8o .oooooo..o . o8o
// d8P' `Y8b .o8 `"' d8P' `Y8 .o8 `"'
// 888 .ooooo. ooo. .oo. .o888oo oooo ooo. .oo. oooo oooo .ooooo. oooo oooo .oooo.o Y88bo. .ooooo. .ooooo. .o888oo oooo .ooooo. ooo. .oo. .oooo.o
// 888 d88' `88b `888P"Y88b 888 `888 `888P"Y88b `888 `888 d88' `88b `888 `888 d88( "8 `"Y8888o. d88' `88b d88' `"Y8 888 `888 d88' `88b `888P"Y88b d88( "8
// 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 `"Y88b. `"Y88b 888ooo888 888 888 888 888 888 888 888 `"Y88b.
// `88b ooo 888 888 888 888 888 . 888 888 888 888 888 888 888 888 888 o. )88b oo .d8P 888 .o 888 .o8 888 . 888 888 888 888 888 o. )88b
// `Y8bood8P' `Y8bod8P' o888o o888o "888" o888o o888o o888o `V88V"V8P' `Y8bod8P' `V88V"V8P' 8""888P' 8""88888P' `Y8bod8P' `Y8bod8P' "888" o888o `Y8bod8P' o888o o888o 8""888P'
ShowPageBreak(4, "Page Break Before Continuous Step Section", "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak); ShowPageBreak(4, "Page Break Before Continuous Step Section", "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
return 1; return 1;
} }
@ -289,6 +297,13 @@ namespace Volian.Print.Library
(mySize <= yWithinMargins + yExtra && SpecialCaseForRobinson())) (mySize <= yWithinMargins + yExtra && SpecialCaseForRobinson()))
//if (!ManualPageBreak && mySize + yEndMsg <= yWithinMargins + SixLinesPerInch) // Don't Paginate if there is enough room, will fit on page //if (!ManualPageBreak && mySize + yEndMsg <= yWithinMargins + SixLinesPerInch) // Don't Paginate if there is enough room, will fit on page
{ {
// ooooo ooooo ooooo .oooooo..o o8o oooo oooo .o88o. o8o .
// `888' `888' `888' d8P' `Y8 `"' `888 `888 888 `" `"' .o8
// 888 888 888 Y88bo. oooo oooo ooo oooo 888 888 o888oo oooo .o888oo
// 888ooooo888 888 `"Y8888o. `88. `88. .8' `888 888 888 888 `888 888
// 888 888 888 `"Y88b `88..]88..8' 888 888 888 888 888 888
// 888 888 888 o oo .d8P `888'`888' 888 888 888 888 888 888 .
// o888o o888o o888ooooood8 8""88888P' `8' `8' o888o o888o o888o o888o o888o "888"
//Console.WriteLine("'PageBreak',1,'No','HLS will fit on page',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath); //Console.WriteLine("'PageBreak',1,'No','HLS will fit on page',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath);
ShowPageBreak(-1, "HLS will fit on page", firstStep, YSize, yPageSize, yWithinMargins,ManualPageBreak); ShowPageBreak(-1, "HLS will fit on page", firstStep, YSize, yPageSize, yWithinMargins,ManualPageBreak);
return 0; return 0;
@ -357,6 +372,13 @@ namespace Volian.Print.Library
// Don't want extra line before step // Don't want extra line before step
//Console.WriteLine("'PageBreak',2,'Yes','HLS will fit on 1 Page',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath); //Console.WriteLine("'PageBreak',2,'Yes','HLS will fit on 1 Page',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath);
// A page break will occur before the step is put out. ShowPageBreak with first argument of -1 is NOT a page break. // A page break will occur before the step is put out. ShowPageBreak with first argument of -1 is NOT a page break.
// .ooo ooooo ooooooooo. ooooo
// .88' `888' `888 `Y88. `888'
// d88' 888 888 .d88' 888
// d888P"Ybo. 888 888ooo88P' 888
// Y88[ ]88 888 888 888
// `Y88 88P 888 o 888 888
// `88bod8' o888ooooood8 o888o o888o
ShowPageBreak(5, "HLS will fit on 1 Page at 6 LPI", "Yes", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak); ShowPageBreak(5, "HLS will fit on 1 Page at 6 LPI", "Yes", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak);
return 1; return 1;
} }
@ -366,6 +388,13 @@ namespace Volian.Print.Library
else if (!KeepStepsOnPage && MyItemInfo.ActiveFormat.MyStepSectionLayoutData.CompressSteps else if (!KeepStepsOnPage && MyItemInfo.ActiveFormat.MyStepSectionLayoutData.CompressSteps
&& (ySize7LPI - SixLinesPerInch + yEndMsg) < (yPageSizeNextPage * SixLinesPerInch / _SevenLinesPerInch)) && (ySize7LPI - SixLinesPerInch + yEndMsg) < (yPageSizeNextPage * SixLinesPerInch / _SevenLinesPerInch))
{ {
// ooooooooo ooooo ooooooooo. ooooo
// d"""""""8' `888' `888 `Y88. `888'
// .8' 888 888 .d88' 888
// .8' 888 888ooo88P' 888
// .8' 888 888 888
// .8' 888 o 888 888
// .8' o888ooooood8 o888o o888o
//Console.WriteLine("'PageBreak',3,'Yes','HLS will fit on 1 Page at 7 LPI',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath); //Console.WriteLine("'PageBreak',3,'Yes','HLS will fit on 1 Page at 7 LPI',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath);
ShowPageBreak(7, "HLS will fit on 1 Page at 7 LPI", "Yes", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak); ShowPageBreak(7, "HLS will fit on 1 Page at 7 LPI", "Yes", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak);
//Console.WriteLine("'7LPI',{0},{1}", MyItemInfo.DBSequence, YSize); //Console.WriteLine("'7LPI',{0},{1}", MyItemInfo.DBSequence, YSize);
@ -416,6 +445,15 @@ namespace Volian.Print.Library
// ShowPageBreak(6, CheckForCompression("HLS will have to split on current page"), "Special", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak); // ShowPageBreak(6, CheckForCompression("HLS will have to split on current page"), "Special", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak);
//BuildPageBreakList(yWithinMargins + SixLinesPerInch, yPageSizeNextPage + yExtra2, KeepStepsOnPage); // Case 5 - Determine items where page break(s) occur //BuildPageBreakList(yWithinMargins + SixLinesPerInch, yPageSizeNextPage + yExtra2, KeepStepsOnPage); // Case 5 - Determine items where page break(s) occur
BuildPageBreakList(ySpaceOnFirstPage, yPageSize + yExtra2, KeepStepsOnPage, yEndMsg, doSectionTitleContinued & SectionShowTitles); // Case 5 - Determine items where page break(s) occur BuildPageBreakList(ySpaceOnFirstPage, yPageSize + yExtra2, KeepStepsOnPage, yEndMsg, doSectionTitleContinued & SectionShowTitles); // Case 5 - Determine items where page break(s) occur
// ooooo ooooo ooooo .oooooo..o .oooooo..o oooo o8o . .oooooo. .
// `888' `888' `888' d8P' `Y8 d8P' `Y8 `888 `"' .o8 d8P' `Y8b .o8
// 888 888 888 Y88bo. Y88bo. oo.ooooo. 888 oooo .o888oo 888 oooo oooo oooo d8b oooo d8b .ooooo. ooo. .oo. .o888oo
// 888ooooo888 888 `"Y8888o. `"Y8888o. 888' `88b 888 `888 888 888 `888 `888 `888""8P `888""8P d88' `88b `888P"Y88b 888
// 888 888 888 `"Y88b `"Y88b 888 888 888 888 888 888 888 888 888 888 888ooo888 888 888 888
// 888 888 888 o oo .d8P oo .d8P 888 888 888 888 888 . `88b ooo 888 888 888 888 888 .o 888 888 888 .
// o888o o888o o888ooooood8 8""88888P' 8""88888P' 888bod8P' o888o o888o "888" `Y8bood8P' `V88V"V8P' d888b d888b `Y8bod8P' o888o o888o "888"
// 888
// o888o
if (firstStep == "Yes") if (firstStep == "Yes")
{ {
//ySpaceOnFirstPage = yWithinMargins; // Accounts for Section Title Line //ySpaceOnFirstPage = yWithinMargins; // Accounts for Section Title Line
@ -435,6 +473,15 @@ namespace Volian.Print.Library
//BuildPageBreakList(yPageSize + yExtra, yPageSize); // Case 1 :Works for ES05 Step 15 SubStep 7 //BuildPageBreakList(yPageSize + yExtra, yPageSize); // Case 1 :Works for ES05 Step 15 SubStep 7
// Pagination Fix Break1LineShort4 // Pagination Fix Break1LineShort4
BuildPageBreakList(yPageSize + yExtra, yPageSizeNextPage + yExtra2, KeepStepsOnPage, yEndMsg, doSectionTitleContinued & SectionShowTitles); // Case 1 :Works for ES05 Step 15 SubStep 7 BuildPageBreakList(yPageSize + yExtra, yPageSizeNextPage + yExtra2, KeepStepsOnPage, yEndMsg, doSectionTitleContinued & SectionShowTitles); // Case 1 :Works for ES05 Step 15 SubStep 7
// ooooo ooooo ooooo .oooooo..o .oooooo..o oooo o8o . ooooo ooo
// `888' `888' `888' d8P' `Y8 d8P' `Y8 `888 `"' .o8 `888b. `8'
// 888 888 888 Y88bo. Y88bo. oo.ooooo. 888 oooo .o888oo 8 `88b. 8 .ooooo. oooo oooo ooo
// 888ooooo888 888 `"Y8888o. `"Y8888o. 888' `88b 888 `888 888 8 `88b. 8 d88' `88b `88. `88. .8'
// 888 888 888 `"Y88b `"Y88b 888 888 888 888 888 8 `88b.8 888ooo888 `88..]88..8'
// 888 888 888 o oo .d8P oo .d8P 888 888 888 888 888 . 8 `888 888 .o `888'`888'
// o888o o888o o888ooooood8 8""88888P' 8""88888P' 888bod8P' o888o o888o "888" o8o `8 `Y8bod8P' `8' `8'
// 888
// o888o
if (firstStep == "Yes") if (firstStep == "Yes")
ShowPageBreak(9, CheckForCompression("First HLS will have to split on new page"), "Yes", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak); ShowPageBreak(9, CheckForCompression("First HLS will have to split on new page"), "Yes", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak);
else else
@ -676,7 +723,14 @@ namespace Volian.Print.Library
// MyPageHelper.ParaBreaks.Add(this); // MyPageHelper.ParaBreaks.Add(this);
// return; // return;
//} //}
while (((YSize - yTop) > (ySpaceOnCurPage - (accountForCalvertAlarmConditionResponseFooter+yEndMsg))) || PageBreakOnStepList.Count > 0) // ooooo ooo . oooooooooo. oooo
// `888b. `8' .o8 `888' `Y8b `888
// 8 `88b. 8 .ooooo. oooo ooo .o888oo 888 888 oooo d8b .ooooo. .oooo. 888 oooo
// 8 `88b. 8 d88' `88b `88b..8P' 888 888oooo888' `888""8P d88' `88b `P )88b 888 .8P'
// 8 `88b.8 888ooo888 Y888' 888 888 `88b 888 888ooo888 .oP"888 888888.
// 8 `888 888 .o .o8"'88b 888 . 888 .88P 888 888 .o d8( 888 888 `88b.
// o8o `8 `Y8bod8P' o88' 888o "888" o888bood8P' d888b `Y8bod8P' `Y888""8o o888o o888o
while (((YSize - yTop) > (ySpaceOnCurPage - (accountForCalvertAlarmConditionResponseFooter + yEndMsg))) || PageBreakOnStepList.Count > 0)
{ {
float ySpaceOnCurPageSave = ySpaceOnCurPage; float ySpaceOnCurPageSave = ySpaceOnCurPage;
if (((YSize - yTop) <= (ySpaceOnCurPage - accountForCalvertAlarmConditionResponseFooter)) || PageBreakOnStepList.Count > 0) if (((YSize - yTop) <= (ySpaceOnCurPage - accountForCalvertAlarmConditionResponseFooter)) || PageBreakOnStepList.Count > 0)
@ -889,6 +943,15 @@ namespace Volian.Print.Library
if (paraBreak7 != null && paraBreak7.YOffset > paraBreak.YOffset && paraBreak.MyItemInfo.StepLevel >= paraBreak7.MyItemInfo.StepLevel) if (paraBreak7 != null && paraBreak7.YOffset > paraBreak.YOffset && paraBreak.MyItemInfo.StepLevel >= paraBreak7.MyItemInfo.StepLevel)
{ {
paraBreak = paraBreak7; paraBreak = paraBreak7;
// .oooooo. ooooooooo. .
// d8P' `Y8b `888 `Y88. .o8
// 888 .ooooo. ooo. .oo. .oo. oo.ooooo. oooo d8b .ooooo. .oooo.o .oooo.o 888 .d88' .oooo. oooo d8b .o888oo
// 888 d88' `88b `888P"Y88bP"Y88b 888' `88b `888""8P d88' `88b d88( "8 d88( "8 888ooo88P' `P )88b `888""8P 888
// 888 888 888 888 888 888 888 888 888 888ooo888 `"Y88b. `"Y88b. 888 .oP"888 888 888
// `88b ooo 888 888 888 888 888 888 888 888 888 .o o. )88b o. )88b 888 d8( 888 888 888 .
// `Y8bood8P' `Y8bod8P' o888o o888o o888o 888bod8P' d888b `Y8bod8P' 8""888P' 8""888P' o888o `Y888""8o d888b "888"
// 888
// o888o
if (lastBreak != null) if (lastBreak != null)
{ {
lastBreak.PageBreakReason = "More of Step at 7 LPI"; lastBreak.PageBreakReason = "More of Step at 7 LPI";
@ -943,6 +1006,15 @@ namespace Volian.Print.Library
if ((YSize - yTop) > (ySpaceOnCurPage - (accountForCalvertAlarmConditionResponseFooter + yEndMsg)) if ((YSize - yTop) > (ySpaceOnCurPage - (accountForCalvertAlarmConditionResponseFooter + yEndMsg))
&& (YSize - yTop) < ySpaceAt7LPI ) && (YSize - yTop) < ySpaceAt7LPI )
{ {
// .oooooo. ooooooooo. .
// d8P' `Y8b `888 `Y88. .o8
// 888 .ooooo. ooo. .oo. .oo. oo.ooooo. oooo d8b .ooooo. .oooo.o .oooo.o 888 .d88' .ooooo. .oooo.o .o888oo
// 888 d88' `88b `888P"Y88bP"Y88b 888' `88b `888""8P d88' `88b d88( "8 d88( "8 888ooo88P' d88' `88b d88( "8 888
// 888 888 888 888 888 888 888 888 888 888ooo888 `"Y88b. `"Y88b. 888`88b. 888ooo888 `"Y88b. 888
// `88b ooo 888 888 888 888 888 888 888 888 888 .o o. )88b o. )88b 888 `88b. 888 .o o. )88b 888 .
// `Y8bood8P' `Y8bod8P' o888o o888o o888o 888bod8P' d888b `Y8bod8P' 8""888P' 8""888P' o888o o888o `Y8bod8P' 8""888P' "888"
// 888
// o888o
paraBreak.PageBreakReason = "Rest of Step fits at 7 LPI"; paraBreak.PageBreakReason = "Rest of Step fits at 7 LPI";
paraBreak.CompressPartOfPage = true; paraBreak.CompressPartOfPage = true;
break; break;

View File

@ -875,6 +875,15 @@ namespace Volian.Print.Library
ProfileTimer.Pop(profileDepth); ProfileTimer.Pop(profileDepth);
if (retval == 0) // problem occurred - paragraph was not able to be printed on page if (retval == 0) // problem occurred - paragraph was not able to be printed on page
{ // pagination logic needs to be fixed. { // pagination logic needs to be fixed.
// oooooooooooo ooooooooo. o8o . o8o
// `888' `8 `888 `Y88. `"' .o8 `"'
// 888 .ooooo. oooo d8b .ooooo. .ooooo. 888 .d88' .oooo. .oooooooo oooo ooo. .oo. .oooo. .o888oo oooo .ooooo. ooo. .oo.
// 888oooo8 d88' `88b `888""8P d88' `"Y8 d88' `88b 888ooo88P' `P )88b 888' `88b `888 `888P"Y88b `P )88b 888 `888 d88' `88b `888P"Y88b
// 888 " 888 888 888 888 888ooo888 888 .oP"888 888 888 888 888 888 .oP"888 888 888 888 888 888 888
// 888 888 888 888 888 .o8 888 .o 888 d8( 888 `88bod8P' 888 888 888 d8( 888 888 . 888 888 888 888 888
// o888o `Y8bod8P' d888b `Y8bod8P' `Y8bod8P' o888o `Y888""8o `8oooooo. o888o o888o o888o `Y888""8o "888" o888o `Y8bod8P' o888o o888o
// d" YD
// "Y88888P'
ForcePagination(cb, ref yPageStart, yTopMargin, yBottomMargin, ref yLocation, ref retval); ForcePagination(cb, ref yPageStart, yTopMargin, yBottomMargin, ref yLocation, ref retval);
} }
else else
@ -1220,6 +1229,13 @@ namespace Volian.Print.Library
DocStyle docstyle = null; DocStyle docstyle = null;
switch (paginate) switch (paginate)
{ {
// .oooooo. .oooo.
// d8P' `Y8b d8P'`Y8b
// 888 .oooo. .oooo.o .ooooo. 888 888
// 888 `P )88b d88( "8 d88' `88b 888 888
// 888 .oP"888 `"Y88b. 888ooo888 888 888
// `88b ooo d8( 888 o. )88b 888 .o `88b d88'
// `Y8bood8P' `Y888""8o 8""888P' `Y8bod8P' `Y8bd8P'
case 0: // No page break case 0: // No page break
if (MyItemInfo.IsSection) if (MyItemInfo.IsSection)
{ {
@ -1237,15 +1253,13 @@ namespace Volian.Print.Library
///else ///else
/// MyPageHelper.YMultiplier = 1; /// MyPageHelper.YMultiplier = 1;
break; break;
// XXXX XX XXXXX XXXXXXX X // .oooooo. .o
// X X X X X X X XXX // d8P' `Y8b o888
// X X X X X //888 .oooo. .oooo.o .ooooo. 888
// X X X X X X X //888 `P )88b d88( "8 d88' `88b 888
// X X X XXXXX XXXX X //888 .oP"888 `"Y88b. 888ooo888 888
// X X X X X X X //`88b ooo d8( 888 o. )88b 888 .o 888
// X XXXXX X X X // `Y8bood8P' `Y888""8o 8""888P' `Y8bod8P' o888o
// X X X X X X X X X
// XXXX XXX XXX XXXXX XXXXXXX XXXXX
case 1: // Break on High Level Step case 1: // Break on High Level Step
OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
docstyle = MyItemInfo.MyDocStyle; docstyle = MyItemInfo.MyDocStyle;
@ -1312,6 +1326,13 @@ namespace Volian.Print.Library
else else
MyPageHelper.YMultiplier = 1; MyPageHelper.YMultiplier = 1;
break; break;
// .oooooo. .oooo.
// d8P' `Y8b .dP""Y88b
// 888 .oooo. .oooo.o .ooooo. ]8P'
// 888 `P )88b d88( "8 d88' `88b .d8P'
// 888 .oP"888 `"Y88b. 888ooo888 .dP'
// `88b ooo d8( 888 o. )88b 888 .o .oP .o
// `Y8bood8P' `Y888""8o 8""888P' `Y8bod8P' 8888888888
case 2: // Break within a Step case 2: // Break within a Step
OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
docstyle = MyItemInfo.MyDocStyle; docstyle = MyItemInfo.MyDocStyle;
@ -1465,6 +1486,13 @@ namespace Volian.Print.Library
if (addExtraLines) yPageStart -= (2 * SixLinesPerInch); if (addExtraLines) yPageStart -= (2 * SixLinesPerInch);
if (MyItemInfo.IsRNOPart && MyItemInfo.FormatStepData.DoubleSpace && MyItemInfo.FormatStepData.SpaceDouble) yPageStart += SixLinesPerInch; if (MyItemInfo.IsRNOPart && MyItemInfo.FormatStepData.DoubleSpace && MyItemInfo.FormatStepData.SpaceDouble) yPageStart += SixLinesPerInch;
break; break;
// .oooooo. .oooo.
// d8P' `Y8b .dP""Y88b
// 888 .oooo. .oooo.o .ooooo. ]8P'
// 888 `P )88b d88( "8 d88' `88b <88b.
// 888 .oP"888 `"Y88b. 888ooo888 `88b.
// `88b ooo d8( 888 o. )88b 888 .o o. .88P
// `Y8bood8P' `Y888""8o 8""888P' `Y8bod8P' `8bd88P'
case 3: // Break on High Level Step (SevenLinesPerInch) case 3: // Break on High Level Step (SevenLinesPerInch)
if (!firstHighLevelStep) if (!firstHighLevelStep)
{ {