diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2021-05-23 20:48:35 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2021-05-29 15:16:28 +0900 |
commit | 8b78a8791bc539bcffe7159f9d9714d577cb3d7d (patch) | |
tree | 1328291f966f19a22d7b13657d3f01a588eb1083 /lib/kwmf/kowmfwrite.cc | |
parent | 95834e2bdc5e01ae1bd21ac0dfa4fa1d2417fae9 (diff) | |
download | koffice-8b78a8791bc539bcffe7159f9d9714d577cb3d7d.tar.gz koffice-8b78a8791bc539bcffe7159f9d9714d577cb3d7d.zip |
Renaming of files in preparation for code style tools.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'lib/kwmf/kowmfwrite.cc')
-rw-r--r-- | lib/kwmf/kowmfwrite.cc | 456 |
1 files changed, 0 insertions, 456 deletions
diff --git a/lib/kwmf/kowmfwrite.cc b/lib/kwmf/kowmfwrite.cc deleted file mode 100644 index 22a0d131..00000000 --- a/lib/kwmf/kowmfwrite.cc +++ /dev/null @@ -1,456 +0,0 @@ -/* This file is part of the KDE libraries - * Copyright (c) 2003 thierry lorthiois (lorthioist@wanadoo.fr) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License version 2 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. -*/ - -#include <math.h> -#include <tqfile.h> -#include <tqdatastream.h> - -#include <kdebug.h> - -#include "kowmfstruct.h" -#include "kowmfreadprivate.h" -#include "kowmfwrite.h" - -/** - * Private data - */ -class KoWmfWritePrivate -{ -public: - TQRect mBBox; // bounding rectangle - int mDpi; // number of point per inch for the default size - int mMaxRecordSize; - - // memory allocation for WMF file - TQFile mFileOut; - TQDataStream mSt; -}; - - - -KoWmfWrite::KoWmfWrite( const TQString& fileName ) { - d = new KoWmfWritePrivate; - - d->mDpi = 1024; - d->mMaxRecordSize = 0; - d->mFileOut.setName( fileName ); -} - -KoWmfWrite::~KoWmfWrite() { - delete d; -} - - -void KoWmfWrite::setDefaultDpi( int dpi ) { - d->mDpi = dpi; -} - - -//----------------------------------------------------------------------------- -// Virtual Painter => create the WMF - -bool KoWmfWrite::begin() { - - if ( !d->mFileOut.open( IO_WriteOnly ) ) - { - kdDebug() << "Cannot open file " << TQString(TQFile::encodeName(d->mFileOut.name())) << endl; - return false; - } - d->mSt.setDevice( &d->mFileOut ); - d->mSt.setByteOrder( TQDataStream::LittleEndian ); - - // reserved placeable and standard header - for ( int i=0 ; i < 10 ; i++ ) { - d->mSt << (TQ_UINT32)0; - } - - // initialize the stack of objects - // Pen - d->mSt << (TQ_UINT32)8 << (TQ_UINT16)0x02FA; - d->mSt << (TQ_UINT16)5 << (TQ_UINT16)0 << (TQ_UINT16)0 << (TQ_UINT32)0; - // Brush - d->mSt << (TQ_UINT32)7 << (TQ_UINT16)0x02FC; - d->mSt << (TQ_UINT16)1 << (TQ_UINT32)0 << (TQ_UINT16)0; - for ( int i=0 ; i < 4 ; i++ ) { - d->mSt << (TQ_UINT32)8 << (TQ_UINT16)0x02FA << (TQ_UINT16)0 << (TQ_UINT32)0 << (TQ_UINT32)0; - } - d->mMaxRecordSize = 8; - - return true; -} - - -bool KoWmfWrite::end() { - WmfPlaceableHeader pheader = { 0x9AC6CDD7, 0, 0, 0, 0, 0, 0, 0, 0 }; - TQ_UINT16 checksum; - - // End of the wmf file - d->mSt << (TQ_UINT32)3 << (TQ_UINT16)0; - - // adjust header - pheader.left = d->mBBox.left(); - pheader.top = d->mBBox.top(); - pheader.right = d->mBBox.right(); - pheader.bottom = d->mBBox.bottom(); - pheader.inch = d->mDpi; - checksum = KoWmfReadPrivate::calcCheckSum( &pheader ); - - // write headers - d->mFileOut.at( 0 ); - d->mSt << (TQ_UINT32)0x9AC6CDD7 << (TQ_UINT16)0; - d->mSt << (TQ_INT16)d->mBBox.left() << (TQ_INT16)d->mBBox.top() << (TQ_INT16)d->mBBox.right() << (TQ_INT16)d->mBBox.bottom(); - d->mSt << (TQ_UINT16)d->mDpi << (TQ_UINT32)0 << checksum; - d->mSt << (TQ_UINT16)1 << (TQ_UINT16)9 << (TQ_UINT16)0x300 << (TQ_UINT32)(d->mFileOut.size()/2); - d->mSt << (TQ_UINT16)6 << (TQ_UINT32)d->mMaxRecordSize << (TQ_UINT16)0; - - d->mFileOut.close(); - - return true; -} - - -void KoWmfWrite::save() { - d->mSt << (TQ_UINT32)3 << (TQ_UINT16)0x001E; -} - - -void KoWmfWrite::restore() { - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x0127 << (TQ_UINT16)1; -} - - -void KoWmfWrite::setPen( const TQPen &pen ) { - int style; - int max = sizeof(koWmfStylePen) / sizeof(TQt::SolidLine); - - // we can't delete an object currently selected - // select another object - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x012D << (TQ_UINT16)0; - // delete object - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x01f0 << (TQ_UINT16)2; - - for ( style=0 ; style < max ; style++ ) { - if ( koWmfStylePen[ style ] == pen.style() ) break; - } - if ( style == max ) { - // SolidLine - style = 0; - } - d->mSt << (TQ_UINT32)8 << (TQ_UINT16)0x02FA; - d->mSt << (TQ_UINT16)style << (TQ_UINT16)pen.width() << (TQ_UINT16)0 << (TQ_UINT32)winColor( pen.color() ); - - // select object - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x012D << (TQ_UINT16)2; -} - - -void KoWmfWrite::setBrush( const TQBrush &brush ) { - int style; - int max = sizeof(koWmfStyleBrush) / sizeof(TQt::NoBrush); - - // we can't delete an object currently selected - // select another object - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x012D << (TQ_UINT16)1; - // delete object - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x01f0 << (TQ_UINT16)3; - - for ( style=0 ; style < max ; style++ ) { - if ( koWmfStyleBrush[ style ] == brush.style() ) break; - } - if ( style == max ) { - // SolidPattern - style = 0; - } - d->mSt << (TQ_UINT32)7 << (TQ_UINT16)0x02FC; - d->mSt << (TQ_UINT16)style << (TQ_UINT32)winColor( brush.color() ) << (TQ_UINT16)0; - - // select object - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x012D << (TQ_UINT16)3; -} - - -void KoWmfWrite::setFont( const TQFont & ) { -} - - -void KoWmfWrite::setBackgroundColor( const TQColor &c ) { - d->mSt << (TQ_UINT32)5 << (TQ_UINT16)0x0201 << (TQ_UINT32)winColor( c ); -} - - -void KoWmfWrite::setBackgroundMode( Qt::BGMode mode ) { - d->mSt << (TQ_UINT32)4 << (TQ_UINT16)0x0102; - if ( mode == Qt::TransparentMode ) - d->mSt << (TQ_UINT16)1; - else - d->mSt << (TQ_UINT16)0; -} - - -void KoWmfWrite::setRasterOp( TQt::RasterOp op ) { - d->mSt << (TQ_UINT32)5 << (TQ_UINT16)0x0104 << (TQ_UINT32)qtRasterToWin32( op ); -} - - -void KoWmfWrite::setWindow( int left, int top, int width, int height ) { - d->mBBox.setRect( left, top, width, height ); - - // windowOrg - d->mSt << (TQ_UINT32)5 << (TQ_UINT16)0x020B << (TQ_UINT16)top << (TQ_UINT16)left; - - // windowExt - d->mSt << (TQ_UINT32)5 << (TQ_UINT16)0x020C << (TQ_UINT16)height << (TQ_UINT16)width; -} - - -void KoWmfWrite::setClipRegion( const TQRegion & ) { - -} - - -void KoWmfWrite::clipping( bool enable ) { - if ( !enable ) { - // clipping region == bounding rectangle - setClipRegion( d->mBBox ); - } -} - - -void KoWmfWrite::moveTo( int left, int top ) { - d->mSt << (TQ_UINT32)5 << (TQ_UINT16)0x0214 << (TQ_UINT16)top << (TQ_UINT16)left; -} - - -void KoWmfWrite::lineTo( int left, int top ) { - d->mSt << (TQ_UINT32)5 << (TQ_UINT16)0x0213 << (TQ_UINT16)top << (TQ_UINT16)left; -} - - -void KoWmfWrite::drawRect( int left, int top, int width, int height ) { - TQRect rec( left, top, width, height ); - - d->mSt << (TQ_UINT32)7 << (TQ_UINT16)0x041B; - d->mSt << (TQ_UINT16)rec.bottom() << (TQ_UINT16)rec.right() << (TQ_UINT16)rec.top() << (TQ_UINT16)rec.left(); -} - - -void KoWmfWrite::drawRoundRect( int left, int top, int width, int height , int roudw, int roudh ) { - int widthCorner, heightCorner; - TQRect rec( left, top, width, height ); - - // convert percentage (roundw, roudh) in (widthCorner, heightCorner) - widthCorner = ( roudw * width ) / 100; - heightCorner = ( roudh * height ) / 100; - - d->mSt << (TQ_UINT32)9 << (TQ_UINT16)0x061C << (TQ_UINT16)heightCorner << (TQ_UINT16)widthCorner; - d->mSt << (TQ_UINT16)rec.bottom() << (TQ_UINT16)rec.right() << (TQ_UINT16)rec.top() << (TQ_UINT16)rec.left(); - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, 9 ); -} - - -void KoWmfWrite::drawEllipse( int left, int top, int width, int height ) { - TQRect rec( left, top, width, height ); - - d->mSt << (TQ_UINT32)7 << (TQ_UINT16)0x0418; - d->mSt << (TQ_UINT16)rec.bottom() << (TQ_UINT16)rec.right() << (TQ_UINT16)rec.top() << (TQ_UINT16)rec.left(); -} - - -void KoWmfWrite::drawArc( int left, int top, int width, int height , int a, int alen ) { - int xCenter, yCenter; - int offXStart, offYStart, offXEnd, offYEnd; - - angleToxy( offXStart, offYStart, offXEnd, offYEnd, a, alen ); - xCenter = left + (width / 2); - yCenter = top + (height / 2); - - d->mSt << (TQ_UINT32)11 << (TQ_UINT16)0x0817; - d->mSt << (TQ_UINT16)(yCenter + offYEnd) << (TQ_UINT16)(xCenter + offXEnd); - d->mSt << (TQ_UINT16)(yCenter + offYStart) << (TQ_UINT16)(xCenter + offXStart); - d->mSt << (TQ_UINT16)(top + height) << (TQ_UINT16)(left + width); - d->mSt << (TQ_UINT16)top << (TQ_UINT16)left; - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, 11 ); -} - - -void KoWmfWrite::drawPie( int left, int top, int width, int height , int a, int alen ) { - int xCenter, yCenter; - int offXStart, offYStart, offXEnd, offYEnd; - - angleToxy( offXStart, offYStart, offXEnd, offYEnd, a, alen ); - xCenter = left + (width / 2); - yCenter = top + (height / 2); - - d->mSt << (TQ_UINT32)11 << (TQ_UINT16)0x081A; - d->mSt << (TQ_UINT16)(yCenter + offYEnd) << (TQ_UINT16)(xCenter + offXEnd); - d->mSt << (TQ_UINT16)(yCenter + offYStart) << (TQ_UINT16)(xCenter + offXStart); - d->mSt << (TQ_UINT16)(top + height) << (TQ_UINT16)(left + width); - d->mSt << (TQ_UINT16)top << (TQ_UINT16)left; - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, 11 ); -} - - -void KoWmfWrite::drawChord( int left, int top, int width, int height , int a, int alen ) { - int xCenter, yCenter; - int offXStart, offYStart, offXEnd, offYEnd; - - angleToxy( offXStart, offYStart, offXEnd, offYEnd, a, alen ); - xCenter = left + (width / 2); - yCenter = top + (height / 2); - - d->mSt << (TQ_UINT32)11 << (TQ_UINT16)0x0830; - d->mSt << (TQ_UINT16)(yCenter + offYEnd) << (TQ_UINT16)(xCenter + offXEnd); - d->mSt << (TQ_UINT16)(yCenter + offYStart) << (TQ_UINT16)(xCenter + offXStart); - d->mSt << (TQ_UINT16)(top + height) << (TQ_UINT16)(left + width); - d->mSt << (TQ_UINT16)top << (TQ_UINT16)left; - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, 11 ); -} - - -void KoWmfWrite::drawPolyline( const TQPointArray &pa ) { - int size = 4 + (pa.size() * 2); - - d->mSt << (TQ_UINT32)size << (TQ_UINT16)0x0325 << (TQ_UINT16)pa.size(); - pointArray( pa ); - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, size ); -} - - -void KoWmfWrite::drawPolygon( const TQPointArray &pa, bool ) { - int size = 4 + (pa.size() * 2); - - d->mSt << (TQ_UINT32)size << (TQ_UINT16)0x0324 << (TQ_UINT16)pa.size(); - pointArray( pa ); - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, size ); -} - - -void KoWmfWrite::drawPolyPolygon( TQPtrList<TQPointArray>& listPa, bool ) { - - TQPointArray *pa; - int sizeArrayPoly = 0; - - for ( pa = listPa.first() ; pa ; pa = listPa.next() ) { - sizeArrayPoly += (pa->size() * 2); - } - int size = 4 + listPa.count() + sizeArrayPoly; - d->mSt << (TQ_UINT32)size << (TQ_UINT16)0x0538 << (TQ_UINT16)listPa.count(); - - // number of point for each Polygon - for ( pa = listPa.first() ; pa ; pa = listPa.next() ) { - d->mSt << (TQ_UINT16)pa->size(); - } - - // list of points - for ( pa = listPa.first() ; pa ; pa = listPa.next() ) { - pointArray( *pa ); - } - - d->mMaxRecordSize = TQMAX( d->mMaxRecordSize, size ); - -} - - -void KoWmfWrite::drawImage( int , int , const TQImage &, int , int , int , int ) { -/* - TQImage img; - - img = image; - img.setFormat( "BMP" ); - - TQIODevice io = img.ioDevice(); - io.at( 14 ); // skip the BMP header - d->mSt << io.readAll(); -*/ -} - - -void KoWmfWrite::drawText( int , int , int , int , int , const TQString& , double ) { -// d->mSt << (TQ_UINT32)3 << (TQ_UINT16)0x0A32; -} - -//----------------------------------------------------------------------------- -// Utilities and conversion TQt --> Wmf - -void KoWmfWrite::pointArray( const TQPointArray &pa ) { - int left, top, i, max; - - for ( i=0, max=pa.size() ; i < max ; i++ ) { - pa.point( i, &left, &top ); - d->mSt << (TQ_INT16)left << (TQ_INT16)top; - } -} - - -TQ_UINT32 KoWmfWrite::winColor( TQColor color ) { - TQ_UINT32 c; - - c = (color.red() & 0xFF); - c += ( (color.green() & 0xFF) << 8 ); - c += ( (color.blue() & 0xFF) << 16 ); - - return c; -} - - -void KoWmfWrite::angleToxy( int &xStart, int &yStart, int &xEnd, int &yEnd, int a, int alen ) { - double angleStart, angleLength; - - angleStart = ((double)a * 3.14166) / 2880; - angleLength = ((double)alen * 3.14166) / 2880; - - xStart = (int)(cos(angleStart) * 50); - yStart = -(int)(sin(angleStart) * 50); - xEnd = (int)(cos(angleLength) * 50); - yEnd = -(int)(sin(angleLength) * 50); -} - - -TQ_UINT16 KoWmfWrite::qtRasterToWin16( TQt::RasterOp op ) const { - int i; - - for ( i=0 ; i < 17 ; i++ ) { - if ( koWmfOpTab16[ i ] == op ) break; - } - - if ( i < 17 ) - return (TQ_UINT16)i; - else - return (TQ_UINT16)0; -} - - -TQ_UINT32 KoWmfWrite::qtRasterToWin32( TQt::RasterOp op ) const { - int i; - - for ( i=0 ; i < 15 ; i++ ) { - if ( koWmfOpTab32[ i ].qtRasterOp == op ) break; - } - - if ( i < 15 ) - return koWmfOpTab32[ i ].winRasterOp; - else - return koWmfOpTab32[ 0 ].winRasterOp; -} - |