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 }