~ubuntu-branches/ubuntu/trusty/digikam/trusty

« back to all changes in this revision

Viewing changes to core/imageplugins/decorate/bordertool.cpp

  • Committer: Package Import Robot
  • Author(s): Rohan Garg
  • Date: 2012-11-26 18:24:20 UTC
  • mfrom: (1.9.1) (3.1.23 experimental)
  • Revision ID: package-import@ubuntu.com-20121126182420-qoy6z0nx4ai0wzcl
Tags: 4:3.0.0~beta3-0ubuntu1
* New upstream release
  - Add build-deps :  libhupnp-dev, libqtgstreamer-dev, libmagickcore-dev
* Merge from debian, remaining changes:
  - Make sure libqt4-opengl-dev, libgl1-mesa-dev and libglu1-mesa-dev only
    install on i386,amd64 and powerpc
  - Depend on libtiff-dev instead of libtiff4-dev
  - Drop digikam breaks/replaces kipi-plugins-common since we're past the
    LTS release now
  - digikam to recommend mplayerthumbs | ffmpegthumbs. We currently only
    have latter in the archives, even though former is also supposed to
    be part of kdemultimedia. (LP: #890059)
  - kipi-plugins to recommend www-browser rather than konqueror directly
    since 2.8 no direct usage of konqueror is present in the flickr
    plugin anymore (LP: #1011211)
  - Keep kubuntu_mysqld_executable_name.diff
  - Don't install libkipi translations
  - Keep deps on libcv-dev, libcvaux-dev
  - Keep split packaging of libraries
  - Replace icons from KDE 3 time in debian/xpm.d/*.xpm with the new
    versions (LP: #658047)
* Update debian/not-installed

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
 * Description : a digiKam image plugin to add a border
8
8
 *               around an image.
9
9
 *
10
 
 * Copyright 2005-2010 by Gilles Caulier <caulier dot gilles at gmail dot com>
11
 
 * Copyright 2006-2010 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
 
10
 * Copyright 2005-2012 by Gilles Caulier <caulier dot gilles at gmail dot com>
 
11
 * Copyright 2006-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
12
12
 *
13
13
 * This program is free software; you can redistribute it
14
14
 * and/or modify it under the terms of the GNU General
52
52
namespace DigikamDecorateImagePlugin
53
53
{
54
54
 
55
 
class BorderTool::BorderToolPriv
 
55
class BorderTool::Private
56
56
{
57
57
public:
58
58
 
59
 
    BorderToolPriv() :
 
59
    Private() :
60
60
        configGroupName("border Tool"),
61
61
 
62
62
        gboxSettings(0),
71
71
    BorderSettings*     settingsView;
72
72
};
73
73
 
74
 
BorderTool::BorderTool(QObject* parent)
 
74
BorderTool::BorderTool(QObject* const parent)
75
75
    : EditorToolThreaded(parent),
76
 
      d(new BorderToolPriv)
 
76
      d(new Private)
77
77
{
78
78
    setObjectName("border");
79
79
    setToolName(i18n("Add Border"));
124
124
    d->settingsView->resetToDefault();
125
125
}
126
126
 
127
 
void BorderTool::prepareEffect()
 
127
void BorderTool::preparePreview()
128
128
{
129
129
    ImageIface* iface        = d->previewWidget->imageIface();
130
 
    DImg preview             = iface->getPreviewImg();
131
 
    int w                    = iface->previewWidth();
132
 
    float ratio              = (float)w/(float)iface->originalWidth();
 
130
    DImg preview             = iface->preview();
 
131
    int w                    = iface->previewSize().width();
 
132
    float ratio              = (float)w/(float)iface->originalSize().width();
133
133
    BorderContainer settings = d->settingsView->settings();
134
 
    settings.orgWidth        = iface->originalWidth();
135
 
    settings.orgHeight       = iface->originalHeight();
 
134
    settings.orgWidth        = iface->originalSize().width();
 
135
    settings.orgHeight       = iface->originalSize().height();
136
136
    settings.borderWidth1    = (int)((float)settings.borderWidth1*ratio);
137
137
    settings.borderWidth2    = (int)(20.0*ratio);
138
138
    settings.borderWidth3    = (int)(20.0*ratio);
143
143
 
144
144
void BorderTool::prepareFinal()
145
145
{
146
 
    ImageIface iface(0, 0);
147
 
    DImg* orgImage           = iface.getOriginalImg();
 
146
    ImageIface iface;
 
147
    DImg* orgImage           = iface.original();
148
148
    BorderContainer settings = d->settingsView->settings();
149
 
    settings.orgWidth        = iface.originalWidth();
150
 
    settings.orgHeight       = iface.originalHeight();
 
149
    settings.orgWidth        = iface.originalSize().width();
 
150
    settings.orgHeight       = iface.originalSize().height();
151
151
 
152
152
    setFilter(new BorderFilter(orgImage, this, settings));
153
153
}
154
154
 
155
 
void BorderTool::putPreviewData()
 
155
void BorderTool::setPreviewImage()
156
156
{
157
157
    ImageIface* iface = d->previewWidget->imageIface();
158
 
    int w             = iface->previewWidth();
159
 
    int h             = iface->previewHeight();
 
158
    int w             = iface->previewSize().width();
 
159
    int h             = iface->previewSize().height();
160
160
    DImg imTemp       = filter()->getTargetImage().smoothScale(w, h, Qt::KeepAspectRatio);
161
161
    DImg imDest(w, h, filter()->getTargetImage().sixteenBit(), filter()->getTargetImage().hasAlpha());
162
162
 
165
165
 
166
166
    imDest.bitBltImage(&imTemp, (w-imTemp.width())/2, (h-imTemp.height())/2);
167
167
 
168
 
    iface->putPreviewImage(imDest.bits());
 
168
    iface->setPreview(imDest);
169
169
    d->previewWidget->updatePreview();
170
170
}
171
171
 
172
 
void BorderTool::putFinalData()
 
172
void BorderTool::setFinalImage()
173
173
{
174
 
    ImageIface iface(0, 0);
 
174
    ImageIface iface;
175
175
    DImg targetImage = filter()->getTargetImage();
176
 
    iface.putOriginalImage(i18n("Add Border"), filter()->filterAction(), targetImage.bits(), targetImage.width(), targetImage.height());
 
176
    iface.setOriginal(i18n("Add Border"), filter()->filterAction(), targetImage);
177
177
}
178
178
 
179
179
}  // namespace DigikamDecorateImagePlugin