From 7e4913f5450168a4271d19acc252328dfe11bc02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 4 Apr 2007 11:57:33 +0000 Subject: [PATCH] * Rotated images did not work correctly. * Removed ICO specific configuration, added copyright note about the source of this translator. * Disabled test mode for the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20548 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/translators/raw/ConfigView.cpp | 15 ++------------- src/add-ons/translators/raw/RAW.cpp | 18 +++++++++--------- src/add-ons/translators/raw/main.cpp | 8 ++++---- 3 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/add-ons/translators/raw/ConfigView.cpp b/src/add-ons/translators/raw/ConfigView.cpp index 0d511ec730..56bae2bc76 100644 --- a/src/add-ons/translators/raw/ConfigView.cpp +++ b/src/add-ons/translators/raw/ConfigView.cpp @@ -47,25 +47,14 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags) stringView = new BStringView(rect, "copyright", B_UTF8_COPYRIGHT "2007 Haiku Inc."); stringView->ResizeToPreferred(); AddChild(stringView); - - rect.OffsetBy(0, height + 20); - BCheckBox *checkBox = new BCheckBox(rect, "color", "Write 32 bit images on true color input", NULL); - checkBox->ResizeToPreferred(); - AddChild(checkBox); rect.OffsetBy(0, height + 10); - checkBox = new BCheckBox(rect, "size", "Enforce valid icon sizes", NULL); - checkBox->ResizeToPreferred(); - checkBox->SetValue(1); - AddChild(checkBox); - - rect.OffsetBy(0, height + 15); - stringView = new BStringView(rect, "valid1", "Valid icon sizes are 16, 32, or 48"); + stringView = new BStringView(rect, "copyright2", "Based on Dave Coffin's dcraw 8.63"); stringView->ResizeToPreferred(); AddChild(stringView); rect.OffsetBy(0, height + 5); - stringView = new BStringView(rect, "valid2", "pixel in either direction."); + stringView = new BStringView(rect, "copyright3", B_UTF8_COPYRIGHT "1997-2007 Dave Coffin"); stringView->ResizeToPreferred(); AddChild(stringView); } diff --git a/src/add-ons/translators/raw/RAW.cpp b/src/add-ons/translators/raw/RAW.cpp index 3f7f953fd3..94cd5a0de5 100644 --- a/src/add-ons/translators/raw/RAW.cpp +++ b/src/add-ons/translators/raw/RAW.cpp @@ -2376,12 +2376,6 @@ DCRaw::_LoadRAW(const image_data_info& image) void DCRaw::_WriteRGB32(image_data_info& image, uint8* outputBuffer) { - fOutputWidth = fInputWidth; - fOutputHeight = fInputHeight; - - if (image.flip & 4) - SWAP(fOutputHeight, fOutputWidth); - uint8* line, lookUpTable[0x10000]; uint32 outputRow = (4 * fOutputBitsPerSample / 8) * fOutputWidth; @@ -2398,10 +2392,13 @@ DCRaw::_WriteRGB32(image_data_info& image, uint8* outputBuffer) int32 sourceOffset = _FlipIndex(0, 0, image.flip); int32 colStep = _FlipIndex(0, 1, image.flip) - sourceOffset; - int32 rowStep = _FlipIndex(1, 0, image.flip) - _FlipIndex(0, fOutputWidth, image.flip); + int32 rowStep = _FlipIndex(1, 0, image.flip) + - _FlipIndex(0, fOutputWidth, image.flip); - TRACE(("flip = %ld, sourceOffset = %ld, colStep = %ld, rowStep = %ld, input: %lu x %lu, output: %lu x %lu\n", - image.flip, sourceOffset, colStep, rowStep, fInputWidth, fInputHeight, fOutputWidth, fOutputHeight)); + TRACE(("flip = %ld, sourceOffset = %ld, colStep = %ld, rowStep = %ld, " + "input: %lu x %lu, output: %lu x %lu\n", image.flip, sourceOffset, + colStep, rowStep, fInputWidth, fInputHeight, fOutputWidth, + fOutputHeight)); if (fOutputBitsPerSample == 8) { for (uint32 row = 0; row < fOutputHeight; row++, sourceOffset += rowStep) { @@ -3257,6 +3254,9 @@ DCRaw::ReadImageAt(uint32 index, uint8*& outputBuffer, size_t& bufferSize) fShrink = (fHalfSize || fThreshold) && fFilters; fOutputWidth = (fInputWidth + fShrink) >> fShrink; fOutputHeight = (fInputHeight + fShrink) >> fShrink; + if (image.flip & 4) + SWAP(fOutputHeight, fOutputWidth); + image.output_width = fOutputWidth; image.output_height = fOutputHeight; diff --git a/src/add-ons/translators/raw/main.cpp b/src/add-ons/translators/raw/main.cpp index c23e727a83..b3909e7d0a 100644 --- a/src/add-ons/translators/raw/main.cpp +++ b/src/add-ons/translators/raw/main.cpp @@ -10,9 +10,9 @@ #include -#define TEST_MODE 1 +#define TEST_MODE 0 #define SHOW_MODE 1 -#if SHOW_MODE +#if SHOW_MODE && TEST_MODE # include # include # include @@ -86,7 +86,7 @@ main(int argc, char **argv) i, data.is_raw ? "RAW " : "JPEG", data.width, data.height, data.bits_per_sample, data.compression); -#if SHOW_MODE +# if SHOW_MODE if (!data.is_raw) { // write data to file uint8* buffer; @@ -132,7 +132,7 @@ main(int argc, char **argv) wait_for_thread(window->Thread(), &status); } } -#endif +# endif } } return 0;