File indexing completed on 2024-04-21 05:53:04
0001 /* 0002 This file is part of the Okteta Gui library, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2003, 2007-2009, 2019 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 "abstractbytearraycolumnrenderer.hpp" 0010 #include "abstractbytearraycolumnrenderer_p.hpp" 0011 0012 // lib 0013 #include "coord.hpp" 0014 0015 namespace Okteta { 0016 0017 AbstractByteArrayColumnRenderer::AbstractByteArrayColumnRenderer(AbstractByteArrayColumnRendererPrivate* d) 0018 : AbstractColumnRenderer(d) 0019 { 0020 } 0021 0022 AbstractByteArrayColumnRenderer::~AbstractByteArrayColumnRenderer() = default; 0023 0024 PixelX AbstractByteArrayColumnRenderer::byteWidth() const 0025 { 0026 Q_D(const AbstractByteArrayColumnRenderer); 0027 0028 return d->byteWidth(); 0029 } 0030 0031 PixelX AbstractByteArrayColumnRenderer::digitWidth() const 0032 { 0033 Q_D(const AbstractByteArrayColumnRenderer); 0034 0035 return d->digitWidth(); 0036 } 0037 0038 PixelX AbstractByteArrayColumnRenderer::byteSpacingWidth() const 0039 { 0040 Q_D(const AbstractByteArrayColumnRenderer); 0041 0042 return d->byteSpacingWidth(); 0043 } 0044 0045 PixelX AbstractByteArrayColumnRenderer::groupSpacingWidth() const 0046 { 0047 Q_D(const AbstractByteArrayColumnRenderer); 0048 0049 return d->groupSpacingWidth(); 0050 } 0051 0052 int AbstractByteArrayColumnRenderer::noOfGroupedBytes() const 0053 { 0054 Q_D(const AbstractByteArrayColumnRenderer); 0055 0056 return d->noOfGroupedBytes(); 0057 } 0058 0059 LinePosition AbstractByteArrayColumnRenderer::firstLinePos() const 0060 { 0061 Q_D(const AbstractByteArrayColumnRenderer); 0062 0063 return d->firstLinePos(); 0064 } 0065 0066 LinePosition AbstractByteArrayColumnRenderer::lastLinePos() const 0067 { 0068 Q_D(const AbstractByteArrayColumnRenderer); 0069 0070 return d->lastLinePos(); 0071 } 0072 0073 LinePositionRange AbstractByteArrayColumnRenderer::visibleLinePositions() const 0074 { 0075 Q_D(const AbstractByteArrayColumnRenderer); 0076 0077 return d->visibleLinePositions(); 0078 } 0079 0080 const ByteArrayTableLayout* AbstractByteArrayColumnRenderer::layout() const 0081 { 0082 Q_D(const AbstractByteArrayColumnRenderer); 0083 0084 return d->layout(); 0085 } 0086 0087 void AbstractByteArrayColumnRenderer::setCharCodec(const CharCodec* charCodec) 0088 { 0089 Q_D(AbstractByteArrayColumnRenderer); 0090 0091 d->setCharCodec(charCodec); 0092 } 0093 0094 void AbstractByteArrayColumnRenderer::setByteTypeColored(bool byteTypeColored) 0095 { 0096 Q_D(AbstractByteArrayColumnRenderer); 0097 0098 d->setByteTypeColored(byteTypeColored); 0099 } 0100 0101 bool AbstractByteArrayColumnRenderer::isByteTypeColored() const 0102 { 0103 Q_D(const AbstractByteArrayColumnRenderer); 0104 0105 return d->isByteTypeColored(); 0106 } 0107 0108 void AbstractByteArrayColumnRenderer::set(AbstractByteArrayModel* byteArrayModel) 0109 { 0110 Q_D(AbstractByteArrayColumnRenderer); 0111 0112 d->set(byteArrayModel); 0113 } 0114 0115 void AbstractByteArrayColumnRenderer::resetXBuffer() 0116 { 0117 Q_D(AbstractByteArrayColumnRenderer); 0118 0119 d->resetXBuffer(); 0120 } 0121 0122 void AbstractByteArrayColumnRenderer::setFontMetrics(const QFontMetrics& fontMetrics) 0123 { 0124 Q_D(AbstractByteArrayColumnRenderer); 0125 0126 d->setFontMetrics(fontMetrics); 0127 } 0128 0129 bool AbstractByteArrayColumnRenderer::setSpacing(PixelX byteSpacingWidth, int noOfGroupedBytes, PixelX groupSpacingWidth) 0130 { 0131 Q_D(AbstractByteArrayColumnRenderer); 0132 0133 return d->setSpacing(byteSpacingWidth, noOfGroupedBytes, groupSpacingWidth); 0134 } 0135 0136 bool AbstractByteArrayColumnRenderer::setByteSpacingWidth(PixelX byteSpacingWidth) 0137 { 0138 Q_D(AbstractByteArrayColumnRenderer); 0139 0140 return d->setByteSpacingWidth(byteSpacingWidth); 0141 } 0142 0143 bool AbstractByteArrayColumnRenderer::setNoOfGroupedBytes(int noOfGroupedBytes) 0144 { 0145 Q_D(AbstractByteArrayColumnRenderer); 0146 0147 return d->setNoOfGroupedBytes(noOfGroupedBytes); 0148 } 0149 0150 bool AbstractByteArrayColumnRenderer::setGroupSpacingWidth(PixelX groupSpacingWidth) 0151 { 0152 Q_D(AbstractByteArrayColumnRenderer); 0153 0154 return d->setGroupSpacingWidth(groupSpacingWidth); 0155 } 0156 0157 LinePosition AbstractByteArrayColumnRenderer::linePositionOfX(PixelX PX) const 0158 { 0159 Q_D(const AbstractByteArrayColumnRenderer); 0160 0161 return d->linePositionOfX(PX); 0162 } 0163 0164 LinePosition AbstractByteArrayColumnRenderer::magneticLinePositionOfX(PixelX PX) const 0165 { 0166 Q_D(const AbstractByteArrayColumnRenderer); 0167 0168 return d->magneticLinePositionOfX(PX); 0169 } 0170 0171 LinePositionRange AbstractByteArrayColumnRenderer::linePositionsOfX(PixelX x, PixelX width) const 0172 { 0173 Q_D(const AbstractByteArrayColumnRenderer); 0174 0175 return d->linePositionsOfX(x, width); 0176 } 0177 0178 PixelX AbstractByteArrayColumnRenderer::xOfLinePosition(LinePosition linePosition) const 0179 { 0180 Q_D(const AbstractByteArrayColumnRenderer); 0181 0182 return d->xOfLinePosition(linePosition); 0183 } 0184 0185 PixelX AbstractByteArrayColumnRenderer::rightXOfLinePosition(LinePosition linePosition) const 0186 { 0187 Q_D(const AbstractByteArrayColumnRenderer); 0188 0189 return d->rightXOfLinePosition(linePosition); 0190 } 0191 0192 LinePosition AbstractByteArrayColumnRenderer::linePositionOfColumnX(PixelX PX) const 0193 { 0194 Q_D(const AbstractByteArrayColumnRenderer); 0195 0196 return d->linePositionOfColumnX(PX); 0197 } 0198 0199 LinePositionRange AbstractByteArrayColumnRenderer::linePositionsOfColumnXs(PixelX pixelX, PixelX pixelWidth) const 0200 { 0201 Q_D(const AbstractByteArrayColumnRenderer); 0202 0203 return d->linePositionsOfColumnXs(pixelX, pixelWidth); 0204 } 0205 0206 PixelX AbstractByteArrayColumnRenderer::columnXOfLinePosition(LinePosition linePosition) const 0207 { 0208 Q_D(const AbstractByteArrayColumnRenderer); 0209 0210 return d->columnXOfLinePosition(linePosition); 0211 } 0212 0213 PixelX AbstractByteArrayColumnRenderer::columnRightXOfLinePosition(LinePosition linePosition) const 0214 { 0215 Q_D(const AbstractByteArrayColumnRenderer); 0216 0217 return d->columnRightXOfLinePosition(linePosition); 0218 } 0219 0220 PixelXRange AbstractByteArrayColumnRenderer::xsOfLinePositionsInclSpaces(const LinePositionRange& linePositions) const 0221 { 0222 Q_D(const AbstractByteArrayColumnRenderer); 0223 0224 return d->xsOfLinePositionsInclSpaces(linePositions); 0225 } 0226 0227 PixelXRange AbstractByteArrayColumnRenderer::columnXsOfLinePositionsInclSpaces(const LinePositionRange& linePositions) const 0228 { 0229 Q_D(const AbstractByteArrayColumnRenderer); 0230 0231 return d->columnXsOfLinePositionsInclSpaces(linePositions); 0232 } 0233 0234 QRect AbstractByteArrayColumnRenderer::byteRect(Coord coord) const 0235 { 0236 Q_D(const AbstractByteArrayColumnRenderer); 0237 0238 return d->byteRect(coord); 0239 } 0240 0241 void AbstractByteArrayColumnRenderer::prepareRendering(const PixelXRange& Xs) 0242 { 0243 Q_D(AbstractByteArrayColumnRenderer); 0244 0245 d->prepareRendering(Xs); 0246 } 0247 0248 void AbstractByteArrayColumnRenderer::renderFirstLine(QPainter* painter, const PixelXRange& Xs, Line firstLineIndex) 0249 { 0250 Q_D(AbstractByteArrayColumnRenderer); 0251 0252 d->renderFirstLine(painter, Xs, firstLineIndex); 0253 } 0254 0255 void AbstractByteArrayColumnRenderer::renderNextLine(QPainter* painter) 0256 { 0257 Q_D(AbstractByteArrayColumnRenderer); 0258 0259 d->renderNextLine(painter); 0260 } 0261 0262 void AbstractByteArrayColumnRenderer::renderLinePositions(QPainter* painter, Line lineIndex, const LinePositionRange& linePositions) 0263 { 0264 Q_D(AbstractByteArrayColumnRenderer); 0265 0266 d->renderLinePositions(painter, lineIndex, linePositions); 0267 } 0268 0269 void AbstractByteArrayColumnRenderer::renderByte(QPainter* painter, Address byteIndex) 0270 { 0271 Q_D(AbstractByteArrayColumnRenderer); 0272 0273 d->renderByte(painter, byteIndex); 0274 } 0275 0276 void AbstractByteArrayColumnRenderer::renderFramedByte(QPainter* painter, Address byteIndex, FrameStyle frameStyle) 0277 { 0278 Q_D(AbstractByteArrayColumnRenderer); 0279 0280 d->renderFramedByte(painter, byteIndex, frameStyle); 0281 } 0282 0283 void AbstractByteArrayColumnRenderer::renderCursor(QPainter* painter, Address byteIndex) 0284 { 0285 Q_D(AbstractByteArrayColumnRenderer); 0286 0287 d->renderCursor(painter, byteIndex); 0288 } 0289 0290 }