From 47d455dd55be855e4cc691c32f687f723d9247ee Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kooka/kookaprint.h | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 kooka/kookaprint.h (limited to 'kooka/kookaprint.h') diff --git a/kooka/kookaprint.h b/kooka/kookaprint.h new file mode 100644 index 00000000..5f87d973 --- /dev/null +++ b/kooka/kookaprint.h @@ -0,0 +1,95 @@ +/*************************************************************************** + kookaprint.h - Printing from the gallery + ------------------- + begin : Tue May 13 2003 + copyright : (C) 1999 by Klaas Freitag + email : freitag@suse.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This file may be distributed and/or modified under the terms of the * + * GNU General Public License version 2 as published by the Free Software * + * Foundation and appearing in the file COPYING included in the * + * packaging of this file. * + * + * As a special exception, permission is given to link this program * + * with any version of the KADMOS ocr/icr engine of reRecognition GmbH, * + * Kreuzlingen and distribute the resulting executable without * + * including the source code for KADMOS in the source distribution. * + * + * As a special exception, permission is given to link this program * + * with any edition of Qt, and distribute the resulting executable, * + * without including the source code for Qt in the source distribution. * + * * + ***************************************************************************/ + +#ifndef __KOOKA_PRINT_H__ +#define __KOOKA_PRINT_H__ + +#include +#include +#include +#include +#include + +class KookaImage; +class KPrinter; +class QPainter; +class KLineEdit; + + +class ImageSettings : public KPrintDialogPage +{ +public: + void setOptions( const QMap& opts ); + void getOptions( QMap& opts, bool include_def = false ); + bool isValid( QString& msg ); + +private: + KLineEdit *m_width, *m_height; + +}; + + +class KookaPrint:public QObject +{ + Q_OBJECT +public: + KookaPrint(KPrinter*); + + /** + * The top left edge of the required print position + */ + virtual QPoint printPosTopLeft(const QSize&) const; + virtual QPoint printPosTopRight(const QSize&) const; + virtual QPoint printPosBottomLeft(const QSize&) const; + virtual QPoint printPosBottomRight(const QSize&) const; + + virtual int extraMarginPix() const; + + /** + * The maximum pixel size of the image (or imagepart) on + * the current page + */ + virtual QSize maxPageSize( int extraShrinkPercent = 0 ) const; + +public slots: + + bool printImage( KookaImage* ); + void printFittingToPage(KookaImage *img); +protected: + typedef enum { SW, NW, NO, SO } MarkerDirection; + + virtual void drawMarkerAroundPoint( const QPoint& ); + virtual void drawCutSign( const QPoint&, int, MarkerDirection ); + virtual void drawCornerMarker( const QSize&, int, int, int, int ); + +private: + + KPrinter *m_printer; + QPainter *m_painter; + int m_extraMarginPercent; +}; + +#endif -- cgit v1.2.1