~ubuntu-branches/ubuntu/saucy/digikam/saucy

« back to all changes in this revision

Viewing changes to utilities/imageeditor/editor/imageiface.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-12-21 23:19:11 UTC
  • mfrom: (1.2.33 upstream) (3.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20101221231911-z9jip7s5aht1jqn9
Tags: 2:1.7.0-1ubuntu1
* Merge from Debian Experimental. Remaining Ubuntu changes:
  - Export .pot name and copy to plugins in debian/rules
  - Version build-depends on kipi-plugins-dev to ensure build is against the
    same version on all archs
* Drop debian/patches/kubuntu_01_linker.diff, incoporated upstream
* Remove patches directory and unused patches

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
{
53
53
public:
54
54
 
55
 
    ImageIfacePriv()
 
55
    ImageIfacePriv() :
 
56
        usePreviewSelection(false),
 
57
        originalWidth(0),
 
58
        originalHeight(0),
 
59
        originalBytesDepth(0),
 
60
        constrainWidth(0),
 
61
        constrainHeight(0),
 
62
        previewWidth(0),
 
63
        previewHeight(0)
56
64
    {
57
 
        usePreviewSelection = false;
58
 
        previewWidth        = 0;
59
 
        previewHeight       = 0;
60
65
    }
61
66
 
62
67
    bool    usePreviewSelection;
78
83
};
79
84
 
80
85
ImageIface::ImageIface(int w, int h)
81
 
          : d(new ImageIfacePriv)
 
86
    : d(new ImageIfacePriv)
82
87
{
83
88
    d->constrainWidth     = w;
84
89
    d->constrainHeight    = h;
165
170
        if (!d->usePreviewSelection)
166
171
        {
167
172
            im = DImgInterface::defaultInterface()->getImg();
 
173
 
168
174
            if (!im || im->isNull())
 
175
            {
169
176
                return 0;
 
177
            }
170
178
        }
171
179
        else
172
180
        {
176
184
            uchar* data = DImgInterface::defaultInterface()->getImageSelection();
177
185
            DImgInterface::defaultInterface()->getSelectedArea(x, y, w, h);
178
186
            im          = new DImg(w, h, s, a, data, true);
179
 
            im->setIccProfile(DImgInterface::defaultInterface()->getEmbeddedICC());
180
187
            delete [] data;
181
188
 
182
189
            if (!im)
 
190
            {
183
191
                return 0;
 
192
            }
184
193
 
185
194
            if (im->isNull())
186
195
            {
187
196
                delete im;
188
197
                return 0;
189
198
            }
 
199
 
 
200
            im->setIccProfile(DImgInterface::defaultInterface()->getEmbeddedICC());
190
201
        }
191
202
 
192
203
        QSize sz(im->width(), im->height());
200
211
        d->targetPreviewImage = d->previewImage;
201
212
 
202
213
        if (d->usePreviewSelection)
 
214
        {
203
215
            delete im;
 
216
        }
204
217
    }
205
218
 
206
219
    DImg previewData = d->previewImage.copyImageData();
218
231
    DImg* im = DImgInterface::defaultInterface()->getImg();
219
232
 
220
233
    if (!im || im->isNull())
 
234
    {
221
235
        return 0;
 
236
    }
222
237
 
223
238
    DImg origData = im->copyImageData();
224
239
    return origData.stripImageData();
237
252
void ImageIface::putPreviewImage(uchar* data)
238
253
{
239
254
    if (!data)
 
255
    {
240
256
        return;
 
257
    }
241
258
 
242
259
    d->targetPreviewImage.detach();
243
260
    d->targetPreviewImage.putImageData(data);
252
269
void ImageIface::putOriginalImage(const QString& caller, uchar* data, int w, int h)
253
270
{
254
271
    if (!data)
 
272
    {
255
273
        return;
 
274
    }
256
275
 
257
276
    DImgInterface::defaultInterface()->putImage(caller, data, w, h);
258
277
}
265
284
void ImageIface::putImageSelection(const QString& caller, uchar* data)
266
285
{
267
286
    if (!data)
 
287
    {
268
288
        return;
 
289
    }
269
290
 
270
291
    DImgInterface::defaultInterface()->putImageSelection(caller, data);
271
292
}
413
434
        // Show the Over/Under exposure pixels indicators
414
435
 
415
436
        ExposureSettingsContainer* expoSettings = DImgInterface::defaultInterface()->getExposureSettings();
 
437
 
416
438
        if (expoSettings->underExposureIndicator || expoSettings->overExposureIndicator)
417
439
        {
418
440
            ExposureSettingsContainer* expoSettings = DImgInterface::defaultInterface()->getExposureSettings();
423
445
    }
424
446
 
425
447
    if (!painter)
 
448
    {
426
449
        p->end();
 
450
    }
427
451
}
428
452
 
429
453
}   // namespace Digikam