diff options
author | elektrahesse | 2010-10-13 04:09:26 +0200 |
---|---|---|
committer | elektrahesse | 2010-10-13 04:09:26 +0200 |
commit | d39b5c51f3a7cd36a4dc86423ce099e421263bcc (patch) | |
tree | 1f8703cd9e938acff57c158873d5819ceb6dc5b5 /linden/indra/newview | |
parent | Added CodeBastard Redgrave and Elektra Hesse as Imp Devels on the minimap :) (diff) | |
download | meta-impy-d39b5c51f3a7cd36a4dc86423ce099e421263bcc.zip meta-impy-d39b5c51f3a7cd36a4dc86423ce099e421263bcc.tar.gz meta-impy-d39b5c51f3a7cd36a4dc86423ce099e421263bcc.tar.bz2 meta-impy-d39b5c51f3a7cd36a4dc86423ce099e421263bcc.tar.xz |
Added support for upload and local usage of PSD (Photoshop, including layers and native transparency) and TIFF images (including alpha channel) on any Intel Mac using native Quartz/vImage routines
Diffstat (limited to 'linden/indra/newview')
-rw-r--r-- | linden/indra/newview/floaterlocalassetbrowse.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/floaterlocalassetbrowse.h | 4 | ||||
-rw-r--r-- | linden/indra/newview/llfilepicker.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterimagepreview.cpp | 10 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenufile.cpp | 32 |
5 files changed, 54 insertions, 0 deletions
diff --git a/linden/indra/newview/floaterlocalassetbrowse.cpp b/linden/indra/newview/floaterlocalassetbrowse.cpp index 443b5bf..991d2fd 100644 --- a/linden/indra/newview/floaterlocalassetbrowse.cpp +++ b/linden/indra/newview/floaterlocalassetbrowse.cpp | |||
@@ -119,6 +119,10 @@ LocalBitmap::LocalBitmap(std::string fullpath) | |||
119 | else if (temp_exten == "tga") { this->extension = IMG_EXTEN_TGA; } | 119 | else if (temp_exten == "tga") { this->extension = IMG_EXTEN_TGA; } |
120 | else if (temp_exten == "jpg" || temp_exten == "jpeg") { this->extension = IMG_EXTEN_JPG; } | 120 | else if (temp_exten == "jpg" || temp_exten == "jpeg") { this->extension = IMG_EXTEN_JPG; } |
121 | else if (temp_exten == "png") { this->extension = IMG_EXTEN_PNG; } | 121 | else if (temp_exten == "png") { this->extension = IMG_EXTEN_PNG; } |
122 | #ifdef LL_DARWIN | ||
123 | else if (temp_exten == "psd") { this->extension = IMG_EXTEN_PSD; } | ||
124 | else if (temp_exten == "tif" || temp_exten == "tiff") { this->extension = IMG_EXTEN_TIFF; } | ||
125 | #endif | ||
122 | else { return; } // no valid extension. | 126 | else { return; } // no valid extension. |
123 | 127 | ||
124 | /* getting file's last modified */ | 128 | /* getting file's last modified */ |
diff --git a/linden/indra/newview/floaterlocalassetbrowse.h b/linden/indra/newview/floaterlocalassetbrowse.h index e02a7d3..69afe98 100644 --- a/linden/indra/newview/floaterlocalassetbrowse.h +++ b/linden/indra/newview/floaterlocalassetbrowse.h | |||
@@ -114,6 +114,10 @@ class LocalBitmap | |||
114 | IMG_EXTEN_TGA, | 114 | IMG_EXTEN_TGA, |
115 | IMG_EXTEN_JPG, | 115 | IMG_EXTEN_JPG, |
116 | IMG_EXTEN_PNG | 116 | IMG_EXTEN_PNG |
117 | #ifdef LL_DARWIN | ||
118 | ,IMG_EXTEN_PSD, | ||
119 | IMG_EXTEN_TIFF | ||
120 | #endif | ||
117 | }; | 121 | }; |
118 | 122 | ||
119 | enum bitmap_type | 123 | enum bitmap_type |
diff --git a/linden/indra/newview/llfilepicker.cpp b/linden/indra/newview/llfilepicker.cpp index 40b1abb..a59fa06 100644 --- a/linden/indra/newview/llfilepicker.cpp +++ b/linden/indra/newview/llfilepicker.cpp | |||
@@ -532,12 +532,16 @@ Boolean LLFilePicker::navOpenFilterProc(AEDesc *theItem, void *info, void *callB | |||
532 | { | 532 | { |
533 | if (fileInfo.filetype != 'JPEG' && fileInfo.filetype != 'JPG ' && | 533 | if (fileInfo.filetype != 'JPEG' && fileInfo.filetype != 'JPG ' && |
534 | fileInfo.filetype != 'BMP ' && fileInfo.filetype != 'TGA ' && | 534 | fileInfo.filetype != 'BMP ' && fileInfo.filetype != 'TGA ' && |
535 | fileInfo.filetype != 'TIFF' && fileInfo.filetype != 'PSD ' && | ||
535 | fileInfo.filetype != 'BMPf' && fileInfo.filetype != 'TPIC' && | 536 | fileInfo.filetype != 'BMPf' && fileInfo.filetype != 'TPIC' && |
536 | fileInfo.filetype != 'PNG ' && | 537 | fileInfo.filetype != 'PNG ' && |
537 | (fileInfo.extension && (CFStringCompare(fileInfo.extension, CFSTR("jpeg"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | 538 | (fileInfo.extension && (CFStringCompare(fileInfo.extension, CFSTR("jpeg"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && |
538 | CFStringCompare(fileInfo.extension, CFSTR("jpg"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | 539 | CFStringCompare(fileInfo.extension, CFSTR("jpg"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && |
539 | CFStringCompare(fileInfo.extension, CFSTR("bmp"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | 540 | CFStringCompare(fileInfo.extension, CFSTR("bmp"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && |
540 | CFStringCompare(fileInfo.extension, CFSTR("tga"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | 541 | CFStringCompare(fileInfo.extension, CFSTR("tga"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && |
542 | CFStringCompare(fileInfo.extension, CFSTR("psd"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | ||
543 | CFStringCompare(fileInfo.extension, CFSTR("tiff"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | ||
544 | CFStringCompare(fileInfo.extension, CFSTR("tif"), kCFCompareCaseInsensitive) != kCFCompareEqualTo && | ||
541 | CFStringCompare(fileInfo.extension, CFSTR("png"), kCFCompareCaseInsensitive) != kCFCompareEqualTo)) | 545 | CFStringCompare(fileInfo.extension, CFSTR("png"), kCFCompareCaseInsensitive) != kCFCompareEqualTo)) |
542 | ) | 546 | ) |
543 | { | 547 | { |
diff --git a/linden/indra/newview/llfloaterimagepreview.cpp b/linden/indra/newview/llfloaterimagepreview.cpp index 389bd5a..8142869 100644 --- a/linden/indra/newview/llfloaterimagepreview.cpp +++ b/linden/indra/newview/llfloaterimagepreview.cpp | |||
@@ -355,6 +355,16 @@ bool LLFloaterImagePreview::loadImage(const std::string& src_filename) | |||
355 | { | 355 | { |
356 | codec = IMG_CODEC_PNG; | 356 | codec = IMG_CODEC_PNG; |
357 | } | 357 | } |
358 | #ifdef LL_DARWIN | ||
359 | else if( exten == "psd" ) | ||
360 | { | ||
361 | codec = IMG_CODEC_PSD; | ||
362 | } | ||
363 | else if( exten == "tif" || exten == "tiff" ) | ||
364 | { | ||
365 | codec = IMG_CODEC_TIFF; | ||
366 | } | ||
367 | #endif | ||
358 | 368 | ||
359 | LLPointer<LLImageRaw> raw_image = new LLImageRaw; | 369 | LLPointer<LLImageRaw> raw_image = new LLImageRaw; |
360 | #ifdef LL_DARWIN | 370 | #ifdef LL_DARWIN |
diff --git a/linden/indra/newview/llviewermenufile.cpp b/linden/indra/newview/llviewermenufile.cpp index 432fcc5..1981bb9 100644 --- a/linden/indra/newview/llviewermenufile.cpp +++ b/linden/indra/newview/llviewermenufile.cpp | |||
@@ -640,6 +640,38 @@ void upload_new_resource(const std::string& src_filename, std::string name, | |||
640 | return; | 640 | return; |
641 | } | 641 | } |
642 | } | 642 | } |
643 | #ifdef LL_DARWIN | ||
644 | else if(exten == "psd") | ||
645 | { | ||
646 | asset_type = LLAssetType::AT_TEXTURE; | ||
647 | if (!LLViewerImageList::createUploadFile(src_filename, | ||
648 | filename, | ||
649 | IMG_CODEC_PSD )) | ||
650 | { | ||
651 | error_message = llformat("Problem with file %s:\n\n%s\n", | ||
652 | src_filename.c_str(), LLImage::getLastError().c_str()); | ||
653 | args["FILE"] = src_filename; | ||
654 | args["ERROR"] = LLImage::getLastError(); | ||
655 | upload_error(error_message, "ProblemWithFile", filename, args); | ||
656 | return; | ||
657 | } | ||
658 | } | ||
659 | else if(exten == "tif" || exten == "tiff") | ||
660 | { | ||
661 | asset_type = LLAssetType::AT_TEXTURE; | ||
662 | if (!LLViewerImageList::createUploadFile(src_filename, | ||
663 | filename, | ||
664 | IMG_CODEC_TIFF )) | ||
665 | { | ||
666 | error_message = llformat("Problem with file %s:\n\n%s\n", | ||
667 | src_filename.c_str(), LLImage::getLastError().c_str()); | ||
668 | args["FILE"] = src_filename; | ||
669 | args["ERROR"] = LLImage::getLastError(); | ||
670 | upload_error(error_message, "ProblemWithFile", filename, args); | ||
671 | return; | ||
672 | } | ||
673 | } | ||
674 | #endif | ||
643 | else if(exten == "wav") | 675 | else if(exten == "wav") |
644 | { | 676 | { |
645 | asset_type = LLAssetType::AT_SOUND; // tag it as audio | 677 | asset_type = LLAssetType::AT_SOUND; // tag it as audio |