mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// This module defines interface to the QsciPrinter class.
 | 
						|
//
 | 
						|
// Copyright (c) 2011 Riverbank Computing Limited <info@riverbankcomputing.com>
 | 
						|
// 
 | 
						|
// This file is part of QScintilla.
 | 
						|
// 
 | 
						|
// This file may be used under the terms of the GNU General Public
 | 
						|
// License versions 2.0 or 3.0 as published by the Free Software
 | 
						|
// Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
 | 
						|
// included in the packaging of this file.  Alternatively you may (at
 | 
						|
// your option) use any later version of the GNU General Public
 | 
						|
// License if such license has been publicly approved by Riverbank
 | 
						|
// Computing Limited (or its successors, if any) and the KDE Free Qt
 | 
						|
// Foundation. In addition, as a special exception, Riverbank gives you
 | 
						|
// certain additional rights. These rights are described in the Riverbank
 | 
						|
// GPL Exception version 1.1, which can be found in the file
 | 
						|
// GPL_EXCEPTION.txt in this package.
 | 
						|
// 
 | 
						|
// If you are unsure which license is appropriate for your use, please
 | 
						|
// contact the sales department at sales@riverbankcomputing.com.
 | 
						|
// 
 | 
						|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 | 
						|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 | 
						|
 | 
						|
#ifndef QSCIPRINTER_H
 | 
						|
#define QSCIPRINTER_H
 | 
						|
 | 
						|
#ifdef __APPLE__
 | 
						|
extern "C++" {
 | 
						|
#endif
 | 
						|
 | 
						|
#include <qprinter.h>
 | 
						|
 | 
						|
#include <Qsci/qsciglobal.h>
 | 
						|
#include <Qsci/qsciscintilla.h>
 | 
						|
 | 
						|
 | 
						|
QT_BEGIN_NAMESPACE
 | 
						|
class QRect;
 | 
						|
class QPainter;
 | 
						|
QT_END_NAMESPACE
 | 
						|
 | 
						|
class QsciScintillaBase;
 | 
						|
 | 
						|
 | 
						|
//! \brief The QsciPrinter class is a sub-class of the Qt QPrinter class that
 | 
						|
//! is able to print the text of a Scintilla document.
 | 
						|
//!
 | 
						|
//! The class can be further sub-classed to alter to layout of the text, adding
 | 
						|
//! headers and footers for example.
 | 
						|
class QSCINTILLA_EXPORT QsciPrinter : public QPrinter
 | 
						|
{
 | 
						|
public:
 | 
						|
    //! Constructs a printer paint device with mode \a mode.
 | 
						|
    QsciPrinter(PrinterMode mode = ScreenResolution);
 | 
						|
 | 
						|
    //! Destroys the QsciPrinter instance.
 | 
						|
    virtual ~QsciPrinter();
 | 
						|
 | 
						|
    //! Format a page, by adding headers and footers for example, before the
 | 
						|
    //! document text is drawn on it.  \a painter is the painter to be used to
 | 
						|
    //! add customised text and graphics.  \a drawing is true if the page is
 | 
						|
    //! actually being drawn rather than being sized.  \a painter drawing
 | 
						|
    //! methods must only be called when \a drawing is true.  \a area is the
 | 
						|
    //! area of the page that will be used to draw the text.  This should be
 | 
						|
    //! modified if it is necessary to reserve space for any customised text or
 | 
						|
    //! graphics.  By default the area is relative to the printable area of the
 | 
						|
    //! page.  Use QPrinter::setFullPage() because calling printRange() if you
 | 
						|
    //! want to try and print over the whole page.  \a pagenr is the number of
 | 
						|
    //! the page.  The first page is numbered 1.
 | 
						|
    virtual void formatPage(QPainter &painter, bool drawing, QRect &area,
 | 
						|
            int pagenr);
 | 
						|
 | 
						|
    //! Return the number of points to add to each font when printing.
 | 
						|
    //!
 | 
						|
    //! \sa setMagnification()
 | 
						|
    int magnification() const {return mag;}
 | 
						|
 | 
						|
    //! Sets the number of points to add to each font when printing to \a
 | 
						|
    //! magnification.
 | 
						|
    //!
 | 
						|
    //! \sa magnification()
 | 
						|
    virtual void setMagnification(int magnification);
 | 
						|
 | 
						|
    //! Print a range of lines from the Scintilla instance \a qsb.  \a from is
 | 
						|
    //! the first line to print and a negative value signifies the first line
 | 
						|
    //! of text.  \a to is the last line to print and a negative value
 | 
						|
    //! signifies the last line of text.  true is returned if there was no
 | 
						|
    //! error.
 | 
						|
    virtual int printRange(QsciScintillaBase *qsb, int from = -1, int to = -1);
 | 
						|
 | 
						|
    //! Return the line wrap mode used when printing.  The default is
 | 
						|
    //! QsciScintilla::WrapWord.
 | 
						|
    //!
 | 
						|
    //! \sa setWrapMode()
 | 
						|
    QsciScintilla::WrapMode wrapMode() const {return wrap;}
 | 
						|
 | 
						|
    //! Sets the line wrap mode used when printing to \a wmode.
 | 
						|
    //!
 | 
						|
    //! \sa wrapMode()
 | 
						|
    virtual void setWrapMode(QsciScintilla::WrapMode wmode);
 | 
						|
 | 
						|
private:
 | 
						|
    int mag;
 | 
						|
    QsciScintilla::WrapMode wrap;
 | 
						|
 | 
						|
    QsciPrinter(const QsciPrinter &);
 | 
						|
    QsciPrinter &operator=(const QsciPrinter &);
 | 
						|
};
 | 
						|
 | 
						|
#ifdef __APPLE__
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |