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