LCOV - code coverage report
Current view: top level - widget - nsPrintSettingsImpl.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 523 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 131 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #include "nsPrintSettingsImpl.h"
       7             : #include "nsReadableUtils.h"
       8             : #include "nsIPrintSession.h"
       9             : #include "mozilla/RefPtr.h"
      10             : 
      11             : #define DEFAULT_MARGIN_WIDTH 0.5
      12             : 
      13           0 : NS_IMPL_ISUPPORTS(nsPrintSettings, nsIPrintSettings)
      14             : 
      15             : /** ---------------------------------------------------
      16             :  *  See documentation in nsPrintSettingsImpl.h
      17             :  *      @update 6/21/00 dwc
      18             :  */
      19           0 : nsPrintSettings::nsPrintSettings() :
      20             :   mPrintOptions(0L),
      21             :   mPrintRange(kRangeAllPages),
      22             :   mStartPageNum(1),
      23             :   mEndPageNum(1),
      24             :   mScaling(1.0),
      25             :   mPrintBGColors(false),
      26             :   mPrintBGImages(false),
      27             :   mPrintFrameTypeUsage(kUseInternalDefault),
      28             :   mPrintFrameType(kFramesAsIs),
      29             :   mHowToEnableFrameUI(kFrameEnableNone),
      30             :   mIsCancelled(false),
      31             :   mPrintSilent(false),
      32             :   mPrintPreview(false),
      33             :   mShrinkToFit(true),
      34             :   mShowPrintProgress(true),
      35             :   mPrintPageDelay(50),
      36             :   mPaperData(0),
      37             :   mPaperWidth(8.5),
      38             :   mPaperHeight(11.0),
      39             :   mPaperSizeUnit(kPaperSizeInches),
      40             :   mPrintReversed(false),
      41             :   mPrintInColor(true),
      42             :   mOrientation(kPortraitOrientation),
      43             :   mNumCopies(1),
      44             :   mPrintToFile(false),
      45             :   mOutputFormat(kOutputFormatNative),
      46             :   mIsInitedFromPrinter(false),
      47           0 :   mIsInitedFromPrefs(false)
      48             : {
      49             : 
      50             :   /* member initializers and constructor code */
      51           0 :   int32_t marginWidth = NS_INCHES_TO_INT_TWIPS(DEFAULT_MARGIN_WIDTH);
      52           0 :   mMargin.SizeTo(marginWidth, marginWidth, marginWidth, marginWidth);
      53           0 :   mEdge.SizeTo(0, 0, 0, 0);
      54           0 :   mUnwriteableMargin.SizeTo(0,0,0,0);
      55             : 
      56           0 :   mPrintOptions = kPrintOddPages | kPrintEvenPages;
      57             : 
      58           0 :   mHeaderStrs[0].AssignLiteral("&T");
      59           0 :   mHeaderStrs[2].AssignLiteral("&U");
      60             : 
      61           0 :   mFooterStrs[0].AssignLiteral("&PT"); // Use &P (Page Num Only) or &PT (Page Num of Page Total)
      62           0 :   mFooterStrs[2].AssignLiteral("&D");
      63             : 
      64           0 : }
      65             : 
      66             : /** ---------------------------------------------------
      67             :  *  See documentation in nsPrintSettingsImpl.h
      68             :  *      @update 6/21/00 dwc
      69             :  */
      70           0 : nsPrintSettings::nsPrintSettings(const nsPrintSettings& aPS)
      71             : {
      72           0 :   *this = aPS;
      73           0 : }
      74             : 
      75             : /** ---------------------------------------------------
      76             :  *  See documentation in nsPrintSettingsImpl.h
      77             :  *      @update 6/21/00 dwc
      78             :  */
      79           0 : nsPrintSettings::~nsPrintSettings()
      80             : {
      81           0 : }
      82             : 
      83           0 : NS_IMETHODIMP nsPrintSettings::GetPrintSession(nsIPrintSession **aPrintSession)
      84             : {
      85           0 :   NS_ENSURE_ARG_POINTER(aPrintSession);
      86           0 :   *aPrintSession = nullptr;
      87             :   
      88           0 :   nsCOMPtr<nsIPrintSession> session = do_QueryReferent(mSession);
      89           0 :   if (!session)
      90           0 :     return NS_ERROR_NOT_INITIALIZED;
      91           0 :   *aPrintSession = session;
      92           0 :   NS_ADDREF(*aPrintSession);
      93           0 :   return NS_OK;
      94             : }
      95           0 : NS_IMETHODIMP nsPrintSettings::SetPrintSession(nsIPrintSession *aPrintSession)
      96             : {
      97             :   // Clearing it by passing nullptr is not allowed. That's why we
      98             :   // use a weak ref so that it doesn't have to be cleared.
      99           0 :   NS_ENSURE_ARG(aPrintSession);
     100             :   
     101           0 :   mSession = do_GetWeakReference(aPrintSession);
     102           0 :   if (!mSession) {
     103             :     // This may happen if the implementation of this object does
     104             :     // not support weak references - programmer error.
     105           0 :     NS_ERROR("Could not get a weak reference from aPrintSession");
     106           0 :     return NS_ERROR_FAILURE;
     107             :   }
     108           0 :   return NS_OK;
     109             : }
     110             : 
     111           0 : NS_IMETHODIMP nsPrintSettings::GetStartPageRange(int32_t *aStartPageRange)
     112             : {
     113             :   //NS_ENSURE_ARG_POINTER(aStartPageRange);
     114           0 :   *aStartPageRange = mStartPageNum;
     115           0 :   return NS_OK;
     116             : }
     117           0 : NS_IMETHODIMP nsPrintSettings::SetStartPageRange(int32_t aStartPageRange)
     118             : {
     119           0 :   mStartPageNum = aStartPageRange;
     120           0 :   return NS_OK;
     121             : }
     122             : 
     123           0 : NS_IMETHODIMP nsPrintSettings::GetEndPageRange(int32_t *aEndPageRange)
     124             : {
     125             :   //NS_ENSURE_ARG_POINTER(aEndPageRange);
     126           0 :   *aEndPageRange = mEndPageNum;
     127           0 :   return NS_OK;
     128             : }
     129           0 : NS_IMETHODIMP nsPrintSettings::SetEndPageRange(int32_t aEndPageRange)
     130             : {
     131           0 :   mEndPageNum = aEndPageRange;
     132           0 :   return NS_OK;
     133             : }
     134             : 
     135           0 : NS_IMETHODIMP nsPrintSettings::GetPrintReversed(bool *aPrintReversed)
     136             : {
     137             :   //NS_ENSURE_ARG_POINTER(aPrintReversed);
     138           0 :   *aPrintReversed = mPrintReversed;
     139           0 :   return NS_OK;
     140             : }
     141           0 : NS_IMETHODIMP nsPrintSettings::SetPrintReversed(bool aPrintReversed)
     142             : {
     143           0 :   mPrintReversed = aPrintReversed;
     144           0 :   return NS_OK;
     145             : }
     146             : 
     147           0 : NS_IMETHODIMP nsPrintSettings::GetPrintInColor(bool *aPrintInColor)
     148             : {
     149             :   //NS_ENSURE_ARG_POINTER(aPrintInColor);
     150           0 :   *aPrintInColor = mPrintInColor;
     151           0 :   return NS_OK;
     152             : }
     153           0 : NS_IMETHODIMP nsPrintSettings::SetPrintInColor(bool aPrintInColor)
     154             : {
     155           0 :   mPrintInColor = aPrintInColor;
     156           0 :   return NS_OK;
     157             : }
     158             : 
     159           0 : NS_IMETHODIMP nsPrintSettings::GetOrientation(int32_t *aOrientation)
     160             : {
     161           0 :   NS_ENSURE_ARG_POINTER(aOrientation);
     162           0 :   *aOrientation = mOrientation;
     163           0 :   return NS_OK;
     164             : }
     165           0 : NS_IMETHODIMP nsPrintSettings::SetOrientation(int32_t aOrientation)
     166             : {
     167           0 :   mOrientation = aOrientation;
     168           0 :   return NS_OK;
     169             : }
     170             : 
     171           0 : NS_IMETHODIMP nsPrintSettings::GetResolution(int32_t *aResolution)
     172             : {
     173           0 :   NS_ENSURE_ARG_POINTER(aResolution);
     174           0 :   *aResolution = mResolution;
     175           0 :   return NS_OK;
     176             : }
     177           0 : NS_IMETHODIMP nsPrintSettings::SetResolution(const int32_t aResolution)
     178             : {
     179           0 :   mResolution = aResolution;
     180           0 :   return NS_OK;
     181             : }
     182             : 
     183           0 : NS_IMETHODIMP nsPrintSettings::GetDuplex(int32_t *aDuplex)
     184             : {
     185           0 :   NS_ENSURE_ARG_POINTER(aDuplex);
     186           0 :   *aDuplex = mDuplex;
     187           0 :   return NS_OK;
     188             : }
     189           0 : NS_IMETHODIMP nsPrintSettings::SetDuplex(const int32_t aDuplex)
     190             : {
     191           0 :   mDuplex = aDuplex;
     192           0 :   return NS_OK;
     193             : }
     194             : 
     195           0 : NS_IMETHODIMP nsPrintSettings::GetPrinterName(char16_t * *aPrinter)
     196             : {
     197           0 :    NS_ENSURE_ARG_POINTER(aPrinter);
     198             : 
     199           0 :    *aPrinter = ToNewUnicode(mPrinter);
     200           0 :    NS_ENSURE_TRUE(*aPrinter, NS_ERROR_OUT_OF_MEMORY);
     201             : 
     202           0 :    return NS_OK;
     203             : }
     204             : 
     205           0 : NS_IMETHODIMP nsPrintSettings::SetPrinterName(const char16_t * aPrinter)
     206             : {
     207           0 :   if (!aPrinter || !mPrinter.Equals(aPrinter)) {
     208           0 :     mIsInitedFromPrinter = false;
     209           0 :     mIsInitedFromPrefs   = false;
     210             :   }
     211             : 
     212           0 :   mPrinter.Assign(aPrinter);
     213           0 :   return NS_OK;
     214             : }
     215             : 
     216           0 : NS_IMETHODIMP nsPrintSettings::GetNumCopies(int32_t *aNumCopies)
     217             : {
     218           0 :   NS_ENSURE_ARG_POINTER(aNumCopies);
     219           0 :   *aNumCopies = mNumCopies;
     220           0 :   return NS_OK;
     221             : }
     222           0 : NS_IMETHODIMP nsPrintSettings::SetNumCopies(int32_t aNumCopies)
     223             : {
     224           0 :   mNumCopies = aNumCopies;
     225           0 :   return NS_OK;
     226             : }
     227             : 
     228           0 : NS_IMETHODIMP nsPrintSettings::GetPrintToFile(bool *aPrintToFile)
     229             : {
     230             :   //NS_ENSURE_ARG_POINTER(aPrintToFile);
     231           0 :   *aPrintToFile = mPrintToFile;
     232           0 :   return NS_OK;
     233             : }
     234           0 : NS_IMETHODIMP nsPrintSettings::SetPrintToFile(bool aPrintToFile)
     235             : {
     236           0 :   mPrintToFile = aPrintToFile;
     237           0 :   return NS_OK;
     238             : }
     239             : 
     240           0 : NS_IMETHODIMP nsPrintSettings::GetToFileName(char16_t * *aToFileName)
     241             : {
     242             :   //NS_ENSURE_ARG_POINTER(aToFileName);
     243           0 :   *aToFileName = ToNewUnicode(mToFileName);
     244           0 :   return NS_OK;
     245             : }
     246           0 : NS_IMETHODIMP nsPrintSettings::SetToFileName(const char16_t * aToFileName)
     247             : {
     248           0 :   if (aToFileName) {
     249           0 :     mToFileName = aToFileName;
     250             :   } else {
     251           0 :     mToFileName.SetLength(0);
     252             :   }
     253           0 :   return NS_OK;
     254             : }
     255             : 
     256           0 : NS_IMETHODIMP nsPrintSettings::GetOutputFormat(int16_t *aOutputFormat)
     257             : {
     258           0 :   NS_ENSURE_ARG_POINTER(aOutputFormat);
     259           0 :   *aOutputFormat = mOutputFormat;
     260           0 :   return NS_OK;
     261             : }
     262           0 : NS_IMETHODIMP nsPrintSettings::SetOutputFormat(int16_t aOutputFormat)
     263             : {
     264           0 :   mOutputFormat = aOutputFormat;
     265           0 :   return NS_OK;
     266             : }
     267             : 
     268           0 : NS_IMETHODIMP nsPrintSettings::GetPrintPageDelay(int32_t *aPrintPageDelay)
     269             : {
     270           0 :   *aPrintPageDelay = mPrintPageDelay;
     271           0 :   return NS_OK;
     272             : }
     273           0 : NS_IMETHODIMP nsPrintSettings::SetPrintPageDelay(int32_t aPrintPageDelay)
     274             : {
     275           0 :   mPrintPageDelay = aPrintPageDelay;
     276           0 :   return NS_OK;
     277             : }
     278             : 
     279           0 : NS_IMETHODIMP nsPrintSettings::GetIsInitializedFromPrinter(bool *aIsInitializedFromPrinter)
     280             : {
     281           0 :   NS_ENSURE_ARG_POINTER(aIsInitializedFromPrinter);
     282           0 :   *aIsInitializedFromPrinter = (bool)mIsInitedFromPrinter;
     283           0 :   return NS_OK;
     284             : }
     285           0 : NS_IMETHODIMP nsPrintSettings::SetIsInitializedFromPrinter(bool aIsInitializedFromPrinter)
     286             : {
     287           0 :   mIsInitedFromPrinter = (bool)aIsInitializedFromPrinter;
     288           0 :   return NS_OK;
     289             : }
     290             : 
     291           0 : NS_IMETHODIMP nsPrintSettings::GetIsInitializedFromPrefs(bool *aInitializedFromPrefs)
     292             : {
     293           0 :   NS_ENSURE_ARG_POINTER(aInitializedFromPrefs);
     294           0 :   *aInitializedFromPrefs = (bool)mIsInitedFromPrefs;
     295           0 :   return NS_OK;
     296             : }
     297           0 : NS_IMETHODIMP nsPrintSettings::SetIsInitializedFromPrefs(bool aInitializedFromPrefs)
     298             : {
     299           0 :   mIsInitedFromPrefs = (bool)aInitializedFromPrefs;
     300           0 :   return NS_OK;
     301             : }
     302             : 
     303           0 : NS_IMETHODIMP nsPrintSettings::GetMarginTop(double *aMarginTop)
     304             : {
     305           0 :   NS_ENSURE_ARG_POINTER(aMarginTop);
     306           0 :   *aMarginTop = NS_TWIPS_TO_INCHES(mMargin.top);
     307           0 :   return NS_OK;
     308             : }
     309           0 : NS_IMETHODIMP nsPrintSettings::SetMarginTop(double aMarginTop)
     310             : {
     311           0 :   mMargin.top = NS_INCHES_TO_INT_TWIPS(float(aMarginTop));
     312           0 :   return NS_OK;
     313             : }
     314             : 
     315           0 : NS_IMETHODIMP nsPrintSettings::GetMarginLeft(double *aMarginLeft)
     316             : {
     317           0 :   NS_ENSURE_ARG_POINTER(aMarginLeft);
     318           0 :   *aMarginLeft = NS_TWIPS_TO_INCHES(mMargin.left);
     319           0 :   return NS_OK;
     320             : }
     321           0 : NS_IMETHODIMP nsPrintSettings::SetMarginLeft(double aMarginLeft)
     322             : {
     323           0 :   mMargin.left = NS_INCHES_TO_INT_TWIPS(float(aMarginLeft));
     324           0 :   return NS_OK;
     325             : }
     326             : 
     327           0 : NS_IMETHODIMP nsPrintSettings::GetMarginBottom(double *aMarginBottom)
     328             : {
     329           0 :   NS_ENSURE_ARG_POINTER(aMarginBottom);
     330           0 :   *aMarginBottom = NS_TWIPS_TO_INCHES(mMargin.bottom);
     331           0 :   return NS_OK;
     332             : }
     333           0 : NS_IMETHODIMP nsPrintSettings::SetMarginBottom(double aMarginBottom)
     334             : {
     335           0 :   mMargin.bottom = NS_INCHES_TO_INT_TWIPS(float(aMarginBottom));
     336           0 :   return NS_OK;
     337             : }
     338             : 
     339           0 : NS_IMETHODIMP nsPrintSettings::GetMarginRight(double *aMarginRight)
     340             : {
     341           0 :   NS_ENSURE_ARG_POINTER(aMarginRight);
     342           0 :   *aMarginRight = NS_TWIPS_TO_INCHES(mMargin.right);
     343           0 :   return NS_OK;
     344             : }
     345           0 : NS_IMETHODIMP nsPrintSettings::SetMarginRight(double aMarginRight)
     346             : {
     347           0 :   mMargin.right = NS_INCHES_TO_INT_TWIPS(float(aMarginRight));
     348           0 :   return NS_OK;
     349             : }
     350             : 
     351           0 : NS_IMETHODIMP nsPrintSettings::GetEdgeTop(double *aEdgeTop)
     352             : {
     353           0 :   NS_ENSURE_ARG_POINTER(aEdgeTop);
     354           0 :   *aEdgeTop = NS_TWIPS_TO_INCHES(mEdge.top);
     355           0 :   return NS_OK;
     356             : }
     357           0 : NS_IMETHODIMP nsPrintSettings::SetEdgeTop(double aEdgeTop)
     358             : {
     359           0 :   mEdge.top = NS_INCHES_TO_INT_TWIPS(float(aEdgeTop));
     360           0 :   return NS_OK;
     361             : }
     362             : 
     363           0 : NS_IMETHODIMP nsPrintSettings::GetEdgeLeft(double *aEdgeLeft)
     364             : {
     365           0 :   NS_ENSURE_ARG_POINTER(aEdgeLeft);
     366           0 :   *aEdgeLeft = NS_TWIPS_TO_INCHES(mEdge.left);
     367           0 :   return NS_OK;
     368             : }
     369           0 : NS_IMETHODIMP nsPrintSettings::SetEdgeLeft(double aEdgeLeft)
     370             : {
     371           0 :   mEdge.left = NS_INCHES_TO_INT_TWIPS(float(aEdgeLeft));
     372           0 :   return NS_OK;
     373             : }
     374             : 
     375           0 : NS_IMETHODIMP nsPrintSettings::GetEdgeBottom(double *aEdgeBottom)
     376             : {
     377           0 :   NS_ENSURE_ARG_POINTER(aEdgeBottom);
     378           0 :   *aEdgeBottom = NS_TWIPS_TO_INCHES(mEdge.bottom);
     379           0 :   return NS_OK;
     380             : }
     381           0 : NS_IMETHODIMP nsPrintSettings::SetEdgeBottom(double aEdgeBottom)
     382             : {
     383           0 :   mEdge.bottom = NS_INCHES_TO_INT_TWIPS(float(aEdgeBottom));
     384           0 :   return NS_OK;
     385             : }
     386             : 
     387           0 : NS_IMETHODIMP nsPrintSettings::GetEdgeRight(double *aEdgeRight)
     388             : {
     389           0 :   NS_ENSURE_ARG_POINTER(aEdgeRight);
     390           0 :   *aEdgeRight = NS_TWIPS_TO_INCHES(mEdge.right);
     391           0 :   return NS_OK;
     392             : }
     393           0 : NS_IMETHODIMP nsPrintSettings::SetEdgeRight(double aEdgeRight)
     394             : {
     395           0 :   mEdge.right = NS_INCHES_TO_INT_TWIPS(float(aEdgeRight));
     396           0 :   return NS_OK;
     397             : }
     398             : 
     399           0 : NS_IMETHODIMP nsPrintSettings::GetUnwriteableMarginTop(double *aUnwriteableMarginTop)
     400             : {
     401           0 :   NS_ENSURE_ARG_POINTER(aUnwriteableMarginTop);
     402           0 :   *aUnwriteableMarginTop = NS_TWIPS_TO_INCHES(mUnwriteableMargin.top);
     403           0 :   return NS_OK;
     404             : }
     405           0 : NS_IMETHODIMP nsPrintSettings::SetUnwriteableMarginTop(double aUnwriteableMarginTop)
     406             : {
     407           0 :   if (aUnwriteableMarginTop >= 0.0) {
     408           0 :     mUnwriteableMargin.top = NS_INCHES_TO_INT_TWIPS(aUnwriteableMarginTop);
     409             :   }
     410           0 :   return NS_OK;
     411             : }
     412             : 
     413           0 : NS_IMETHODIMP nsPrintSettings::GetUnwriteableMarginLeft(double *aUnwriteableMarginLeft)
     414             : {
     415           0 :   NS_ENSURE_ARG_POINTER(aUnwriteableMarginLeft);
     416           0 :   *aUnwriteableMarginLeft = NS_TWIPS_TO_INCHES(mUnwriteableMargin.left);
     417           0 :   return NS_OK;
     418             : }
     419           0 : NS_IMETHODIMP nsPrintSettings::SetUnwriteableMarginLeft(double aUnwriteableMarginLeft)
     420             : {
     421           0 :   if (aUnwriteableMarginLeft >= 0.0) {
     422           0 :     mUnwriteableMargin.left = NS_INCHES_TO_INT_TWIPS(aUnwriteableMarginLeft);
     423             :   }
     424           0 :   return NS_OK;
     425             : }
     426             : 
     427           0 : NS_IMETHODIMP nsPrintSettings::GetUnwriteableMarginBottom(double *aUnwriteableMarginBottom)
     428             : {
     429           0 :   NS_ENSURE_ARG_POINTER(aUnwriteableMarginBottom);
     430           0 :   *aUnwriteableMarginBottom = NS_TWIPS_TO_INCHES(mUnwriteableMargin.bottom);
     431           0 :   return NS_OK;
     432             : }
     433           0 : NS_IMETHODIMP nsPrintSettings::SetUnwriteableMarginBottom(double aUnwriteableMarginBottom)
     434             : {
     435           0 :   if (aUnwriteableMarginBottom >= 0.0) {
     436           0 :     mUnwriteableMargin.bottom = NS_INCHES_TO_INT_TWIPS(aUnwriteableMarginBottom);
     437             :   }
     438           0 :   return NS_OK;
     439             : }
     440             : 
     441           0 : NS_IMETHODIMP nsPrintSettings::GetUnwriteableMarginRight(double *aUnwriteableMarginRight)
     442             : {
     443           0 :   NS_ENSURE_ARG_POINTER(aUnwriteableMarginRight);
     444           0 :   *aUnwriteableMarginRight = NS_TWIPS_TO_INCHES(mUnwriteableMargin.right);
     445           0 :   return NS_OK;
     446             : }
     447           0 : NS_IMETHODIMP nsPrintSettings::SetUnwriteableMarginRight(double aUnwriteableMarginRight)
     448             : {
     449           0 :   if (aUnwriteableMarginRight >= 0.0) {
     450           0 :     mUnwriteableMargin.right = NS_INCHES_TO_INT_TWIPS(aUnwriteableMarginRight);
     451             :   }
     452           0 :   return NS_OK;
     453             : }
     454             : 
     455           0 : NS_IMETHODIMP nsPrintSettings::GetScaling(double *aScaling)
     456             : {
     457           0 :   NS_ENSURE_ARG_POINTER(aScaling);
     458           0 :   *aScaling = mScaling;
     459           0 :   return NS_OK;
     460             : }
     461             : 
     462           0 : NS_IMETHODIMP nsPrintSettings::SetScaling(double aScaling)
     463             : {
     464           0 :   mScaling = aScaling;
     465           0 :   return NS_OK;
     466             : }
     467             : 
     468           0 : NS_IMETHODIMP nsPrintSettings::GetPrintBGColors(bool *aPrintBGColors)
     469             : {
     470           0 :   NS_ENSURE_ARG_POINTER(aPrintBGColors);
     471           0 :   *aPrintBGColors = mPrintBGColors;
     472           0 :   return NS_OK;
     473             : }
     474           0 : NS_IMETHODIMP nsPrintSettings::SetPrintBGColors(bool aPrintBGColors)
     475             : {
     476           0 :   mPrintBGColors = aPrintBGColors;
     477           0 :   return NS_OK;
     478             : }
     479             : 
     480           0 : NS_IMETHODIMP nsPrintSettings::GetPrintBGImages(bool *aPrintBGImages)
     481             : {
     482           0 :   NS_ENSURE_ARG_POINTER(aPrintBGImages);
     483           0 :   *aPrintBGImages = mPrintBGImages;
     484           0 :   return NS_OK;
     485             : }
     486           0 : NS_IMETHODIMP nsPrintSettings::SetPrintBGImages(bool aPrintBGImages)
     487             : {
     488           0 :   mPrintBGImages = aPrintBGImages;
     489           0 :   return NS_OK;
     490             : }
     491             : 
     492           0 : NS_IMETHODIMP nsPrintSettings::GetPrintRange(int16_t *aPrintRange)
     493             : {
     494           0 :   NS_ENSURE_ARG_POINTER(aPrintRange);
     495           0 :   *aPrintRange = mPrintRange;
     496           0 :   return NS_OK;
     497             : }
     498           0 : NS_IMETHODIMP nsPrintSettings::SetPrintRange(int16_t aPrintRange)
     499             : {
     500           0 :   mPrintRange = aPrintRange;
     501           0 :   return NS_OK;
     502             : }
     503             : 
     504           0 : NS_IMETHODIMP nsPrintSettings::GetTitle(char16_t * *aTitle)
     505             : {
     506           0 :   NS_ENSURE_ARG_POINTER(aTitle);
     507           0 :   if (!mTitle.IsEmpty()) {
     508           0 :     *aTitle = ToNewUnicode(mTitle);
     509             :   } else {
     510           0 :     *aTitle = nullptr;
     511             :   }
     512           0 :   return NS_OK;
     513             : }
     514           0 : NS_IMETHODIMP nsPrintSettings::SetTitle(const char16_t * aTitle)
     515             : {
     516           0 :   if (aTitle) {
     517           0 :     mTitle = aTitle;
     518             :   } else {
     519           0 :     mTitle.SetLength(0);
     520             :   }
     521           0 :   return NS_OK;
     522             : }
     523             : 
     524           0 : NS_IMETHODIMP nsPrintSettings::GetDocURL(char16_t * *aDocURL)
     525             : {
     526           0 :   NS_ENSURE_ARG_POINTER(aDocURL);
     527           0 :   if (!mURL.IsEmpty()) {
     528           0 :     *aDocURL = ToNewUnicode(mURL);
     529             :   } else {
     530           0 :     *aDocURL = nullptr;
     531             :   }
     532           0 :   return NS_OK;
     533             : }
     534           0 : NS_IMETHODIMP nsPrintSettings::SetDocURL(const char16_t * aDocURL)
     535             : {
     536           0 :   if (aDocURL) {
     537           0 :     mURL = aDocURL;
     538             :   } else {
     539           0 :     mURL.SetLength(0);
     540             :   }
     541           0 :   return NS_OK;
     542             : }
     543             : 
     544             : /** ---------------------------------------------------
     545             :  *  See documentation in nsPrintSettingsImpl.h
     546             :  *      @update 1/12/01 rods
     547             :  */
     548             : NS_IMETHODIMP 
     549           0 : nsPrintSettings::GetPrintOptions(int32_t aType, bool *aTurnOnOff)
     550             : {
     551           0 :   NS_ENSURE_ARG_POINTER(aTurnOnOff);
     552           0 :   *aTurnOnOff = mPrintOptions & aType ? true : false;
     553           0 :   return NS_OK;
     554             : }
     555             : /** ---------------------------------------------------
     556             :  *  See documentation in nsPrintSettingsImpl.h
     557             :  *      @update 1/12/01 rods
     558             :  */
     559             : NS_IMETHODIMP 
     560           0 : nsPrintSettings::SetPrintOptions(int32_t aType, bool aTurnOnOff)
     561             : {
     562           0 :   if (aTurnOnOff) {
     563           0 :     mPrintOptions |=  aType;
     564             :   } else {
     565           0 :     mPrintOptions &= ~aType;
     566             :   }
     567           0 :   return NS_OK;
     568             : }
     569             : 
     570             : /** ---------------------------------------------------
     571             :  *  See documentation in nsPrintSettingsImpl.h
     572             :  *      @update 1/12/01 rods
     573             :  */
     574             : NS_IMETHODIMP
     575           0 : nsPrintSettings::GetPrintOptionsBits(int32_t *aBits)
     576             : {
     577           0 :   NS_ENSURE_ARG_POINTER(aBits);
     578           0 :   *aBits = mPrintOptions;
     579           0 :   return NS_OK;
     580             : }
     581             : 
     582             : NS_IMETHODIMP
     583           0 : nsPrintSettings::SetPrintOptionsBits(int32_t aBits)
     584             : {
     585           0 :   mPrintOptions = aBits;
     586           0 :   return NS_OK;
     587             : }
     588             : 
     589             : nsresult 
     590           0 : nsPrintSettings::GetMarginStrs(char16_t * *aTitle, 
     591             :                               nsHeaderFooterEnum aType, 
     592             :                               int16_t aJust)
     593             : {
     594           0 :   NS_ENSURE_ARG_POINTER(aTitle);
     595           0 :   *aTitle = nullptr;
     596           0 :   if (aType == eHeader) {
     597           0 :     switch (aJust) {
     598           0 :       case kJustLeft:   *aTitle = ToNewUnicode(mHeaderStrs[0]);break;
     599           0 :       case kJustCenter: *aTitle = ToNewUnicode(mHeaderStrs[1]);break;
     600           0 :       case kJustRight:  *aTitle = ToNewUnicode(mHeaderStrs[2]);break;
     601             :     } //switch
     602             :   } else {
     603           0 :     switch (aJust) {
     604           0 :       case kJustLeft:   *aTitle = ToNewUnicode(mFooterStrs[0]);break;
     605           0 :       case kJustCenter: *aTitle = ToNewUnicode(mFooterStrs[1]);break;
     606           0 :       case kJustRight:  *aTitle = ToNewUnicode(mFooterStrs[2]);break;
     607             :     } //switch
     608             :   }
     609           0 :   return NS_OK;
     610             : }
     611             : 
     612             : nsresult
     613           0 : nsPrintSettings::SetMarginStrs(const char16_t * aTitle, 
     614             :                               nsHeaderFooterEnum aType, 
     615             :                               int16_t aJust)
     616             : {
     617           0 :   NS_ENSURE_ARG_POINTER(aTitle);
     618           0 :   if (aType == eHeader) {
     619           0 :     switch (aJust) {
     620           0 :       case kJustLeft:   mHeaderStrs[0] = aTitle;break;
     621           0 :       case kJustCenter: mHeaderStrs[1] = aTitle;break;
     622           0 :       case kJustRight:  mHeaderStrs[2] = aTitle;break;
     623             :     } //switch
     624             :   } else {
     625           0 :     switch (aJust) {
     626           0 :       case kJustLeft:   mFooterStrs[0] = aTitle;break;
     627           0 :       case kJustCenter: mFooterStrs[1] = aTitle;break;
     628           0 :       case kJustRight:  mFooterStrs[2] = aTitle;break;
     629             :     } //switch
     630             :   }
     631           0 :   return NS_OK;
     632             : }
     633             : 
     634           0 : NS_IMETHODIMP nsPrintSettings::GetHeaderStrLeft(char16_t * *aTitle)
     635             : {
     636           0 :   return GetMarginStrs(aTitle, eHeader, kJustLeft);
     637             : }
     638           0 : NS_IMETHODIMP nsPrintSettings::SetHeaderStrLeft(const char16_t * aTitle)
     639             : {
     640           0 :   return SetMarginStrs(aTitle, eHeader, kJustLeft);
     641             : }
     642             : 
     643           0 : NS_IMETHODIMP nsPrintSettings::GetHeaderStrCenter(char16_t * *aTitle)
     644             : {
     645           0 :   return GetMarginStrs(aTitle, eHeader, kJustCenter);
     646             : }
     647           0 : NS_IMETHODIMP nsPrintSettings::SetHeaderStrCenter(const char16_t * aTitle)
     648             : {
     649           0 :   return SetMarginStrs(aTitle, eHeader, kJustCenter);
     650             : }
     651             : 
     652           0 : NS_IMETHODIMP nsPrintSettings::GetHeaderStrRight(char16_t * *aTitle)
     653             : {
     654           0 :   return GetMarginStrs(aTitle, eHeader, kJustRight);
     655             : }
     656           0 : NS_IMETHODIMP nsPrintSettings::SetHeaderStrRight(const char16_t * aTitle)
     657             : {
     658           0 :   return SetMarginStrs(aTitle, eHeader, kJustRight);
     659             : }
     660             : 
     661           0 : NS_IMETHODIMP nsPrintSettings::GetFooterStrLeft(char16_t * *aTitle)
     662             : {
     663           0 :   return GetMarginStrs(aTitle, eFooter, kJustLeft);
     664             : }
     665           0 : NS_IMETHODIMP nsPrintSettings::SetFooterStrLeft(const char16_t * aTitle)
     666             : {
     667           0 :   return SetMarginStrs(aTitle, eFooter, kJustLeft);
     668             : }
     669             : 
     670           0 : NS_IMETHODIMP nsPrintSettings::GetFooterStrCenter(char16_t * *aTitle)
     671             : {
     672           0 :   return GetMarginStrs(aTitle, eFooter, kJustCenter);
     673             : }
     674           0 : NS_IMETHODIMP nsPrintSettings::SetFooterStrCenter(const char16_t * aTitle)
     675             : {
     676           0 :   return SetMarginStrs(aTitle, eFooter, kJustCenter);
     677             : }
     678             : 
     679           0 : NS_IMETHODIMP nsPrintSettings::GetFooterStrRight(char16_t * *aTitle)
     680             : {
     681           0 :   return GetMarginStrs(aTitle, eFooter, kJustRight);
     682             : }
     683           0 : NS_IMETHODIMP nsPrintSettings::SetFooterStrRight(const char16_t * aTitle)
     684             : {
     685           0 :   return SetMarginStrs(aTitle, eFooter, kJustRight);
     686             : }
     687             : 
     688           0 : NS_IMETHODIMP nsPrintSettings::GetPrintFrameTypeUsage(int16_t *aPrintFrameTypeUsage)
     689             : {
     690           0 :   NS_ENSURE_ARG_POINTER(aPrintFrameTypeUsage);
     691           0 :   *aPrintFrameTypeUsage = mPrintFrameTypeUsage;
     692           0 :   return NS_OK;
     693             : }
     694           0 : NS_IMETHODIMP nsPrintSettings::SetPrintFrameTypeUsage(int16_t aPrintFrameTypeUsage)
     695             : {
     696           0 :   mPrintFrameTypeUsage = aPrintFrameTypeUsage;
     697           0 :   return NS_OK;
     698             : }
     699             : 
     700           0 : NS_IMETHODIMP nsPrintSettings::GetPrintFrameType(int16_t *aPrintFrameType)
     701             : {
     702           0 :   NS_ENSURE_ARG_POINTER(aPrintFrameType);
     703           0 :   *aPrintFrameType = (int32_t)mPrintFrameType;
     704           0 :   return NS_OK;
     705             : }
     706           0 : NS_IMETHODIMP nsPrintSettings::SetPrintFrameType(int16_t aPrintFrameType)
     707             : {
     708           0 :   mPrintFrameType = aPrintFrameType;
     709           0 :   return NS_OK;
     710             : }
     711             : 
     712           0 : NS_IMETHODIMP nsPrintSettings::GetPrintSilent(bool *aPrintSilent)
     713             : {
     714           0 :   NS_ENSURE_ARG_POINTER(aPrintSilent);
     715           0 :   *aPrintSilent = mPrintSilent;
     716           0 :   return NS_OK;
     717             : }
     718           0 : NS_IMETHODIMP nsPrintSettings::SetPrintSilent(bool aPrintSilent)
     719             : {
     720           0 :   mPrintSilent = aPrintSilent;
     721           0 :   return NS_OK;
     722             : }
     723             : 
     724           0 : NS_IMETHODIMP nsPrintSettings::GetShrinkToFit(bool *aShrinkToFit)
     725             : {
     726           0 :   NS_ENSURE_ARG_POINTER(aShrinkToFit);
     727           0 :   *aShrinkToFit = mShrinkToFit;
     728           0 :   return NS_OK;
     729             : }
     730           0 : NS_IMETHODIMP nsPrintSettings::SetShrinkToFit(bool aShrinkToFit)
     731             : {
     732           0 :   mShrinkToFit = aShrinkToFit;
     733           0 :   return NS_OK;
     734             : }
     735             : 
     736           0 : NS_IMETHODIMP nsPrintSettings::GetShowPrintProgress(bool *aShowPrintProgress)
     737             : {
     738           0 :   NS_ENSURE_ARG_POINTER(aShowPrintProgress);
     739           0 :   *aShowPrintProgress = mShowPrintProgress;
     740           0 :   return NS_OK;
     741             : }
     742           0 : NS_IMETHODIMP nsPrintSettings::SetShowPrintProgress(bool aShowPrintProgress)
     743             : {
     744           0 :   mShowPrintProgress = aShowPrintProgress;
     745           0 :   return NS_OK;
     746             : }
     747             : 
     748           0 : NS_IMETHODIMP nsPrintSettings::GetPaperName(char16_t * *aPaperName)
     749             : {
     750           0 :   NS_ENSURE_ARG_POINTER(aPaperName);
     751           0 :   if (!mPaperName.IsEmpty()) {
     752           0 :     *aPaperName = ToNewUnicode(mPaperName);
     753             :   } else {
     754           0 :     *aPaperName = nullptr;
     755             :   }
     756           0 :   return NS_OK;
     757             : }
     758           0 : NS_IMETHODIMP nsPrintSettings::SetPaperName(const char16_t * aPaperName)
     759             : {
     760           0 :   if (aPaperName) {
     761           0 :     mPaperName = aPaperName;
     762             :   } else {
     763           0 :     mPaperName.SetLength(0);
     764             :   }
     765           0 :   return NS_OK;
     766             : }
     767             : 
     768           0 : NS_IMETHODIMP nsPrintSettings::GetHowToEnableFrameUI(int16_t *aHowToEnableFrameUI)
     769             : {
     770           0 :   NS_ENSURE_ARG_POINTER(aHowToEnableFrameUI);
     771           0 :   *aHowToEnableFrameUI = mHowToEnableFrameUI;
     772           0 :   return NS_OK;
     773             : }
     774           0 : NS_IMETHODIMP nsPrintSettings::SetHowToEnableFrameUI(int16_t aHowToEnableFrameUI)
     775             : {
     776           0 :   mHowToEnableFrameUI = aHowToEnableFrameUI;
     777           0 :   return NS_OK;
     778             : }
     779             : 
     780           0 : NS_IMETHODIMP nsPrintSettings::GetIsCancelled(bool *aIsCancelled)
     781             : {
     782           0 :   NS_ENSURE_ARG_POINTER(aIsCancelled);
     783           0 :   *aIsCancelled = mIsCancelled;
     784           0 :   return NS_OK;
     785             : }
     786           0 : NS_IMETHODIMP nsPrintSettings::SetIsCancelled(bool aIsCancelled)
     787             : {
     788           0 :   mIsCancelled = aIsCancelled;
     789           0 :   return NS_OK;
     790             : }
     791             : 
     792           0 : NS_IMETHODIMP nsPrintSettings::GetPaperWidth(double *aPaperWidth)
     793             : {
     794           0 :   NS_ENSURE_ARG_POINTER(aPaperWidth);
     795           0 :   *aPaperWidth = mPaperWidth;
     796           0 :   return NS_OK;
     797             : }
     798           0 : NS_IMETHODIMP nsPrintSettings::SetPaperWidth(double aPaperWidth)
     799             : {
     800           0 :   mPaperWidth = aPaperWidth;
     801           0 :   return NS_OK;
     802             : }
     803             : 
     804           0 : NS_IMETHODIMP nsPrintSettings::GetPaperHeight(double *aPaperHeight)
     805             : {
     806           0 :   NS_ENSURE_ARG_POINTER(aPaperHeight);
     807           0 :   *aPaperHeight = mPaperHeight;
     808           0 :   return NS_OK;
     809             : }
     810           0 : NS_IMETHODIMP nsPrintSettings::SetPaperHeight(double aPaperHeight)
     811             : {
     812           0 :   mPaperHeight = aPaperHeight;
     813           0 :   return NS_OK;
     814             : }
     815             : 
     816           0 : NS_IMETHODIMP nsPrintSettings::GetPaperSizeUnit(int16_t *aPaperSizeUnit)
     817             : {
     818           0 :   NS_ENSURE_ARG_POINTER(aPaperSizeUnit);
     819           0 :   *aPaperSizeUnit = mPaperSizeUnit;
     820           0 :   return NS_OK;
     821             : }
     822           0 : NS_IMETHODIMP nsPrintSettings::SetPaperSizeUnit(int16_t aPaperSizeUnit)
     823             : {
     824           0 :   mPaperSizeUnit = aPaperSizeUnit;
     825           0 :   return NS_OK;
     826             : }
     827             : 
     828           0 : NS_IMETHODIMP nsPrintSettings::GetPaperData(int16_t *aPaperData)
     829             : {
     830           0 :   NS_ENSURE_ARG_POINTER(aPaperData);
     831           0 :   *aPaperData = mPaperData;
     832           0 :   return NS_OK;
     833             : }
     834           0 : NS_IMETHODIMP nsPrintSettings::SetPaperData(int16_t aPaperData)
     835             : {
     836           0 :   mPaperData = aPaperData;
     837           0 :   return NS_OK;
     838             : }
     839             : 
     840             : /** ---------------------------------------------------
     841             :  *  See documentation in nsPrintOptionsImpl.h
     842             :  *      @update 6/21/00 dwc
     843             :  *      @update 1/12/01 rods
     844             :  */
     845             : NS_IMETHODIMP 
     846           0 : nsPrintSettings::SetMarginInTwips(nsIntMargin& aMargin)
     847             : {
     848           0 :   mMargin = aMargin;
     849           0 :   return NS_OK;
     850             : }
     851             : 
     852             : NS_IMETHODIMP 
     853           0 : nsPrintSettings::SetEdgeInTwips(nsIntMargin& aEdge)
     854             : {
     855           0 :   mEdge = aEdge;
     856           0 :   return NS_OK;
     857             : }
     858             : 
     859             : // NOTE: Any subclass implementation of this function should make sure
     860             : // to check for negative margin values in aUnwriteableMargin (which 
     861             : // would indicate that we should use the system default unwriteable margin.)
     862             : NS_IMETHODIMP 
     863           0 : nsPrintSettings::SetUnwriteableMarginInTwips(nsIntMargin& aUnwriteableMargin)
     864             : {
     865           0 :   if (aUnwriteableMargin.top >= 0) {
     866           0 :     mUnwriteableMargin.top = aUnwriteableMargin.top;
     867             :   }
     868           0 :   if (aUnwriteableMargin.left >= 0) {
     869           0 :     mUnwriteableMargin.left = aUnwriteableMargin.left;
     870             :   }
     871           0 :   if (aUnwriteableMargin.bottom >= 0) {
     872           0 :     mUnwriteableMargin.bottom = aUnwriteableMargin.bottom;
     873             :   }
     874           0 :   if (aUnwriteableMargin.right >= 0) {
     875           0 :     mUnwriteableMargin.right = aUnwriteableMargin.right;
     876             :   }
     877           0 :   return NS_OK;
     878             : }
     879             : 
     880             : /** ---------------------------------------------------
     881             :  *  See documentation in nsPrintOptionsImpl.h
     882             :  *      @update 6/21/00 dwc
     883             :  */
     884             : NS_IMETHODIMP 
     885           0 : nsPrintSettings::GetMarginInTwips(nsIntMargin& aMargin)
     886             : {
     887           0 :   aMargin = mMargin;
     888           0 :   return NS_OK;
     889             : }
     890             : 
     891             : NS_IMETHODIMP 
     892           0 : nsPrintSettings::GetEdgeInTwips(nsIntMargin& aEdge)
     893             : {
     894           0 :   aEdge = mEdge;
     895           0 :   return NS_OK;
     896             : }
     897             : 
     898             : NS_IMETHODIMP 
     899           0 : nsPrintSettings::GetUnwriteableMarginInTwips(nsIntMargin& aUnwriteableMargin)
     900             : {
     901           0 :   aUnwriteableMargin = mUnwriteableMargin;
     902           0 :   return NS_OK;
     903             : }
     904             : 
     905             : /** ---------------------------------------------------
     906             :  * Stub - platform-specific implementations can use this function.
     907             :  */
     908             : NS_IMETHODIMP
     909           0 : nsPrintSettings::SetupSilentPrinting()
     910             : {
     911           0 :   return NS_OK;
     912             : }
     913             : 
     914             : /** ---------------------------------------------------
     915             :  *  See documentation in nsPrintOptionsImpl.h
     916             :  */
     917             : NS_IMETHODIMP 
     918           0 : nsPrintSettings::GetEffectivePageSize(double *aWidth, double *aHeight)
     919             : {
     920           0 :   if (mPaperSizeUnit == kPaperSizeInches) {
     921           0 :     *aWidth  = NS_INCHES_TO_TWIPS(float(mPaperWidth));
     922           0 :     *aHeight = NS_INCHES_TO_TWIPS(float(mPaperHeight));
     923             :   } else {
     924           0 :     *aWidth  = NS_MILLIMETERS_TO_TWIPS(float(mPaperWidth));
     925           0 :     *aHeight = NS_MILLIMETERS_TO_TWIPS(float(mPaperHeight));
     926             :   }
     927           0 :   if (kLandscapeOrientation == mOrientation) {
     928           0 :     double temp = *aWidth;
     929           0 :     *aWidth = *aHeight;
     930           0 :     *aHeight = temp;
     931             :   }
     932           0 :   return NS_OK;
     933             : }
     934             : 
     935             : NS_IMETHODIMP
     936           0 : nsPrintSettings::GetPageRanges(nsTArray<int32_t> &aPages)
     937             : {
     938           0 :   aPages.Clear();
     939           0 :   return NS_OK;
     940             : }
     941             : 
     942             : nsresult 
     943           0 : nsPrintSettings::_Clone(nsIPrintSettings **_retval)
     944             : {
     945           0 :   RefPtr<nsPrintSettings> printSettings = new nsPrintSettings(*this);
     946           0 :   printSettings.forget(_retval);
     947           0 :   return NS_OK;
     948             : }
     949             : 
     950             : NS_IMETHODIMP 
     951           0 : nsPrintSettings::Clone(nsIPrintSettings **_retval)
     952             : {
     953           0 :   NS_ENSURE_ARG_POINTER(_retval);
     954           0 :   return _Clone(_retval);
     955             : }
     956             : 
     957             : nsresult 
     958           0 : nsPrintSettings::_Assign(nsIPrintSettings *aPS)
     959             : {
     960           0 :   nsPrintSettings *ps = static_cast<nsPrintSettings*>(aPS);
     961           0 :   *this = *ps;
     962           0 :   return NS_OK;
     963             : }
     964             : 
     965             : NS_IMETHODIMP 
     966           0 : nsPrintSettings::Assign(nsIPrintSettings *aPS)
     967             : {
     968           0 :   NS_ENSURE_ARG(aPS);
     969           0 :   return _Assign(aPS);
     970             : }
     971             : 
     972             : //-------------------------------------------
     973           0 : nsPrintSettings& nsPrintSettings::operator=(const nsPrintSettings& rhs)
     974             : {
     975           0 :   if (this == &rhs) {
     976           0 :     return *this;
     977             :   }
     978             : 
     979           0 :   mStartPageNum        = rhs.mStartPageNum;
     980           0 :   mEndPageNum          = rhs.mEndPageNum;
     981           0 :   mMargin              = rhs.mMargin;
     982           0 :   mEdge                = rhs.mEdge;
     983           0 :   mUnwriteableMargin   = rhs.mUnwriteableMargin;
     984           0 :   mScaling             = rhs.mScaling;
     985           0 :   mPrintBGColors       = rhs.mPrintBGColors;
     986           0 :   mPrintBGImages       = rhs.mPrintBGImages;
     987           0 :   mPrintRange          = rhs.mPrintRange;
     988           0 :   mTitle               = rhs.mTitle;
     989           0 :   mURL                 = rhs.mURL;
     990           0 :   mHowToEnableFrameUI  = rhs.mHowToEnableFrameUI;
     991           0 :   mIsCancelled         = rhs.mIsCancelled;
     992           0 :   mPrintFrameTypeUsage = rhs.mPrintFrameTypeUsage;
     993           0 :   mPrintFrameType      = rhs.mPrintFrameType;
     994           0 :   mPrintSilent         = rhs.mPrintSilent;
     995           0 :   mShrinkToFit         = rhs.mShrinkToFit;
     996           0 :   mShowPrintProgress   = rhs.mShowPrintProgress;
     997           0 :   mPaperName           = rhs.mPaperName;
     998           0 :   mPaperData           = rhs.mPaperData;
     999           0 :   mPaperWidth          = rhs.mPaperWidth;
    1000           0 :   mPaperHeight         = rhs.mPaperHeight;
    1001           0 :   mPaperSizeUnit       = rhs.mPaperSizeUnit;
    1002           0 :   mPrintReversed       = rhs.mPrintReversed;
    1003           0 :   mPrintInColor        = rhs.mPrintInColor;
    1004           0 :   mOrientation         = rhs.mOrientation;
    1005           0 :   mNumCopies           = rhs.mNumCopies;
    1006           0 :   mPrinter             = rhs.mPrinter;
    1007           0 :   mPrintToFile         = rhs.mPrintToFile;
    1008           0 :   mToFileName          = rhs.mToFileName;
    1009           0 :   mOutputFormat        = rhs.mOutputFormat;
    1010           0 :   mPrintPageDelay      = rhs.mPrintPageDelay;
    1011             : 
    1012           0 :   for (int32_t i=0;i<NUM_HEAD_FOOT;i++) {
    1013           0 :     mHeaderStrs[i] = rhs.mHeaderStrs[i];
    1014           0 :     mFooterStrs[i] = rhs.mFooterStrs[i];
    1015             :   }
    1016             : 
    1017           0 :   return *this;
    1018             : }
    1019             : 

Generated by: LCOV version 1.13