File indexing completed on 2024-05-12 05:55:26
0001 /* 0002 This file is part of the Okteta Core library, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2007 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "fill.hpp" 0010 0011 // 0012 #include <abstractbytearraymodel.hpp> 0013 // Qt 0014 #include <QByteArray> 0015 0016 using namespace Okteta; 0017 0018 // fills the buffer with char from b to e 0019 void textureByteArrayModel(AbstractByteArrayModel* byteArrayModel, 0020 unsigned char b, unsigned char e, 0021 unsigned int From, int To) 0022 { 0023 const Size size = byteArrayModel->size(); 0024 0025 // check 0026 if (To == -1 || To >= size) { 0027 To = size - 1; 0028 } 0029 if (b > e) { 0030 b = e; 0031 } 0032 0033 // do 0034 unsigned char c = b; 0035 for (int i = From; i <= To; ++i) { 0036 byteArrayModel->setByte(i, c); 0037 if (c == e) { 0038 c = b; 0039 } else { 0040 c++; 0041 } 0042 } 0043 } 0044 0045 void textureByteArrayModel(AbstractByteArrayModel* byteArrayModel, 0046 unsigned char b, unsigned char e, 0047 const AddressRange& range) 0048 { 0049 textureByteArrayModel(byteArrayModel, b, e, range.start(), range.end()); 0050 } 0051 0052 void textureByteArray(QByteArray* byteArray, 0053 unsigned char b, unsigned char e, 0054 unsigned int From, int To) 0055 { 0056 const int size = byteArray->size(); 0057 0058 // check 0059 if (To == -1 || To >= size) { 0060 To = size - 1; 0061 } 0062 if (b > e) { 0063 b = e; 0064 } 0065 0066 // do 0067 unsigned char c = b; 0068 for (int i = From; i <= To; ++i) { 0069 (*byteArray)[i] = c; 0070 if (c == e) { 0071 c = b; 0072 } else { 0073 c++; 0074 } 0075 } 0076 } 0077 0078 void textureByteArray(QByteArray* byteArray, 0079 unsigned char b, unsigned char e, 0080 const AddressRange& range) 0081 { 0082 textureByteArray(byteArray, b, e, range.start(), range.end()); 0083 } 0084 0085 /* 0086 static void list(AbstractByteArrayModel* byteArrayModel, const char* Name) 0087 { 0088 unsigned int size = byteArrayModel->size(); 0089 for (unsigned int i=0; i<size; ++i) { 0090 kdDebug() << Name<<":"<<i<<":"<<byteArrayModel->datum(i) << endl; 0091 } 0092 } 0093 */