15#include <qpushbutton.h>
21#include <Q3GridLayout>
29#include "../blurSharpenSlider.h"
30#include "../clickableLabel.h"
31#include "../../config.h"
32#include "../../backend/manipulations/blur.h"
33#include "../../backend/manipulations/sharpen.h"
34#include "../../backend/manipulations/edgeDetect.h"
35#include "../../backend/tools/imageTools.h"
37#define SLIDER_RADIUS 50
59 visibleFrame,
"previewInterface" );
67 Q3Frame* controlsFrame =
new Q3Frame( visibleFrame,
"controlsFrame" );
69 QLabel* selectionLabel =
new QLabel( tr(
"Region Shown in Detail:"),
70 controlsFrame,
"selectionLabel" );
74 "selectionPlacementInterface" );
111 Q3GridLayout* controlsGrid =
new Q3GridLayout( controlsFrame, 6, 4, 0 );
112 controlsGrid->setRowStretch( 0, 1 );
114 controlsGrid->addMultiCellWidget( selectionLabel, 1,1, 0,3 );
126 controlsGrid->setRowStretch( 5, 1 );
129 controlsGrid->setColStretch( 0, 1 );
130 controlsGrid->setColStretch( 3, 1 );
135 QPushButton* applyButton =
new QPushButton( tr(
"Apply"),
buttonsFrame );
136 applyButton->setDefault(
true);
137 applyButton->setFocus();
138 connect( applyButton, SIGNAL(clicked()), SLOT(
applyAction()) );
140 QPushButton* cancelButton =
new QPushButton( tr(
"Cancel"),
buttonsFrame );
141 connect( cancelButton, SIGNAL(clicked()), SLOT(reject()) );
143 QPushButton* resetButton =
new QPushButton( tr(
"Reset"),
buttonsFrame );
144 connect( resetButton, SIGNAL(clicked()), SLOT(
resetAction()) );
146 Q3GridLayout* buttonsGrid =
new Q3GridLayout(
buttonsFrame, 1, 5, 0 );
147 buttonsGrid->setColStretch( 0, 1 );
148 buttonsGrid->addWidget( applyButton, 0, 1 );
149 buttonsGrid->addWidget( cancelButton, 0, 2 );
150 buttonsGrid->addWidget( resetButton, 0, 3 );
151 buttonsGrid->setColStretch( 4, 1 );
155 Q3GridLayout* mainGrid =
new Q3GridLayout( visibleFrame, 3, 2, 0 );
160 mainGrid->addMultiCellWidget( controlsFrame, 0,1, 1,1 );
164 mainGrid->setRowStretch( 0, 1 );
165 mainGrid->setColStretch( 0, 1 );
171 Q3GridLayout* invisibleGrid =
new Q3GridLayout(
this, 2, 1, 0 );
172 invisibleGrid->addWidget( visibleFrame, 0, 0 );
173 invisibleGrid->setRowStretch( 0, 1 );
179 QSizeGrip* sizeGrip =
new QSizeGrip(
this );
180 invisibleGrid->addWidget( sizeGrip, 1, 0, Qt::AlignRight | Qt::AlignBottom );
188 setCaption( tr(
"Grain Editor") );
225 QImage* adjustedImage =
new QImage(
fileName);
228 if( adjustedImage->depth() < 32 )
230 QImage* tmp = adjustedImage;
231 adjustedImage =
new QImage( tmp->convertDepth( 32, Qt::AutoColor ) );
232 delete tmp; tmp=NULL;
236 return adjustedImage;
259 QImage adjustedImage = origImage.copy();
274 float boundariesSigma;
331 if(e->key() == Qt::Key_Control )
341 else { QDialog::keyPressEvent(e); }
346 if(e->key() == Qt::Key_Control )
351 else { QDialog::keyReleaseEvent(e); }
void blurImage(QImage &image, float sigma)
void setPixmap(const QPixmap &p)
ClickableLabel * boundariesIcon
void previewResized()
handle resize preview signals
QImage * getModifiedImage()
get modified image that resulted from adjustments
PanningPreviewInterface * previewInterface
Preview image.
BlurSharpenSlider * boundariesSlider
Grain slider.
void resetBoundaries()
reset blur/sharpen of object boundaries
void applyAction()
check for changes to settings, if so
void resetRegions()
reset blur/sharpen of regions
void resetAction()
resets image grain to original state
void keyPressEvent(QKeyEvent *e)
QComboBox * previewSelection
void generateAdjustedPreviewImage()
generate and set adjusted image
void adjustImage(QImage &image, QPoint offset)
void keyReleaseEvent(QKeyEvent *e)
void selectPreviewImageType(int selection)
updates preview image
GrainEditor(QString filename, QWidget *parent=0, const char *name=0)
Constructs layout.
SelectionPlacementInterface * selectionPlacementInterface
Interface for placing selection.
A selection region placement interface.
void setSelectedRegion(QRect selection)
Set the select region using image space coordinates.
QImage & getOrigImage()
returns orig image object
void setAdjustedImage(QImage adjustedImage)
sets adjusted image and repaints
void setPreviewMode(PREVIEW_MODE mode, bool forceDrawLabel=false)
Sets preview mode.
void sharpenImage(QImage &image, float sigma, QPoint offset, QSize fullImageRes, QImage *edgeImage, bool blurEdges)
PREVIEW_MODE
current preview mode