Krita Source Code Documentation
Loading...
Searching...
No Matches
KisNormalPreviewWidget Class Reference

#include <kis_normal_preview_widget.h>

+ Inheritance diagram for KisNormalPreviewWidget:

Public Slots

void setBlueChannel (int index)
 
void setGreenChannel (int index)
 
void setRedChannel (int index)
 

Public Member Functions

 KisNormalPreviewWidget (QWidget *parent=0)
 
 ~KisNormalPreviewWidget () override
 

Private Member Functions

int previewTransform (int const horizontal, int const vertical, int const depth, int index, int maxvalue)
 
QImage swizzleTransformPreview (QImage preview)
 
void updateImage ()
 

Private Attributes

int m_blueChannel
 
QString m_fileName
 
int m_greenChannel
 
int m_redChannel
 

Detailed Description

Definition at line 18 of file kis_normal_preview_widget.h.

Constructor & Destructor Documentation

◆ KisNormalPreviewWidget()

KisNormalPreviewWidget::KisNormalPreviewWidget ( QWidget * parent = 0)

Definition at line 16 of file kis_normal_preview_widget.cpp.

17 : QLabel(parent)
18{
19 m_redChannel = 0;
21 m_blueChannel = 4;
22 //TODO: this can be changed in frameworks to KoResourcePaths::findResource("kis_images", "krita-tangentnormal.png");
23 m_fileName = KoResourcePaths::findAsset("kis_images", "krita-tangentnormal-preview.png");
24 QImage preview = QImage(m_fileName);
25 setPixmap(QPixmap::fromImage(preview.scaled(200, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation)));
26}
static QString findAsset(const QString &type, const QString &fileName)

References KoResourcePaths::findAsset(), m_blueChannel, m_fileName, m_greenChannel, and m_redChannel.

◆ ~KisNormalPreviewWidget()

KisNormalPreviewWidget::~KisNormalPreviewWidget ( )
override

Definition at line 28 of file kis_normal_preview_widget.cpp.

29{
30}

Member Function Documentation

◆ previewTransform()

int KisNormalPreviewWidget::previewTransform ( int const horizontal,
int const vertical,
int const depth,
int index,
int maxvalue )
private

Definition at line 83 of file kis_normal_preview_widget.cpp.

84{
85 int component = 0;
86 switch(index) {
87 case 0: component = horizontal; break;
88 case 1: component = maxvalue-horizontal; break;
89 case 2: component = vertical; break;
90 case 3: component = maxvalue-vertical; break;
91 case 4: component = depth; break;
92 case 5: component = maxvalue-depth; break;
93 }
94 return component;
95}
int depth(typename Forest< T >::const_child_iterator beginIt, typename Forest< T >::const_child_iterator endIt)
Definition KisForest.h:1213

◆ setBlueChannel

void KisNormalPreviewWidget::setBlueChannel ( int index)
slot

Definition at line 48 of file kis_normal_preview_widget.cpp.

49{
50 if (index>=0 && index<6){
51 m_blueChannel=index;
52 }
54}

References m_blueChannel, and updateImage().

◆ setGreenChannel

void KisNormalPreviewWidget::setGreenChannel ( int index)
slot

Definition at line 40 of file kis_normal_preview_widget.cpp.

41{
42 if (index>=0 && index<6){
43 m_greenChannel=index;
44 }
46}

References m_greenChannel, and updateImage().

◆ setRedChannel

void KisNormalPreviewWidget::setRedChannel ( int index)
slot

Definition at line 32 of file kis_normal_preview_widget.cpp.

33{
34 if (index>=0 && index<6){
35 m_redChannel=index;
36 }
38}

References m_redChannel, and updateImage().

◆ swizzleTransformPreview()

QImage KisNormalPreviewWidget::swizzleTransformPreview ( QImage preview)
private

Definition at line 64 of file kis_normal_preview_widget.cpp.

65{
66 int width = preview.width();
67 int height = preview.height();
68 QImage endPreview(preview.width(),preview.height(),QImage::Format_RGB32);
69 for (int y=0; y<height; y++) {
70 for (int x=0; x<width; x++) {
71 QColor currentcolor = QColor(preview.pixel(x,y));
72 int r, g, b =0;
73 r = previewTransform(currentcolor.red(), currentcolor.green(), currentcolor.blue(), m_redChannel, 255);
74 g = previewTransform(currentcolor.red(), currentcolor.green(), currentcolor.blue(), m_greenChannel, 255);
75 b = previewTransform(currentcolor.red(), currentcolor.green(), currentcolor.blue(), m_blueChannel, 255);
76 QRgb transformedColor = qRgb(r,g,b);
77 endPreview.setPixel(x,y, transformedColor);
78 }
79 }
80 return endPreview;
81}
int previewTransform(int const horizontal, int const vertical, int const depth, int index, int maxvalue)
unsigned int QRgb

References m_blueChannel, m_greenChannel, m_redChannel, and previewTransform().

◆ updateImage()

void KisNormalPreviewWidget::updateImage ( )
private

Definition at line 56 of file kis_normal_preview_widget.cpp.

57{
58 QImage preview = QImage(m_fileName);
59 preview = swizzleTransformPreview (preview);
60 setPixmap(QPixmap::fromImage(preview.scaled(200, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation)));
61 repaint();
62}
QImage swizzleTransformPreview(QImage preview)

References m_fileName, and swizzleTransformPreview().

Member Data Documentation

◆ m_blueChannel

int KisNormalPreviewWidget::m_blueChannel
private

Definition at line 40 of file kis_normal_preview_widget.h.

◆ m_fileName

QString KisNormalPreviewWidget::m_fileName
private

Definition at line 41 of file kis_normal_preview_widget.h.

◆ m_greenChannel

int KisNormalPreviewWidget::m_greenChannel
private

Definition at line 39 of file kis_normal_preview_widget.h.

◆ m_redChannel

int KisNormalPreviewWidget::m_redChannel
private

Definition at line 38 of file kis_normal_preview_widget.h.


The documentation for this class was generated from the following files: