krita

kis_iterator.cc

00001 /* This file is part of the KDE project
00002  *   Copyright (c) 2004 Casper Boemann <cbr@boemann.dkt>
00003  *
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00017 */
00018 
00019 
00020 #include <qglobal.h>
00021 
00022 #include <kdebug.h>
00023 
00024 #include "kis_iterator.h"
00025 #include "kis_datamanager.h"
00026 #include "kis_tilediterator.h"
00027 
00028 KisRectIterator::KisRectIterator ( KisDataManager *dm, Q_INT32  x, Q_INT32  y, Q_INT32  w, Q_INT32  h, bool writable) 
00029 {
00030     m_iter = new KisTiledRectIterator(dm, x, y, w, h, writable);
00031 }
00032 KisRectIterator::KisRectIterator(const KisRectIterator& rhs) 
00033 {
00034     m_iter = rhs.m_iter;
00035 }
00036 
00037 KisRectIterator& KisRectIterator::operator=(const KisRectIterator& rhs)
00038 {
00039     m_iter = rhs.m_iter;
00040     return *this;
00041 }
00042 
00043 KisRectIterator::~KisRectIterator()
00044 {
00045 }
00046 
00047 Q_UINT8 * KisRectIterator::rawData() const { return m_iter->rawData();}
00048 
00049 const Q_UINT8 * KisRectIterator::oldRawData() const { return m_iter->oldRawData();}
00050 
00051 Q_INT32 KisRectIterator::nConseqPixels() const { return m_iter->nConseqPixels(); }
00052 
00053 KisRectIterator & KisRectIterator::operator+=(int n) { m_iter->operator+=(n); return *this; }
00054 
00055 KisRectIterator & KisRectIterator::operator++() { m_iter->operator++(); return *this; }
00056 
00057 bool KisRectIterator::isDone()  const { return m_iter->isDone(); }
00058 
00059 Q_INT32 KisRectIterator::x() const { return m_iter->x(); }
00060 Q_INT32 KisRectIterator::y() const { return m_iter->y(); }
00061 
00062 //---------------------------------------------------------------------------------------
00063 
00064 KisHLineIterator::KisHLineIterator ( KisDataManager *dm, Q_INT32  x, Q_INT32 y, Q_INT32 w, bool writable) 
00065 {
00066     m_iter = new KisTiledHLineIterator(dm, x, y, w, writable);
00067 }
00068 
00069 KisHLineIterator::KisHLineIterator(const KisHLineIterator& rhs)
00070 {
00071     m_iter = rhs.m_iter;
00072 }
00073 
00074 KisHLineIterator& KisHLineIterator::operator=(const KisHLineIterator& rhs)
00075 { 
00076 
00077     m_iter=rhs.m_iter; 
00078     return *this; 
00079 }
00080 
00081 KisHLineIterator::~KisHLineIterator()
00082 {
00083 }
00084 
00085 Q_UINT8 *KisHLineIterator::rawData() const 
00086 { 
00087     return m_iter->rawData();
00088 }
00089 
00090 const Q_UINT8 *KisHLineIterator::oldRawData() const { return m_iter->oldRawData();}
00091 
00092 KisHLineIterator & KisHLineIterator::operator++() { m_iter->operator++(); return *this; }
00093 
00094 Q_INT32 KisHLineIterator::nConseqHPixels() const { return m_iter->nConseqHPixels(); }
00095 
00096 KisHLineIterator & KisHLineIterator::operator+=(int n) { m_iter->operator+=(n); return *this; }
00097 
00098 KisHLineIterator & KisHLineIterator::operator--() { m_iter->operator--(); return *this; }
00099 
00100 bool KisHLineIterator::isDone()  const { return m_iter->isDone(); }
00101 
00102 Q_INT32 KisHLineIterator::x() const { return m_iter->x(); }
00103  
00104 Q_INT32 KisHLineIterator::y() const { return m_iter->y(); }
00105 
00106 void KisHLineIterator::nextRow() { m_iter->nextRow(); }
00107 
00108 //---------------------------------------------------------------------------------------
00109 
00110 KisVLineIterator::KisVLineIterator ( KisDataManager *dm, Q_INT32  x, Q_INT32 y, Q_INT32  h, bool writable)
00111 {
00112     m_iter = new KisTiledVLineIterator(dm, x, y, h, writable);
00113 }
00114 
00115 KisVLineIterator::KisVLineIterator(const KisVLineIterator& rhs)
00116 {
00117     m_iter = rhs.m_iter;
00118 }
00119 
00120 KisVLineIterator& KisVLineIterator::operator=(const KisVLineIterator& rhs)
00121 {
00122     m_iter = rhs.m_iter;
00123     return *this; 
00124 }
00125 
00126 KisVLineIterator::~KisVLineIterator()
00127 {
00128 }
00129 
00130 Q_UINT8 *KisVLineIterator::rawData() const { return m_iter->rawData();}
00131 
00132 const Q_UINT8 * KisVLineIterator::oldRawData() const { return m_iter->oldRawData();}
00133 
00134 KisVLineIterator & KisVLineIterator::operator++() { m_iter->operator++(); return *this; }
00135 
00136 bool KisVLineIterator::isDone() const { return m_iter->isDone(); }
00137 
00138 Q_INT32 KisVLineIterator::x() const { return m_iter->x(); }
00139 
00140 Q_INT32 KisVLineIterator::y() const { return m_iter->y(); }
00141 
00142 void KisVLineIterator::nextCol() { return m_iter->nextCol(); }
KDE Home | KDE Accessibility Home | Description of Access Keys