www.pudn.com > uoth_src.zip > PrintOutput.h
#ifndef DSSI_PRINTOUTPUT_H
#define DSSI_PRINTOUTPUT_H
//-----------------------------------------------------------------------------
//
// @doc
//
// @module PrintOutput.h - Print support |
//
// This module contains the definition for the print object
//
// Copyright (c) 2002 - Descartes Systems Sciences, Inc.
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// 2. Neither the name of Descartes Systems Sciences, Inc nor the names of
// its contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// @end
//
// $History: PrintOutput.h $
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//
// Required include files
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//
// Forward definitions
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//
// Class definition
//
//-----------------------------------------------------------------------------
class CPrintOutput
{
// @access Constructors and destructors
public:
// @cmember Constructor
CPrintOutput ();
// @cmember Destructor
~CPrintOutput ();
// @access Public methods
public:
// @cmember Print
void Print (HWND hWnd);
// @access Protected members
protected:
// @cmember Print the page header
void PrintPageHeader ();
// @cmember Print the page footer
void PrintPageFooter ();
// @cmember Print a centered string
void PrintCentered (LPCTSTR pszString, int y);
// @cmember Get the drawing area
static void GetDrawingArea (HDC hDC,
const RECT *prectMargins, RECT *pRect);
// @access Protected variables
protected:
// @cmember Output DC
HDC m_hdc;
// @cmember Starting time of print
SYSTEMTIME m_stStart;
// @cmember Rectangle defining the whole page
CRect m_rectPage;
// @cmember Rectangle defining drawing area
CRect m_rectDraw;
// @cmember Height of the font
int m_tmHeight;
// @cmember Average char width
int m_tmAveCharWidth;
// @cmember Current page
UINT m_nCurPage;
// @cmember If true, error occured
bool m_fError;
// @cmember Amount of space used in page
int m_nPageUsed;
};
#endif // DSSI_PRINTOUTPUT_H