Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_prescaled_projection.cpp File Reference
#include "kis_prescaled_projection.h"
#include <math.h>
#include <QImage>
#include <QColor>
#include <QRect>
#include <QPoint>
#include <QSize>
#include <QPainter>
#include <KoColorProfile.h>
#include <KoViewConverter.h>
#include "kis_config.h"
#include "kis_image_config.h"
#include "kis_config_notifier.h"
#include "kis_image.h"
#include "krita_utils.h"
#include "kis_coordinates_converter.h"
#include "kis_projection_backend.h"
#include "kis_image_pyramid.h"
#include "kis_display_filter.h"
#include <KisDisplayConfig.h>
#include <KisCanvasState.h>

Go to the source code of this file.

Classes

struct  KisPrescaledProjection::Private
 

Macros

#define ceiledSize(sz)   QSize(ceil((sz).width()), ceil((sz).height()))
 

Functions

void copyQImage (qint32 deltaX, qint32 deltaY, QImage *dstImage, const QImage &srcImage)
 
void copyQImageBuffer (uchar *dst, const uchar *src, qint32 deltaX, qint32 width)
 

Macro Definition Documentation

◆ ceiledSize

#define ceiledSize ( sz)    QSize(ceil((sz).width()), ceil((sz).height()))

Definition at line 69 of file kis_prescaled_projection.cpp.

Function Documentation

◆ copyQImage()

void copyQImage ( qint32 deltaX,
qint32 deltaY,
QImage * dstImage,
const QImage & srcImage )

Definition at line 80 of file kis_prescaled_projection.cpp.

81{
82 qint32 height = dstImage->height();
83 qint32 width = dstImage->width();
84 Q_ASSERT(dstImage->width() == srcImage.width() && dstImage->height() == srcImage.height());
85 if (deltaY >= 0) {
86 for (int y = 0; y < height - deltaY; y ++) {
87 const uchar* src = srcImage.scanLine(y);
88 uchar* dst = dstImage->scanLine(y + deltaY);
89 copyQImageBuffer(dst, src, deltaX, width);
90 }
91 } else {
92 for (int y = 0; y < height + deltaY; y ++) {
93 const uchar* src = srcImage.scanLine(y - deltaY);
94 uchar* dst = dstImage->scanLine(y);
95 copyQImageBuffer(dst, src, deltaX, width);
96 }
97 }
98}
void copyQImageBuffer(uchar *dst, const uchar *src, qint32 deltaX, qint32 width)

References copyQImageBuffer().

◆ copyQImageBuffer()

void copyQImageBuffer ( uchar * dst,
const uchar * src,
qint32 deltaX,
qint32 width )
inline

Definition at line 71 of file kis_prescaled_projection.cpp.

72{
73 if (deltaX >= 0) {
74 memcpy(dst + 4 * deltaX, src, 4 *(width - deltaX) * sizeof(uchar));
75 } else {
76 memcpy(dst, src - 4 * deltaX, 4 *(width + deltaX) * sizeof(uchar));
77 }
78}