/// <summary> /// return to previous printer state; but keep the new y position (used eg. for printing the page header) /// </summary> public void PopCurrentStateApartFromYPosition() { float YPos = this.CurrentYPos; FCurrentState = FPrinterStateStack.Pop(); CurrentYPos = YPos; }
/// create a copy of this state public TPrinterState Copy() { TPrinterState newState = new TPrinterState(); newState.FPrintingMode = FPrintingMode; newState.FCurrentPageNr = FCurrentPageNr; newState.FCurrentXPos = FCurrentXPos; newState.FCurrentYPos = FCurrentYPos; newState.FAnchorXPos = FAnchorXPos; newState.FAnchorYPos = FAnchorYPos; newState.FCurrentFont = FCurrentFont; newState.FCurrentLineHeight = FCurrentLineHeight; newState.FCurrentRelativeFontSize = FCurrentRelativeFontSize; newState.FCurrentAlignment = FCurrentAlignment; newState.FNoWrap = FNoWrap; return(newState); }
/// <summary> /// return to previous printer state; /// this is used for printing table cells /// </summary> public void PopCurrentState() { FCurrentState = FPrinterStateStack.Pop(); }
/// <summary> /// store the current printer state (font size etc) /// </summary> public void PushCurrentState() { FPrinterStateStack.Push(FCurrentState); FCurrentState = FCurrentState.Copy(); }
/// create a copy of this state public TPrinterState Copy() { TPrinterState newState = new TPrinterState(); newState.FPrintingMode = FPrintingMode; newState.FCurrentPageNr = FCurrentPageNr; newState.FCurrentXPos = FCurrentXPos; newState.FCurrentYPos = FCurrentYPos; newState.FAnchorXPos = FAnchorXPos; newState.FAnchorYPos = FAnchorYPos; newState.FCurrentFont = FCurrentFont; newState.FCurrentLineHeight = FCurrentLineHeight; newState.FCurrentRelativeFontSize = FCurrentRelativeFontSize; newState.FCurrentAlignment = FCurrentAlignment; newState.FNoWrap = FNoWrap; return newState; }