Applied following patches proposed by Jorma Karvonen:

#7135 #7140 #7141 #7145 #7186 #7188 #7191
	#7136 #7187 #7184 #7185 #7192 #7138 #7139

 with some changes and exclusions:
	- all attempts to localize "fprintf(stderr,..." and "printf(..."
	  replaced by _untranslated_ "syslog(LOG_ERR ...";
	- following *Translator.rdef files, that were not added in mentioned patches
	  were additionally created:
		SGI, TIFF, RAW, RTF, PPM, WebP, EXR, STXT, WonderBrush, GIF, TGA;
	- some small fixes for consistent catalogs building.

Thank you, Jorma! Please check. ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40357 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Siarzhuk Zharski
2011-02-04 22:16:02 +00:00
parent ceb993ab40
commit 70d5966963
65 changed files with 838 additions and 272 deletions
@@ -0,0 +1,15 @@
/*
* BMPTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-BMPTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku BMPTranslator Add-Ons."
};
+4 -3
View File
@@ -4,13 +4,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources BMPTranslator : BMPTranslator.rdef ;
Translator BMPTranslator :
BMPMain.cpp
BMPTranslator.cpp
BMPView.cpp
: be translation libtranslatorsutils.a $(HAIKU_LOCALE_LIBS)
$(TARGET_LIBSUPC++)
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
$(HAIKU_LOCALE_LIBS)
: true
;
@@ -0,0 +1,15 @@
/*
* EXRTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-EXRTranslator";
resource app_version {
major = 0,
middle = 1,
minor = 0,
variety = 0,
internal = 0,
short_info = "0.1.0",
long_info = "Haiku EXRTranslator Add-Ons."
};
+2
View File
@@ -7,6 +7,8 @@ SubDirSysHdrs [ FDirName $(SUBDIR) openexr imath ] ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources EXRTranslator : EXRTranslator.rdef ;
Translator EXRTranslator :
main.cpp
ConfigView.cpp
+38 -26
View File
@@ -19,6 +19,7 @@
#include <InterfaceDefs.h>
#include <stdlib.h>
#include <stdio.h>
#include <syslog.h>
extern bool debug;
@@ -40,7 +41,8 @@ GIFLoad::GIFLoad(BPositionIO *input, BPositionIO *output)
}
if (debug)
printf("GIFLoad::GIFLoad() - Image dimensions are %d x %d\n", fWidth, fHeight);
syslog(LOG_ERR, "GIFLoad::GIFLoad() - Image dimensions are %d x %d\n",
fWidth, fHeight);
unsigned char c;
if (fInput->Read(&c, 1) < 1) {
@@ -51,11 +53,12 @@ GIFLoad::GIFLoad(BPositionIO *input, BPositionIO *output)
if (c == 0x2c) {
if ((!ReadGIFImageHeader()) || (!ReadGIFImageData())) {
if (debug)
printf("GIFLoad::GIFLoad() - A fatal error occurred\n");
syslog(LOG_ERR, "GIFLoad::GIFLoad() - A fatal error occurred\n");
fatalerror = true;
} else {
if (debug)
printf("GIFLoad::GIFLoad() - Found a single image and leaving\n");
syslog(LOG_ERR, "GIFLoad::GIFLoad() - Found a single image and "
"leaving\n");
}
free(fScanLine);
fScanLine = NULL;
@@ -99,7 +102,7 @@ GIFLoad::GIFLoad(BPositionIO *input, BPositionIO *output)
}
}
if (debug)
printf("GIFLoad::GIFLoad() - Done\n");
syslog(LOG_ERR, "GIFLoad::GIFLoad() - Done\n");
}
@@ -117,7 +120,8 @@ GIFLoad::ReadGIFHeader()
if (header[10] & GIF_LOCALCOLORMAP) {
fPalette->size_in_bits = (header[10] & 0x07) + 1;
if (debug)
printf("GIFLoad::ReadGIFHeader() - Found %d bit global palette\n", fPalette->size_in_bits);
syslog(LOG_ERR, "GIFLoad::ReadGIFHeader() - Found %d bit global palette\n",
fPalette->size_in_bits);
int s = 1 << fPalette->size_in_bits;
fPalette->size = s;
@@ -131,8 +135,8 @@ GIFLoad::ReadGIFHeader()
} else { // Install BeOS system palette in case local palette isn't present
color_map *map = (color_map *)system_colors();
for (int x = 0; x < 256; x++) {
fPalette->SetColor(x, map->color_list[x].red, map->color_list[x].green,
map->color_list[x].blue);
fPalette->SetColor(x, map->color_list[x].red,
map->color_list[x].green, map->color_list[x].blue);
}
fPalette->size = 256;
fPalette->size_in_bits = 8;
@@ -169,7 +173,8 @@ GIFLoad::ReadGIFControlBlock()
fPalette->usetransparent = true;
fPalette->transparentindex = data[4];
if (debug)
printf("GIFLoad::ReadGIFControlBlock() - Transparency active, using palette index %d\n", data[4]);
syslog(LOG_ERR, "GIFLoad::ReadGIFControlBlock() - Transparency active, "
"using palette index %d\n", data[4]);
}
return true;
}
@@ -178,7 +183,7 @@ GIFLoad::ReadGIFControlBlock()
bool
GIFLoad::ReadGIFCommentBlock()
{
if (debug) printf("GIFLoad::ReadGIFCommentBlock() - Found:\n");
if (debug) syslog(LOG_ERR, "GIFLoad::ReadGIFCommentBlock() - Found:\n");
unsigned char length;
char comment_data[256];
do {
@@ -188,10 +193,10 @@ GIFLoad::ReadGIFCommentBlock()
return false;
comment_data[length] = 0x00;
if (debug)
printf("%s", comment_data);
syslog(LOG_ERR, "%s", comment_data);
} while (length != 0x00);
if (debug)
printf("\n");
syslog(LOG_ERR, "\n");
return true;
}
@@ -200,7 +205,7 @@ bool
GIFLoad::ReadGIFUnknownBlock(unsigned char c)
{
if (debug)
printf("GIFLoad::ReadGIFUnknownBlock() - Found: %d\n", c);
syslog(LOG_ERR, "GIFLoad::ReadGIFUnknownBlock() - Found: %d\n", c);
unsigned char length;
do {
if (fInput->Read(&length, 1) < 1)
@@ -222,15 +227,17 @@ GIFLoad::ReadGIFImageHeader()
int localHeight = data[6] + (data[7] << 8);
if (fWidth != localWidth || fHeight != localHeight) {
if (debug)
printf("GIFLoad::ReadGIFImageHeader() - Local dimensions do not match global, setting to %d x %d\n",
localWidth, localHeight);
syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Local dimensions do not "
"match global, setting to %d x %d\n", localWidth, localHeight);
fWidth = localWidth;
fHeight = localHeight;
}
fScanLine = (uint32 *)malloc(fWidth * 4);
if (fScanLine == NULL) {
if (debug) printf("GIFLoad::ReadGIFImageHeader() - Could not allocate scanline\n");
if (debug)
syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Could not allocate "
"scanline\n");
return false;
}
@@ -253,8 +260,8 @@ GIFLoad::ReadGIFImageHeader()
int s = 1 << fPalette->size_in_bits;
fPalette->size = s;
if (debug)
printf("GIFLoad::ReadGIFImageHeader() - Found %d bit local palette\n",
fPalette->size_in_bits);
syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Found %d bit local "
"palette\n", fPalette->size_in_bits);
unsigned char lp[256 * 3];
if (fInput->Read(lp, s * 3) < s * 3)
@@ -267,9 +274,10 @@ GIFLoad::ReadGIFImageHeader()
fInterlaced = data[8] & GIF_INTERLACED;
if (debug) {
if (fInterlaced)
printf("GIFLoad::ReadGIFImageHeader() - Image is interlaced\n");
syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Image is interlaced\n");
else
printf("GIFLoad::ReadGIFImageHeader() - Image is not interlaced\n");
syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Image is not "
"interlaced\n");
}
return true;
}
@@ -287,17 +295,19 @@ GIFLoad::ReadGIFImageData()
return false;
} else if (cs > fPalette->size_in_bits) {
if (debug)
printf("GIFLoad::ReadGIFImageData() - Code_size should be %d, not %d, allowing it\n", fCodeSize, cs);
syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Code_size should be %d, not "
"%d, allowing it\n", fCodeSize, cs);
if (!InitFrame(cs))
return false;
} else if (cs < fPalette->size_in_bits) {
if (debug)
printf("GIFLoad::ReadGIFImageData() - Code_size should be %d, not %d\n", fCodeSize, cs);
syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Code_size should be %d, not "
"%d\n", fCodeSize, cs);
return false;
}
if (debug)
printf("GIFLoad::ReadGIFImageData() - Starting LZW\n");
syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Starting LZW\n");
while ((fNewCode = NextCode()) != -1 && fNewCode != fEndCode) {
if (fNewCode == fClearCode) {
@@ -308,7 +318,8 @@ GIFLoad::ReadGIFImageData()
if (!OutputColor(fOldCode, 1)) goto bad_end;
if (fNewCode == -1 || fNewCode == fEndCode) {
if (debug)
printf("GIFLoad::ReadGIFImageData() - Premature fEndCode or error\n");
syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Premature fEndCode "
"or error\n");
goto bad_end;
}
continue;
@@ -373,12 +384,12 @@ GIFLoad::ReadGIFImageData()
if (fNewCode == -1)
return false;
if (debug)
printf("GIFLoad::ReadGIFImageData() - Done\n");
syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Done\n");
return true;
bad_end:
if (debug)
printf("GIFLoad::ReadGIFImageData() - Reached a bad end\n");
syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Reached a bad end\n");
MemblockDeleteAll();
return false;
}
@@ -391,7 +402,8 @@ GIFLoad::NextCode()
if (fByteCount == 0) {
if (fInput->Read(&fByteCount, 1) < 1) return -1;
if (fByteCount == 0) return fEndCode;
if (fInput->Read(fByteBuffer + (255 - fByteCount), fByteCount) < fByteCount) return -1;
if (fInput->Read(fByteBuffer + (255 - fByteCount),
fByteCount) < fByteCount) return -1;
}
fBitBuffer |= (unsigned int)fByteBuffer[255 - fByteCount] << fBitCount;
fByteCount--;
+27 -19
View File
@@ -18,6 +18,7 @@
#include "GIFSave.h"
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
const int gs_pass_starts_at[] = {0, 4, 2, 1, 0};
const int gs_increment_pass_by[] = {8, 8, 4, 2, 0};
@@ -38,7 +39,7 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output)
{
color_space cs = bitmap->ColorSpace();
if (cs != B_RGB32 && cs != B_RGBA32 && cs != B_RGB32_BIG && cs != B_RGBA32_BIG) {
if (debug) printf("GIFSave::GIFSave() - Unknown color space\n");
if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Unknown color space\n");
fatalerror = true;
return;
}
@@ -56,10 +57,13 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output)
width = bitmap->Bounds().IntegerWidth() + 1;
height = bitmap->Bounds().IntegerHeight() + 1;
if (debug) printf("GIFSave::GIFSave() - Image dimensions are %d by %d\n", width, height);
if (debug)
syslog(LOG_ERR, "GIFSave::GIFSave() - Image dimensions are %d by %d\n",
width, height);
if (prefs->usedithering) {
if (debug) printf("GIFSave::GIFSave() - Using dithering\n");
if (debug)
syslog(LOG_ERR, "GIFSave::GIFSave() - Using dithering\n");
red_error = new int32[width + 2];
red_error = &red_error[1]; // Allow index of -1 too
green_error = new int32[width + 2];
@@ -74,25 +78,27 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output)
blue_error[x] = 0;
}
} else {
if (debug) printf("GIFSave::GIFSave() - Not using dithering\n");
if (debug)
syslog(LOG_ERR, "GIFSave::GIFSave() - Not using dithering\n");
}
if (debug) {
if (prefs->interlaced) printf("GIFSave::GIFSave() - Interlaced, ");
else printf("GIFSave::GIFSave() - Not interlaced, ");
if (prefs->interlaced)
syslog(LOG_ERR, "GIFSave::GIFSave() - Interlaced, ");
else syslog(LOG_ERR, "GIFSave::GIFSave() - Not interlaced, ");
switch (prefs->palettemode) {
case WEB_SAFE_PALETTE:
printf("web safe palette\n");
syslog(LOG_ERR, "web safe palette\n");
break;
case BEOS_SYSTEM_PALETTE:
printf("BeOS system palette\n");
syslog(LOG_ERR, "BeOS system palette\n");
break;
case GREYSCALE_PALETTE:
printf("greyscale palette\n");
syslog(LOG_ERR, "greyscale palette\n");
break;
case OPTIMAL_PALETTE:
default:
printf("optimal palette\n");
syslog(LOG_ERR, "optimal palette\n");
break;
}
}
@@ -101,34 +107,36 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output)
if (prefs->usetransparentauto) {
palette->PrepareForAutoTransparency();
if (debug)
printf("GIFSave::GIFSave() - Using transparent index %d\n", palette->TransparentIndex());
syslog(LOG_ERR, "GIFSave::GIFSave() - Using transparent index %d\n",
palette->TransparentIndex());
} else {
palette->SetTransparentColor((uint8)prefs->transparentred,
(uint8)prefs->transparentgreen,
(uint8)prefs->transparentblue);
if (debug) {
printf("GIFSave::GIFSave() - Found transparent color %d,%d,%d at index %d\n",
prefs->transparentred, prefs->transparentgreen, prefs->transparentblue,
palette->TransparentIndex());
syslog(LOG_ERR, "GIFSave::GIFSave() - Found transparent color %d,%d,%d "
"at index %d\n", prefs->transparentred,
prefs->transparentgreen, prefs->transparentblue,
palette->TransparentIndex());
}
}
} else {
if (debug)
printf("GIFSave::GIFSave() - Not using transparency\n");
syslog(LOG_ERR, "GIFSave::GIFSave() - Not using transparency\n");
}
this->output = output;
this->bitmap = bitmap;
WriteGIFHeader();
if (debug) printf("GIFSave::GIFSave() - Wrote gif header\n");
if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif header\n");
hash = new SFHash(1 << 16);
WriteGIFControlBlock();
if (debug) printf("GIFSave::GIFSave() - Wrote gif control block\n");
if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif control block\n");
WriteGIFImageHeader();
if (debug) printf("GIFSave::GIFSave() - Wrote gif image header\n");
if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif image header\n");
WriteGIFImageData();
if (debug) printf("GIFSave::GIFSave() - Wrote gif image data\n");
if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif image data\n");
if (prefs->usedithering) {
delete [] &red_error[-1];
+31 -14
View File
@@ -18,20 +18,29 @@
#include "GIFView.h"
#include "GIFSave.h"
#include "GIFLoad.h"
#include <ByteOrder.h>
#include <TypeConstants.h>
#include <Catalog.h>
#include <DataIO.h>
#include <InterfaceDefs.h>
#include <TypeConstants.h>
#include <TranslatorAddOn.h>
#include <TranslatorFormats.h>
#include <InterfaceDefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <syslog.h>
#ifndef GIF_TYPE
#define GIF_TYPE 'GIF '
#endif
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "GIFTranslator"
// This global will be externed in other files - set once here
// for the entire translator
bool debug = false;
@@ -45,14 +54,18 @@ char translatorInfo[] = "GIF image translator v1.4";
int32 translatorVersion = 0x140;
translation_format inputFormats[] = {
{ GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif", "GIF image" },
{ B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap", "Be Bitmap Format (GIFTranslator)" },
{ GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif",
"GIF image" },
{ B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap",
"Be Bitmap Format (GIFTranslator)" },
{ 0 }
};
translation_format outputFormats[] = {
{ GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif", "GIF image" },
{ B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap", "Be Bitmap Format (GIFTranslator)" },
{ GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif",
"GIF image" },
{ B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap",
"Be Bitmap Format (GIFTranslator)" },
{ 0 }
};
@@ -79,15 +92,18 @@ DetermineType(BPositionIO *source, bool *is_gif)
if (source->Read(header, 6) != 6) return false;
header[6] = 0x00;
if (strcmp((char *)header, "GIF87a") != 0 && strcmp((char *)header, "GIF89a") != 0) {
if (strcmp((char *)header, "GIF87a") != 0 && strcmp((char *)header,
"GIF89a") != 0) {
*is_gif = false;
int32 magic = (header[0] << 24) + (header[1] << 16) + (header[2] << 8) + header[3];
int32 magic = (header[0] << 24) + (header[1] << 16) + (header[2] << 8)
+ header[3];
if (magic != B_TRANSLATOR_BITMAP) return false;
source->Seek(5 * 4 - 2, SEEK_CUR);
color_space cs;
if (source->Read(&cs, 4) != 4) return false;
cs = (color_space)B_BENDIAN_TO_HOST_INT32(cs);
if (cs != B_RGB32 && cs != B_RGBA32 && cs != B_RGB32_BIG && cs != B_RGBA32_BIG) return false;
if (cs != B_RGB32 && cs != B_RGBA32 && cs != B_RGB32_BIG && cs
!= B_RGBA32_BIG) return false;
}
source->Seek(0, SEEK_SET);
@@ -141,7 +157,8 @@ Identify(BPositionIO *inSource, const translation_format *inFormat,
if ((debug_text != NULL) && (atoi(debug_text) != 0)) debug = true;
if (outType == 0) outType = B_TRANSLATOR_BITMAP;
if (outType != GIF_TYPE && outType != B_TRANSLATOR_BITMAP) return B_NO_TRANSLATOR;
if (outType != GIF_TYPE && outType != B_TRANSLATOR_BITMAP)
return B_NO_TRANSLATOR;
bool is_gif;
if (!DetermineType(inSource, &is_gif)) return B_NO_TRANSLATOR;
@@ -153,14 +170,14 @@ Identify(BPositionIO *inSource, const translation_format *inFormat,
outInfo->type = GIF_TYPE;
outInfo->quality = 0.8;
outInfo->capability = 0.8;
strcpy(outInfo->name, "GIF image");
strcpy(outInfo->name, B_TRANSLATE("GIF image"));
strcpy(outInfo->MIME, "image/gif");
}
else {
outInfo->type = B_TRANSLATOR_BITMAP;
outInfo->quality = 0.3;
outInfo->capability = 0.3;
strcpy(outInfo->name, "Be Bitmap Format (GIFTranslator)");
strcpy(outInfo->name, B_TRANSLATE("Be Bitmap Format (GIFTranslator)"));
strcpy(outInfo->MIME, "image/x-be-bitmap");
}
return B_OK;
@@ -213,7 +230,7 @@ Translate(BPositionIO *inSource, const translator_info *inInfo,
if (debug) {
now = system_time() - now;
printf("Translate() - Translation took %Ld microseconds\n", now);
syslog(LOG_ERR, "Translate() - Translation took %Ld microseconds\n", now);
}
return B_OK;
}
@@ -223,7 +240,7 @@ GIFTranslator::GIFTranslator()
: BApplication("application/x-vnd.Haiku-GIFTranslator")
{
BRect rect(100, 100, 339, 339);
gifwindow = new GIFWindow(rect, "GIF Settings");
gifwindow = new GIFWindow(rect, B_TRANSLATE("GIF Settings"));
gifwindow->Show();
}
@@ -0,0 +1,15 @@
/*
* GIFTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-GIFTranslator";
resource app_version {
major = 1,
middle = 4,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.4.0",
long_info = "Haiku GIFTranslator Add-Ons."
};
+26 -14
View File
@@ -19,6 +19,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <Catalog.h>
#include <GridLayoutBuilder.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
@@ -30,6 +31,10 @@
#include "GIFView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "GIFView"
extern int32 translatorVersion;
extern char translatorName[];
@@ -43,25 +48,31 @@ GIFView::GIFView(const char *name)
title->SetFont(be_bold_font);
char version_string[100];
sprintf(version_string, "v%d.%d.%d %s", (int)(translatorVersion >> 8), (int)((translatorVersion >> 4) & 0xf),
(int)(translatorVersion & 0xf), __DATE__);
sprintf(version_string, "v%d.%d.%d %s", (int)(translatorVersion >> 8),
(int)((translatorVersion >> 4) & 0xf), (int)(translatorVersion & 0xf),
__DATE__);
BStringView *version = new BStringView("Version", version_string);
const char *copyrightString = "©2003 Daniel Switkin, [email protected]";
BStringView *copyright = new BStringView("Copyright", copyrightString);
// menu fields (Palette & Colors)
fWebSafeMI = new BMenuItem("Websafe", new BMessage(GV_WEB_SAFE), 0, 0);
fBeOSSystemMI = new BMenuItem("BeOS system", new BMessage(GV_BEOS_SYSTEM), 0, 0);
fGreyScaleMI = new BMenuItem("Greyscale", new BMessage(GV_GREYSCALE), 0, 0);
fOptimalMI = new BMenuItem("Optimal", new BMessage(GV_OPTIMAL), 0, 0);
fWebSafeMI = new BMenuItem(B_TRANSLATE("Websafe"),
new BMessage(GV_WEB_SAFE), 0, 0);
fBeOSSystemMI = new BMenuItem(B_TRANSLATE("BeOS system"),
new BMessage(GV_BEOS_SYSTEM), 0, 0);
fGreyScaleMI = new BMenuItem(B_TRANSLATE("Greyscale"),
new BMessage(GV_GREYSCALE), 0, 0);
fOptimalMI = new BMenuItem(B_TRANSLATE("Optimal"),
new BMessage(GV_OPTIMAL), 0, 0);
fPaletteM = new BPopUpMenu("PalettePopUpMenu", true, true, B_ITEMS_IN_COLUMN);
fPaletteM->AddItem(fWebSafeMI);
fPaletteM->AddItem(fBeOSSystemMI);
fPaletteM->AddItem(fGreyScaleMI);
fPaletteM->AddItem(fOptimalMI);
fColorCountM = new BPopUpMenu("ColorCountPopUpMenu", true, true, B_ITEMS_IN_COLUMN);
fColorCountM = new BPopUpMenu("ColorCountPopUpMenu", true, true,
B_ITEMS_IN_COLUMN);
int32 count = 2;
for (int32 i = 0; i < 8; i++) {
BMessage* message = new BMessage(GV_SET_COLOR_COUNT);
@@ -74,25 +85,26 @@ GIFView::GIFView(const char *name)
}
fColorCount256MI = fColorCountMI[7];
fPaletteMF = new BMenuField("Palette", fPaletteM, NULL);
fPaletteMF = new BMenuField(B_TRANSLATE("Palette"), fPaletteM, NULL);
fColorCountMF = new BMenuField("Colors", fColorCountM, NULL);
fColorCountMF = new BMenuField(B_TRANSLATE("Colors"), fColorCountM, NULL);
// check boxes
fUseDitheringCB = new BCheckBox("Use dithering",
fUseDitheringCB = new BCheckBox(B_TRANSLATE("Use dithering"),
new BMessage(GV_USE_DITHERING));
fInterlacedCB = new BCheckBox("Write interlaced images",
fInterlacedCB = new BCheckBox(B_TRANSLATE("Write interlaced images"),
new BMessage(GV_INTERLACED));
fUseTransparentCB = new BCheckBox("Write transparent images",
fUseTransparentCB = new BCheckBox(B_TRANSLATE("Write transparent images"),
new BMessage(GV_USE_TRANSPARENT));
// radio buttons
fUseTransparentAutoRB = new BRadioButton("Automatic (from alpha channel)",
fUseTransparentAutoRB = new BRadioButton(
B_TRANSLATE("Automatic (from alpha channel)"),
new BMessage(GV_USE_TRANSPARENT_AUTO));
fUseTransparentColorRB = new BRadioButton("Use RGB color",
fUseTransparentColorRB = new BRadioButton(B_TRANSLATE("Use RGB color"),
new BMessage(GV_USE_TRANSPARENT_COLOR));
fTransparentRedTC = new BTextControl("", "0", new BMessage(GV_TRANSPARENT_RED));
+10
View File
@@ -2,6 +2,8 @@ SubDir HAIKU_TOP src add-ons translators gif ;
SetSubDirSupportedPlatformsBeOSCompatible ;
AddResources GIFTranslator : GIFTranslator.rdef ;
Translator GIFTranslator :
# Main Source
GIFTranslator.cpp
@@ -20,6 +22,14 @@ Translator GIFTranslator :
: true
;
DoCatalogs GIFTranslator :
x-vnd.Haiku-GIFTranslator
:
GIFTranslator.cpp
GIFView.cpp
;
Package haiku-translationkit-cvs :
GIFTranslator :
boot home config add-ons Translators ;
@@ -0,0 +1,15 @@
/*
* HVIFTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-HVIFTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku HVIFTranslator Add-Ons."
};
+2 -1
View File
@@ -4,12 +4,13 @@ UseLibraryHeaders icon ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources HVIFTranslator : HVIFTranslator.rdef ;
Translator HVIFTranslator :
HVIFMain.cpp
HVIFTranslator.cpp
HVIFView.cpp
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
$(HAIKU_LOCALE_LIBS)
$(HAIKU_LOCALE_LIBS)
: true
;
+1 -1
View File
@@ -71,7 +71,7 @@ ConfigView::ConfigView()
AddChild(stringView);
stringView = new BStringView("valid2",
B_TRANSLATE("pixel in either direction."));
B_TRANSLATE("pixels in either direction."));
stringView->SetExplicitAlignment(leftAlignment);
AddChild(stringView);
@@ -6,6 +6,7 @@
#include "ICOTranslator.h"
#include <Catalog.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -0,0 +1,15 @@
/*
* ICOTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-ICOTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku ICOTranslator Add-Ons."
};
+3
View File
@@ -4,6 +4,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources ICOTranslator : ICOTranslator.rdef ;
Translator ICOTranslator :
# ICOTranslator classes
main.cpp
@@ -18,6 +20,7 @@ Translator ICOTranslator :
DoCatalogs ICOTranslator :
x-vnd.Haiku-ICOTranslator
:
main.cpp
ConfigView.cpp
ICOTranslator.cpp
;
+1 -3
View File
@@ -11,13 +11,11 @@
#include "ICO.h"
#include "TranslatorWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "main"
int
main(int /*argc*/, char **/*argv*/)
main(int /*argc*/, char ** /*argv*/)
{
BApplication app("application/x-vnd.Haiku-ICOTranslator");
+29 -15
View File
@@ -34,6 +34,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "TranslatorWindow.h"
#include "exif_parser.h"
#include <syslog.h>
#include <Alignment.h>
#include <Catalog.h>
#include <GridLayoutBuilder.h>
@@ -662,7 +664,9 @@ TranslatorAboutView::TranslatorAboutView(const char* name)
BView(name, 0, new BGroupLayout(B_VERTICAL))
{
BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP);
BStringView* title = new BStringView("Title", sTranslatorName);
BString str1(sTranslatorName);
str1.ReplaceFirst("JPEG images", B_TRANSLATE("JPEG images"));
BStringView* title = new BStringView("Title", str1.String());
title->SetFont(be_bold_font);
title->SetExplicitAlignment(labelAlignment);
@@ -674,7 +678,17 @@ TranslatorAboutView::TranslatorAboutView(const char* name)
version->SetExplicitAlignment(labelAlignment);
BTextView* infoView = new BTextView("info");
infoView->SetText(sTranslatorInfo);
BString str2(sTranslatorInfo);
str2.ReplaceFirst("Based on IJG library © 1994-2009, Thomas G. Lane, "
"Guido Vollbeding.\n", B_TRANSLATE("Based on IJG library © 1994-2009, "
"Thomas G. Lane, Guido Vollbeding.\n"));
str2.ReplaceFirst("with \"lossless\" encoding support patch by Ken "
"Murchison\n", B_TRANSLATE("with \"lossless\" encoding support patch "
"by Ken Murchison\n"));
str2.ReplaceFirst("With some colorspace conversion routines by Magnus "
"Hellman\n", B_TRANSLATE("With some colorspace conversion routines by "
"Magnus Hellman\n"));
infoView->SetText(str2.String());
infoView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
infoView->MakeEditable(false);
@@ -695,9 +709,9 @@ TranslatorView::TranslatorView(const char* name, TranslatorSettings* settings)
:
BTabView(name)
{
AddTab(new TranslatorWriteView("Write", settings->Acquire()));
AddTab(new TranslatorReadView("Read", settings->Acquire()));
AddTab(new TranslatorAboutView("About"));
AddTab(new TranslatorWriteView(B_TRANSLATE("Write"), settings->Acquire()));
AddTab(new TranslatorReadView(B_TRANSLATE("Read"), settings->Acquire()));
AddTab(new TranslatorAboutView(B_TRANSLATE("About")));
settings->Release();
@@ -788,8 +802,8 @@ JPEGTranslator::DerivedTranslate(BPositionIO* inSource,
&longJumpBuffer);
}
} catch (...) {
fprintf(stderr, B_TRANSLATE("libjpeg encountered a critical error "
"(caught C++ exception).\n"));
syslog(LOG_ERR, "libjpeg encountered a critical error (caught C++ "
"exception).\n");
return B_ERROR;
}
@@ -942,8 +956,7 @@ JPEGTranslator::Compress(BPositionIO* in, BPositionIO* out,
break;
default:
fprintf(stderr,
B_TRANSLATE("Wrong type: Color space not implemented.\n"));
syslog(LOG_ERR, "Wrong type: Color space not implemented.\n");
return B_ERROR;
}
out_row_bytes = jpg_input_components * width;
@@ -1097,8 +1110,7 @@ JPEGTranslator::Decompress(BPositionIO* in, BPositionIO* out,
if (cinfo.out_color_space != JCS_RGB) {
switch (cinfo.out_color_space) {
case JCS_UNKNOWN: /* error/unspecified */
fprintf(stderr,
B_TRANSLATE("From Type: Jpeg uses unknown color type\n"));
syslog(LOG_ERR, "From Type: Jpeg uses unknown color type\n");
break;
case JCS_GRAYSCALE: /* monochrome */
// Check if user wants to read only as RGB32 or not
@@ -1130,9 +1142,8 @@ JPEGTranslator::Decompress(BPositionIO* in, BPositionIO* out,
converter = convert_from_CMYK_to_32;
break;
default:
fprintf(stderr,
B_TRANSLATE("From Type: Jpeg uses hmm... i don't know "
"really :(\n"));
syslog(LOG_ERR,
"From Type: Jpeg uses hmm... i don't know really :(\n");
break;
}
}
@@ -1279,7 +1290,10 @@ JPEGTranslator::PopulateInfoFromFormat(translator_info* info,
info->group = formats[i].group;
info->quality = formats[i].quality;
info->capability = formats[i].capability;
strcpy(info->name, formats[i].name);
BString str1(formats[i].name);
str1.ReplaceFirst("Be Bitmap Format (JPEGTranslator)",
B_TRANSLATE("Be Bitmap Format (JPEGTranslator)"));
strncpy(info->name, str1.String(), sizeof(info->name));
strcpy(info->MIME, formats[i].MIME);
return B_OK;
}
+13 -9
View File
@@ -34,6 +34,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <Alert.h>
#include <Application.h>
#include <Catalog.h>
#include <CheckBox.h>
#include <FindDirectory.h>
#include <Path.h>
@@ -52,6 +53,9 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "BaseTranslator.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "JPEGTranslator"
// Settings
#define SETTINGS_FILE "JPEGTranslator"
@@ -67,15 +71,15 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define VIEW_MSG_SET_SHOWREADERRORBOX 'JSEB'
// View labels
#define VIEW_LABEL_QUALITY "Output quality"
#define VIEW_LABEL_SMOOTHING "Output smoothing strength"
#define VIEW_LABEL_PROGRESSIVE "Use progressive compression"
#define VIEW_LABEL_OPTIMIZECOLORS "Prevent colors 'washing out'"
#define VIEW_LABEL_SMALLERFILE "Make file smaller (sligthtly worse quality)"
#define VIEW_LABEL_GRAY1ASRGB24 "Write black-and-white images as RGB24"
#define VIEW_LABEL_ALWAYSRGB32 "Read greyscale images as RGB32"
#define VIEW_LABEL_PHOTOSHOPCMYK "Use CMYK code with 0 for 100% ink coverage"
#define VIEW_LABEL_SHOWREADERRORBOX "Show warning messages"
#define VIEW_LABEL_QUALITY B_TRANSLATE_MARK("Output quality")
#define VIEW_LABEL_SMOOTHING B_TRANSLATE_MARK("Output smoothing strength")
#define VIEW_LABEL_PROGRESSIVE B_TRANSLATE_MARK("Use progressive compression")
#define VIEW_LABEL_OPTIMIZECOLORS B_TRANSLATE_MARK("Prevent colors 'washing out'")
#define VIEW_LABEL_SMALLERFILE B_TRANSLATE_MARK("Make file smaller (sligthtly worse quality)")
#define VIEW_LABEL_GRAY1ASRGB24 B_TRANSLATE_MARK("Write black-and-white images as RGB24")
#define VIEW_LABEL_ALWAYSRGB32 B_TRANSLATE_MARK("Read greyscale images as RGB32")
#define VIEW_LABEL_PHOTOSHOPCMYK B_TRANSLATE_MARK("Use CMYK code with 0 for 100% ink coverage")
#define VIEW_LABEL_SHOWREADERRORBOX B_TRANSLATE_MARK("Show warning messages")
// strings for use in TranslatorSettings
#define JPEG_SET_SMOOTHING "smoothing"
@@ -0,0 +1,15 @@
/*
* JPEGTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-JPEGTranslator";
resource app_version {
major = 1,
middle = 2,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.2.0",
long_info = "Haiku JPEGTranslator Add-Ons."
};
+3
View File
@@ -10,6 +10,8 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
UseLibraryHeaders jpeg ;
AddResources JPEGTranslator : JPEGTranslator.rdef ;
Translator JPEGTranslator :
be_jdatadst.cpp
be_jdatasrc.cpp
@@ -24,6 +26,7 @@ Translator JPEGTranslator :
DoCatalogs JPEGTranslator :
x-vnd.Haiku-JPEGTranslator
:
JPEGTranslator.h
JPEGTranslator.cpp
exif_parser.cpp
be_jerror.cpp
@@ -6,6 +6,7 @@
#include "exif_parser.h"
#include <Catalog.h>
#include <ctype.h>
#include <set>
#include <stdio.h>
@@ -35,6 +35,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "jpc_cs.h"
#include "TranslatorWindow.h"
#include <syslog.h>
#include <GroupLayoutBuilder.h>
#include <TabView.h>
#include <TextView.h>
@@ -705,8 +707,9 @@ TranslatorAboutView::TranslatorAboutView(const char* name)
BView(name, 0, new BGroupLayout(B_VERTICAL))
{
BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP);
BStringView* title = new BStringView("Title", sTranslatorName);
title->SetText(B_TRANSLATE_MARK("JPEG2000 images"));
BString str1(sTranslatorName);
str1.ReplaceFirst("JPEG2000 images", B_TRANSLATE("JPEG2000 images"));
BStringView* title = new BStringView("Title", str1.String());
title->SetFont(be_bold_font);
title->SetExplicitAlignment(labelAlignment);
@@ -1003,7 +1006,7 @@ JP2Translator::Compress(BPositionIO* in, BPositionIO* out)
break;
default:
fprintf(stderr, B_TRANSLATE("Unknown color space.\n"));
syslog(LOG_ERR, "Unknown color space.\n");
return B_ERROR;
}
@@ -1124,8 +1127,8 @@ JP2Translator::Decompress(BPositionIO* in, BPositionIO* out)
out_color_space = B_RGBA32;
converter = read_rgba32;
} else {
fprintf(stderr, B_TRANSLATE("Other than RGB with 3 or 4 color "
"components not implemented.\n"));
syslog(LOG_ERR, "Other than RGB with 3 or 4 color "
"components not implemented.\n");
return Error(ins, image, NULL, 0, NULL, B_ERROR);
}
break;
@@ -1141,13 +1144,12 @@ JP2Translator::Decompress(BPositionIO* in, BPositionIO* out)
}
break;
case JAS_IMAGE_CS_YCBCR:
fprintf(stderr, B_TRANSLATE("Color space YCBCR not implemented "
"yet.\n"));
syslog(LOG_ERR, "Color space YCBCR not implemented yet.\n");
return Error(ins, image, NULL, 0, NULL, B_ERROR);
break;
case JAS_IMAGE_CS_UNKNOWN:
default:
fprintf(stderr, B_TRANSLATE("Color space unknown. \n"));
syslog(LOG_ERR, "Color space unknown. \n");
return Error(ins, image, NULL, 0, NULL, B_ERROR);
break;
}
@@ -1314,8 +1316,7 @@ main()
{
BApplication app("application/x-vnd.Haiku-JPEG2000Translator");
JP2Translator* translator = new JP2Translator();
if (LaunchTranslatorWindow(translator, B_TRANSLATE("JPEG2000 images")
/*sTranslatorName*/) == B_OK)
if (LaunchTranslatorWindow(translator, sTranslatorName) == B_OK)
app.Run();
return 0;
@@ -59,10 +59,10 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Settings
#define JP2_SETTINGS_FILE "JPEG2000Translator"
#define JP2_SET_QUALITY B_TRANSLATE_MARK("quality")
#define JP2_SET_GRAY1_AS_B_RGB24 B_TRANSLATE_MARK("24 from gray1")
#define JP2_SET_GRAY8_AS_B_RGB32 B_TRANSLATE_MARK("32 from gray8")
#define JP2_SET_JPC B_TRANSLATE_MARK("jpc")
#define JP2_SET_QUALITY "quality"
#define JP2_SET_GRAY1_AS_B_RGB24 "24 from gray1"
#define JP2_SET_GRAY8_AS_B_RGB32 "32 from gray8"
#define JP2_SET_JPC "jpc"
// View messages
#define VIEW_MSG_SET_QUALITY 'JSCQ'
@@ -0,0 +1,15 @@
/*
* JPEG2000Translator.rdef
*/
resource app_signature "application/x-vnd.Haiku-JPEG2000Translator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku JPEG2000Translator Add-Ons."
};
+3 -1
View File
@@ -6,7 +6,7 @@ SubDirSysHdrs [ FDirName $(SUBDIR) libjasper ] ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
#for BaseTranslator.h and friends
# Exclude unwanted formats
CCFLAGS += -DEXCLUDE_MIF_SUPPORT
-DEXCLUDE_PNM_SUPPORT
@@ -62,6 +62,8 @@ local jasper_files =
ObjectCcFlags [ FGristFiles $(jasper_files:S=$(SUFOBJ)) ] : -w ;
AddResources JPEG2000Translator : JPEG2000Translator.rdef ;
Translator JPEG2000Translator :
# JPEG2000Translator
+2
View File
@@ -4,6 +4,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources PCXTranslator : PCXTranslator.rdef ;
Translator PCXTranslator :
# PCXTranslator classes
main.cpp
@@ -0,0 +1,15 @@
/*
* PCXTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-PCXTranslator";
resource app_version {
major = 0,
middle = 3,
minor = 0,
variety = 0,
internal = 0,
short_info = "0.3.0",
long_info = "Haiku PCXTranslator Add-Ons."
};
+2
View File
@@ -5,6 +5,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UseLibraryHeaders png zlib ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources PNGTranslator : PNGTranslator.rdef ;
if $(HAIKU_GCC_VERSION[1]) = 2 {
SubDirCcFlags -DPNG_NO_PEDANTIC_WARNINGS ;
}
@@ -0,0 +1,15 @@
/*
* PNGTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-PNGTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku PNGTranslator Add-Ons."
};
+10 -1
View File
@@ -2,12 +2,21 @@ SubDir HAIKU_TOP src add-ons translators ppm ;
SetSubDirSupportedPlatformsBeOSCompatible ;
AddResources PPMTranslator : PPMTranslator.rdef ;
Translator PPMTranslator
: PPMMain.cpp PPMTranslator.cpp colorspace.cpp
: be translation $(TARGET_LIBSUPC++)
: be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: true
;
DoCatalogs PPMTranslator :
x-vnd.Haiku-PPMTranslator
:
PPMMain.cpp
PPMTranslator.cpp
;
Package haiku-translationkit-cvs :
PPMTranslator :
boot home config add-ons Translators ;
+13 -6
View File
@@ -3,16 +3,21 @@
This file may be used under the terms of the Be Sample Code License.
*/
#include <Alert.h>
#include <Application.h>
#include <Catalog.h>
#include <GroupLayout.h>
#include <Screen.h>
#include <TranslatorAddOn.h>
#include <View.h>
#include <Window.h>
#include <Application.h>
#include <Alert.h>
#include <Screen.h>
#include <GroupLayout.h>
#include <stdio.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PPMMain"
BPoint get_window_origin();
void set_window_origin(BPoint pt);
@@ -22,7 +27,7 @@ class PPMWindow :
{
public:
PPMWindow(BRect area) :
BWindow(area, "PPM Settings", B_TITLED_WINDOW,
BWindow(area, B_TRANSLATE("PPM Settings"), B_TITLED_WINDOW,
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS)
{
SetLayout(new BGroupLayout(B_HORIZONTAL));
@@ -43,7 +48,9 @@ main()
BView * v = NULL;
BRect r(0, 0, 1, 1);
if (MakeConfig(NULL, &v, &r)) {
BAlert * err = new BAlert("Error", "Something is wrong with the PPMTranslator!", "OK");
BAlert * err = new BAlert("Error",
B_TRANSLATE("Something is wrong with the PPMTranslator!"),
B_TRANSLATE("OK"));
err->Go();
return 1;
}
+87 -53
View File
@@ -8,32 +8,36 @@
/* does not buffer data. We should wrap a buffering thing around */
/* the input or output when they are in ASCII mode. */
#include <TranslatorAddOn.h>
#include <TranslationKit.h>
#include <ByteOrder.h>
#include <Message.h>
#include <Screen.h>
#include <Locker.h>
#include <FindDirectory.h>
#include <Path.h>
#include <PopUpMenu.h>
#include <MenuField.h>
#include <MenuItem.h>
#include <CheckBox.h>
#include <Bitmap.h>
#include <StringView.h>
#include <ByteOrder.h>
#include <Catalog.h>
#include <CheckBox.h>
#include <FindDirectory.h>
#include <GridLayoutBuilder.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
#include <Locker.h>
#include <MenuField.h>
#include <MenuItem.h>
#include <Message.h>
#include <Path.h>
#include <PopUpMenu.h>
#include <Screen.h>
#include <SpaceLayoutItem.h>
#include <StringView.h>
#include <TranslatorAddOn.h>
#include <TranslationKit.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <syslog.h>
#include "colorspace.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PPMTranslator"
#if DEBUG
#define dprintf(x) printf x
@@ -43,10 +47,10 @@
#if !defined(_PR3_COMPATIBLE_) /* R4 headers? Else we need to define these constants. */
#define B_CMY24 ((color_space)0xC001) /* C[7:0] M[7:0] Y[7:0] No gray removal done */
#define B_CMY32 ((color_space)0xC002) /* C[7:0] M[7:0] Y[7:0] X[7:0] No gray removal done */
#define B_CMYA32 ((color_space)0xE002) /* C[7:0] M[7:0] Y[7:0] A[7:0] No gray removal done */
#define B_CMYK32 ((color_space)0xC003) /* C[7:0] M[7:0] Y[7:0] K[7:0] */
#define B_CMY24 ((color_space)0xC001) /* C[7:0] M[7:0] Y[7:0] No gray removal done */
#define B_CMY32 ((color_space)0xC002) /* C[7:0] M[7:0] Y[7:0] X[7:0] No gray removal done */
#define B_CMYA32 ((color_space)0xE002) /* C[7:0] M[7:0] Y[7:0] A[7:0] No gray removal done */
#define B_CMYK32 ((color_space)0xC003) /* C[7:0] M[7:0] Y[7:0] K[7:0] */
#endif
#define PPM_TRANSLATOR_VERSION 0x100
@@ -59,7 +63,7 @@ int32 translatorVersion = PPM_TRANSLATOR_VERSION;
// Minor: next 4 bits
// Major: highest 24 bits
/* Be reserves all codes with non-lowecase letters in them. */
/* Be reserves all codes with non-lowercase letters in them. */
/* Luckily, there is already a reserved code for PPM. If you */
/* make up your own for a new type, use lower-case letters. */
#define PPM_TYPE 'PPM '
@@ -150,7 +154,8 @@ public:
continue;
}
if (sscanf(ptr, "%31[a-zA-Z_0-9] =", name) != 1) {
fprintf(stderr, "unknown PPMTranslator settings line: %s", line);
syslog(LOG_ERR, "unknown PPMTranslator "
"settings line: %s", line);
}
else {
if (!strcmp(name, "color_space")) {
@@ -158,8 +163,10 @@ public:
ptr++;
}
ptr++;
if (sscanf(ptr, "%d", (int*)&g_settings.out_space) != 1) {
fprintf(stderr, "illegal color space in PPMTranslator settings: %s", ptr);
if (sscanf(ptr, "%d",
(int*)&g_settings.out_space) != 1) {
syslog(LOG_ERR, "illegal color space "
"in PPMTranslator settings: %s", ptr);
}
}
else if (!strcmp(name, "window_pos")) {
@@ -167,8 +174,11 @@ public:
ptr++;
}
ptr++;
if (sscanf(ptr, "%f,%f", &g_settings.window_pos.x, &g_settings.window_pos.y) != 2) {
fprintf(stderr, "illegal window position in PPMTranslator settings: %s", ptr);
if (sscanf(ptr, "%f,%f",
&g_settings.window_pos.x,
&g_settings.window_pos.y) != 2) {
syslog(LOG_ERR, "illegal window position "
"in PPMTranslator settings: %s", ptr);
}
}
else if (!strcmp(name, "write_ascii")) {
@@ -178,14 +188,16 @@ public:
ptr++;
int ascii = g_settings.write_ascii;
if (sscanf(ptr, "%d", &ascii) != 1) {
fprintf(stderr, "illegal write_ascii value in PPMTranslator settings: %s", ptr);
syslog(LOG_ERR, "illegal write_ascii value "
"in PPMTranslator settings: %s", ptr);
}
else {
g_settings.write_ascii = ascii;
}
}
else {
fprintf(stderr, "unknown PPMTranslator setting: %s", line);
syslog(LOG_ERR,
"unknown PPMTranslator setting: %s", line);
}
}
}
@@ -208,7 +220,8 @@ public:
static_cast<int>((translatorVersion >> 4) & 0xf),
static_cast<int>(translatorVersion & 0xf));
fprintf(f, "color_space = %d\n", g_settings.out_space);
fprintf(f, "window_pos = %g,%g\n", g_settings.window_pos.x, g_settings.window_pos.y);
fprintf(f, "window_pos = %g,%g\n", g_settings.window_pos.x,
g_settings.window_pos.y);
fprintf(f, "write_ascii = %d\n", g_settings.write_ascii ? 1 : 0);
fclose(f);
}
@@ -267,14 +280,14 @@ Identify( /* required */
outInfo->type = PPM_TYPE;
outInfo->quality = 0.3; /* no alpha, etc */
outInfo->capability = 0.8; /* we're pretty good at PPM reading, though */
strcpy(outInfo->name, "PPM image");
strcpy(outInfo->name, B_TRANSLATE("PPM image"));
strcpy(outInfo->MIME, "image/x-portable-pixmap");
}
else {
outInfo->type = B_TRANSLATOR_BITMAP;
outInfo->quality = 0.4; /* B_TRANSLATOR_BITMAP can do alpha, at least */
outInfo->capability = 0.8; /* and we might not know many variations thereof */
strcpy(outInfo->name, "Be Bitmap Format (PPMTranslator)");
strcpy(outInfo->name, B_TRANSLATE("Be Bitmap Format (PPMTranslator)"));
strcpy(outInfo->MIME, "image/x-be-bitmap"); /* this is the MIME type of B_TRANSLATOR_BITMAP */
}
return B_OK;
@@ -442,46 +455,66 @@ public:
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
SetLowColor(ViewColor());
mTitle = new BStringView("title", "PPM Image Translator");
mTitle = new BStringView("title",
B_TRANSLATE("PPM Image Translator"));
mTitle->SetFont(be_bold_font);
char detail[100];
int ver = static_cast<int>(translatorVersion);
sprintf(detail, "Version %d.%d.%d %s", ver >> 8, ((ver >> 4) & 0xf),
sprintf(detail, B_TRANSLATE("Version %d.%d.%d %s"), ver >> 8,
((ver >> 4) & 0xf),
(ver & 0xf), __DATE__);
mDetail = new BStringView("detail", detail);
mBasedOn = new BStringView("basedOn",
"Based on PPMTranslator sample code");
B_TRANSLATE("Based on PPMTranslator sample code"));
mCopyright = new BStringView("copyright",
"Sample code copyright 1999, Be Incorporated");
B_TRANSLATE("Sample code copyright 1999, Be Incorporated"));
mMenu = new BPopUpMenu("Color Space");
mMenu->AddItem(new BMenuItem("None", CSMessage(B_NO_COLOR_SPACE)));
mMenu->AddItem(new BMenuItem("RGB 8:8:8 32 bits", CSMessage(B_RGB32)));
mMenu->AddItem(new BMenuItem("RGBA 8:8:8:8 32 bits", CSMessage(B_RGBA32)));
mMenu->AddItem(new BMenuItem("RGB 5:5:5 16 bits", CSMessage(B_RGB15)));
mMenu->AddItem(new BMenuItem("RGBA 5:5:5:1 16 bits", CSMessage(B_RGBA15)));
mMenu->AddItem(new BMenuItem("RGB 5:6:5 16 bits", CSMessage(B_RGB16)));
mMenu->AddItem(new BMenuItem("System palette 8 bits", CSMessage(B_CMAP8)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("None"),
CSMessage(B_NO_COLOR_SPACE)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 8:8:8 32 bits"),
CSMessage(B_RGB32)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 8:8:8:8 32 "
"bits"), CSMessage(B_RGBA32)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:5:5 16 bits"),
CSMessage(B_RGB15)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 5:5:5:1 16 "
"bits"), CSMessage(B_RGBA15)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:6:5 16 bits"),
CSMessage(B_RGB16)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("System palette 8 "
"bits"), CSMessage(B_CMAP8)));
mMenu->AddSeparatorItem();
mMenu->AddItem(new BMenuItem("Grayscale 8 bits", CSMessage(B_GRAY8)));
mMenu->AddItem(new BMenuItem("Bitmap 1 bit", CSMessage(B_GRAY1)));
mMenu->AddItem(new BMenuItem("CMY 8:8:8 32 bits", CSMessage(B_CMY32)));
mMenu->AddItem(new BMenuItem("CMYA 8:8:8:8 32 bits", CSMessage(B_CMYA32)));
mMenu->AddItem(new BMenuItem("CMYK 8:8:8:8 32 bits", CSMessage(B_CMYK32)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("Grayscale 8 bits"),
CSMessage(B_GRAY8)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("Bitmap 1 bit"),
CSMessage(B_GRAY1)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("CMY 8:8:8 32 bits"),
CSMessage(B_CMY32)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("CMYA 8:8:8:8 32 "
"bits"), CSMessage(B_CMYA32)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("CMYK 8:8:8:8 32 "
"bits"), CSMessage(B_CMYK32)));
mMenu->AddSeparatorItem();
mMenu->AddItem(new BMenuItem("RGB 8:8:8 32 bits big-endian", CSMessage(B_RGB32_BIG)));
mMenu->AddItem(new BMenuItem("RGBA 8:8:8:8 32 bits big-endian", CSMessage(B_RGBA32_BIG)));
mMenu->AddItem(new BMenuItem("RGB 5:5:5 16 bits big-endian", CSMessage(B_RGB15_BIG)));
mMenu->AddItem(new BMenuItem("RGBA 5:5:5:1 16 bits big-endian", CSMessage(B_RGBA15_BIG)));
mMenu->AddItem(new BMenuItem("RGB 5:6:5 16 bits big-endian", CSMessage(B_RGB16)));
mField = new BMenuField("Input Color Space", mMenu, NULL);
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 8:8:8 32 bits "
"big-endian"), CSMessage(B_RGB32_BIG)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 8:8:8:8 32 "
"bits big-endian"), CSMessage(B_RGBA32_BIG)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:5:5 16 bits "
"big-endian"), CSMessage(B_RGB15_BIG)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 5:5:5:1 16 "
"bits big-endian"), CSMessage(B_RGBA15_BIG)));
mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:6:5 16 bits "
"big-endian"), CSMessage(B_RGB16)));
mField = new BMenuField(B_TRANSLATE("Input Color Space"),
mMenu, NULL);
mField->SetViewColor(ViewColor());
SelectColorSpace(g_settings.out_space);
BMessage * msg = new BMessage(CHANGE_ASCII);
mAscii = new BCheckBox("Write ASCII", msg);
mAscii = new BCheckBox(B_TRANSLATE("Write ASCII"), msg);
if (g_settings.write_ascii)
mAscii->SetValue(1);
mAscii->SetViewColor(ViewColor());
@@ -616,7 +649,8 @@ MakeConfig( /* optional */
BView * * outView,
BRect * outExtent)
{
PPMView * v = new PPMView("PPMTranslator Settings", B_WILL_DRAW);
PPMView * v = new PPMView(B_TRANSLATE("PPMTranslator Settings"),
B_WILL_DRAW);
*outView = v;
v->ResizeTo(v->ExplicitPreferredSize());;
*outExtent = v->Bounds();
@@ -639,7 +673,7 @@ GetConfigMessage( /* optional */
#if defined(_PR3_COMPATIBLE_)
const char * name = B_TRANSLATOR_EXT_BITMAP_COLOR_SPACE;
#else
const char * name = "bits/space";
const char * name = B_TRANSLATE_MARK("bits/space");
#endif
g_settings_lock.Lock();
(void)ioExtension->RemoveName(name);
@@ -0,0 +1,15 @@
/*
* PPMTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-PPMTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku PPMTranslator Add-Ons."
};
+11 -5
View File
@@ -8,25 +8,31 @@
#include "ConfigView.h"
#include "RAWTranslator.h"
#include <StringView.h>
#include <Catalog.h>
#include <CheckBox.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
#include <StringView.h>
#include <stdio.h>
#include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "ConfigView"
const char* kShortName2 = B_TRANSLATE_MARK("RAWTranslator Settings");
ConfigView::ConfigView(uint32 flags)
: BView("RAWTranslator Settings", flags)
: BView(kShortName2, flags)
{
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
BStringView *fTitle = new BStringView("title", "RAW Images");
BStringView *fTitle = new BStringView("title", B_TRANSLATE("RAW Images"));
fTitle->SetFont(be_bold_font);
char version[256];
sprintf(version, "Version %d.%d.%d, %s",
sprintf(version, B_TRANSLATE("Version %d.%d.%d, %s"),
int(B_TRANSLATION_MAJOR_VERSION(RAW_TRANSLATOR_VERSION)),
int(B_TRANSLATION_MINOR_VERSION(RAW_TRANSLATOR_VERSION)),
int(B_TRANSLATION_REVISION_VERSION(RAW_TRANSLATOR_VERSION)),
@@ -37,7 +43,7 @@ ConfigView::ConfigView(uint32 flags)
B_UTF8_COPYRIGHT "2007-2009 Haiku Inc.");
BStringView *fCopyright2 = new BStringView("copyright2",
"Based on Dave Coffin's dcraw 8.63");
B_TRANSLATE("Based on Dave Coffin's dcraw 8.63"));
BStringView *fCopyright3 = new BStringView("copyright3",
B_UTF8_COPYRIGHT "1997-2007 Dave Coffin");
+12 -1
View File
@@ -4,17 +4,28 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources RAWTranslator : RAWTranslator.rdef ;
Translator RAWTranslator :
# RawTranslator classes
main.cpp
RAWTranslator.cpp
ConfigView.cpp
RAW.cpp
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
: be locale translation libtranslatorsutils.a
$(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
$(HAIKU_LOCALE_LIBS)
: true
;
DoCatalogs RAWTranslator :
x-vnd.Haiku-RAWTranslator
:
RAWTranslator.cpp
ConfigView.cpp
main.cpp
;
Package haiku-translationkit-cvs :
RAWTranslator
: boot home config add-ons Translators
+12 -2
View File
@@ -8,6 +8,7 @@
#include "ConfigView.h"
#include "RAW.h"
#include <Catalog.h>
#include <BufferIO.h>
#include <Messenger.h>
#include <TranslatorRoster.h>
@@ -16,6 +17,9 @@
#include <stdio.h>
#include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "RAWTranslator"
class FreeAllocation {
public:
@@ -45,6 +49,7 @@ const char* kDocumentIndex = "/documentIndex";
const char* kProgressMonitor = "/progressMonitor";
const char* kProgressMessage = "/progressMessage";
// The input formats that this translator supports.
static const translation_format sInputFormats[] = {
{
@@ -87,12 +92,15 @@ const uint32 kNumInputFormats = sizeof(sInputFormats) / sizeof(translation_forma
const uint32 kNumOutputFormats = sizeof(sOutputFormats) / sizeof(translation_format);
const uint32 kNumDefaultSettings = sizeof(sDefaultSettings) / sizeof(TranSetting);
const char* kShortName1 = B_TRANSLATE_MARK("RAW images");
const char* kShortInfo1 = B_TRANSLATE_MARK("RAW image translator");
// #pragma mark -
RAWTranslator::RAWTranslator()
: BaseTranslator("RAW images", "RAW image translator",
: BaseTranslator(kShortName1, kShortInfo1,
RAW_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats,
@@ -156,7 +164,9 @@ RAWTranslator::DerivedIdentify(BPositionIO *stream,
info->group = B_TRANSLATOR_BITMAP;
info->quality = RAW_IN_QUALITY;
info->capability = RAW_IN_CAPABILITY;
snprintf(info->name, sizeof(info->name), "%s RAW image", meta.manufacturer);
snprintf(info->name, sizeof(info->name),
B_TRANSLATE_COMMENT("%s RAW image", "Parameter (%s) is the name of "
"the manufacturer (like \"Canon\")"), meta.manufacturer);
strcpy(info->MIME, "image/x-vnd.photo-raw");
return B_OK;
+6 -6
View File
@@ -8,14 +8,14 @@
#include "BaseTranslator.h"
#include <Translator.h>
#include <TranslatorFormats.h>
#include <TranslationDefs.h>
#include <GraphicsDefs.h>
#include <InterfaceDefs.h>
#include <ByteOrder.h>
#include <DataIO.h>
#include <File.h>
#include <ByteOrder.h>
#include <GraphicsDefs.h>
#include <InterfaceDefs.h>
#include <TranslationDefs.h>
#include <Translator.h>
#include <TranslatorFormats.h>
#define RAW_TRANSLATOR_VERSION B_TRANSLATION_MAKE_VERSION(0, 5, 0)
@@ -0,0 +1,15 @@
/*
* RAWTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-RAWTranslator";
resource app_version {
major = 0,
middle = 5,
minor = 0,
variety = 0,
internal = 0,
short_info = "0.5.0",
long_info = "Haiku RAWTranslator Add-Ons."
};
+10 -6
View File
@@ -9,6 +9,7 @@
#include "TranslatorWindow.h"
#include <Application.h>
#include <Catalog.h>
#define TEST_MODE 0
#define SHOW_MODE 1
@@ -24,6 +25,8 @@
#include <stdio.h>
#include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "RAWTranslator main"
int
main(int argc, char **argv)
@@ -63,11 +66,10 @@ main(int argc, char **argv)
printf("software: %s\n", meta.software);
printf("flash used: %g\n", meta.flash_used);
printf("ISO speed: %g\n", meta.iso_speed);
printf("shutter: ");
if (meta.shutter >= 1)
printf("%g sec\n", meta.shutter);
printf("shutter: %g sec\n", meta.shutter);
else
printf("1/%g sec\n", 1 / meta.shutter);
printf("shutter: 1/%g sec\n", 1 / meta.shutter);
printf("aperture: %g\n", meta.aperture);
printf("focal length: %g mm\n", meta.focal_length);
printf("pixel aspect: %g\n", meta.pixel_aspect);
@@ -116,8 +118,9 @@ main(int argc, char **argv)
status = output.DetachBitmap(&bitmap);
if (status == B_OK) {
BWindow* window = new BWindow(BRect(0, 0, 1, 1),
"RAW", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS
| B_NOT_RESIZABLE | B_AUTO_UPDATE_SIZE_LIMITS);
B_TRANSLATE("RAW"), B_TITLED_WINDOW,
B_ASYNCHRONOUS_CONTROLS | B_NOT_RESIZABLE |
B_AUTO_UPDATE_SIZE_LIMITS);
BView* view = new BView(window->Bounds(), NULL,
B_WILL_DRAW, B_FOLLOW_NONE);
window->AddChild(view);
@@ -140,7 +143,8 @@ main(int argc, char **argv)
}
#endif
status_t status = LaunchTranslatorWindow(new RAWTranslator, "RAW Settings");
status_t status = LaunchTranslatorWindow(new RAWTranslator,
B_TRANSLATE("RAW Settings"));
if (status != B_OK)
return 1;
+14 -8
View File
@@ -7,13 +7,17 @@
#include "ConfigView.h"
#include "RTFTranslator.h"
#include <Catalog.h>
#include <StringView.h>
#include <stdio.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "ConfigView"
ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
: BView(frame, "RTF-Translator Settings", resize, flags)
: BView(frame, B_TRANSLATE("RTF-Translator Settings"), resize, flags)
{
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
@@ -22,7 +26,8 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
float height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
BRect rect(10, 10, 200, 10 + height);
BStringView *stringView = new BStringView(rect, "title", "Rich Text Format (RTF) files");
BStringView *stringView = new BStringView(rect, "title",
B_TRANSLATE("Rich Text Format (RTF) files"));
stringView->SetFont(be_bold_font);
stringView->ResizeToPreferred();
AddChild(stringView);
@@ -31,11 +36,11 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
rect.OffsetBy(0, height + 10);
char version[256];
snprintf(version, sizeof(version), "Version %d.%d.%d, %s",
int(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)),
int(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)),
int(B_TRANSLATION_REVISION_VERSION(RTF_TRANSLATOR_VERSION)),
__DATE__);
snprintf(version, sizeof(version), B_TRANSLATE("Version %d.%d.%d, %s"),
static_cast<int>(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_REVISION_VERSION(
RTF_TRANSLATOR_VERSION)), __DATE__);
stringView = new BStringView(rect, "version", version);
stringView->ResizeToPreferred();
AddChild(stringView);
@@ -47,7 +52,8 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
rect.OffsetBy(0, height + 5);
stringView = new BStringView(rect, "Copyright", B_UTF8_COPYRIGHT "2004-2006 Haiku Inc.");
stringView = new BStringView(rect,
"Copyright", B_UTF8_COPYRIGHT "2004-2006 Haiku Inc.");
stringView->ResizeToPreferred();
AddChild(stringView);
+12 -1
View File
@@ -8,6 +8,8 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
UsePrivateHeaders shared storage ;
AddResources RTF-Translator : RTFTranslator.rdef ;
Translator RTF-Translator :
main.cpp
ConfigView.cpp
@@ -16,7 +18,16 @@ Translator RTF-Translator :
RTF.cpp
RTFTranslator.cpp
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
$(HAIKU_LOCALE_LIBS)
$(HAIKU_LOCALE_LIBS)
: true
;
DoCatalogs RTF-Translator :
x-vnd.Haiku-RTFTranslator
:
main.cpp
RTFTranslator.cpp
ConfigView.cpp
;
+13 -8
View File
@@ -9,10 +9,13 @@
#include "RTF.h"
#include "convert.h"
#include <Catalog.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "RTFTranslator"
#define READ_BUFFER_SIZE 2048
#define DATA_BUFFER_SIZE 64
@@ -54,10 +57,11 @@ static const translation_format sOutputFormats[] = {
RTFTranslator::RTFTranslator()
{
char info[256];
sprintf(info, "Rich Text Format translator v%d.%d.%d %s",
int(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)),
int(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)),
int(B_TRANSLATION_REVISION_VERSION(RTF_TRANSLATOR_VERSION)),
sprintf(info, B_TRANSLATE("Rich Text Format translator v%d.%d.%d %s"),
static_cast<int>(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_REVISION_VERSION(
RTF_TRANSLATOR_VERSION)),
__DATE__);
fInfo = strdup(info);
@@ -73,14 +77,14 @@ RTFTranslator::~RTFTranslator()
const char *
RTFTranslator::TranslatorName() const
{
return "RTF text files";
return B_TRANSLATE("RTF text files");
}
const char *
RTFTranslator::TranslatorInfo() const
{
return "Rich Text Format Translator";
return B_TRANSLATE("Rich Text Format Translator");
}
@@ -131,7 +135,7 @@ RTFTranslator::Identify(BPositionIO *stream,
info->group = B_TRANSLATOR_TEXT;
info->quality = RTF_IN_QUALITY;
info->capability = RTF_IN_CAPABILITY;
strcpy(info->name, "RichTextFormat file");
strcpy(info->name, B_TRANSLATE("RichTextFormat file"));
strcpy(info->MIME, "text/rtf");
return B_OK;
@@ -168,7 +172,8 @@ RTFTranslator::Translate(BPositionIO *source,
status_t
RTFTranslator::MakeConfigurationView(BMessage *ioExtension, BView **_view, BRect *_extent)
RTFTranslator::MakeConfigurationView(BMessage *ioExtension, BView **_view,
BRect *_extent)
{
if (_view == NULL || _extent == NULL)
return B_BAD_VALUE;
@@ -0,0 +1,15 @@
/*
* RTFTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-RTFTranslator";
resource app_version {
major = 0,
middle = 6,
minor = 0,
variety = 0,
internal = 0,
short_info = "0.6.0",
long_info = "Haiku RTFTranslator Add-Ons."
};
+13 -6
View File
@@ -6,8 +6,10 @@
#include <stdio.h>
#include <string.h>
#include <syslog.h>
#include <Application.h>
#include <Catalog.h>
#include <FileIO.h>
#include <TranslatorRoster.h>
@@ -17,6 +19,9 @@
#include "RTF.h"
#include "RTFTranslator.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "main"
int
main(int argc, char** argv)
@@ -30,8 +35,9 @@ main(int argc, char** argv)
BFile input;
status_t status = input.SetTo(argv[i], B_READ_ONLY);
if (status != B_OK) {
fprintf(stderr, "Could not open file \"%s\": %s\n", argv[i],
strerror(status));
syslog(LOG_ERR,
"RTFTranslator:Could not open file \"%s\": %s\n",
argv[i], strerror(status));
result = 1;
continue;
}
@@ -41,8 +47,9 @@ main(int argc, char** argv)
status = parser.Parse(header);
if (status != B_OK) {
fprintf(stderr, "Could not convert file \"%s\": %s\n", argv[i],
strerror(status));
syslog(LOG_ERR,
"RTFTranslator:Could not convert file \"%s\": %s\n",
argv[i], strerror(status));
result = 1;
continue;
}
@@ -56,8 +63,8 @@ main(int argc, char** argv)
BApplication app("application/x-vnd.Haiku-RTFTranslator");
status_t result;
result = LaunchTranslatorWindow(new RTFTranslator, "RTF Settings",
BRect(0, 0, 225, 175));
result = LaunchTranslatorWindow(new RTFTranslator,
B_TRANSLATE("RTF Settings"), BRect(0, 0, 225, 175));
if (result != B_OK)
return 1;
+11 -3
View File
@@ -4,17 +4,25 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources SGITranslator : SGITranslator.rdef ;
Translator SGITranslator :
SGIImage.cpp
SGIMain.cpp
SGITranslator.cpp
SGIView.cpp
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
$(HAIKU_LOCALE_LIBS)
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: true
;
DoCatalogs SGITranslator :
x-vnd.Haiku-SGITranslator
:
SGIMain.cpp
SGITranslator.cpp
SGIView.cpp
;
Package haiku-translationkit-cvs :
SGITranslator :
boot home config add-ons Translators ;
+5 -1
View File
@@ -35,9 +35,13 @@
/*****************************************************************************/
#include <Application.h>
#include <Catalog.h>
#include "SGITranslator.h"
#include "TranslatorWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "SGIMain"
// ---------------------------------------------------------------
// main
//
@@ -57,7 +61,7 @@ main()
BApplication app("application/x-vnd.Haiku-SGITranslator");
status_t result;
result = LaunchTranslatorWindow(new SGITranslator,
"SGI Settings", BRect(0, 0, 225, 175));
B_TRANSLATE("SGI Settings"), BRect(0, 0, 225, 175));
if (result == B_OK) {
app.Run();
return 0;
+17 -7
View File
@@ -43,7 +43,9 @@
#include <new>
#include <stdio.h>
#include <string.h>
#include <syslog.h>
#include <Catalog.h>
#include <OS.h>
#include "SGIImage.h"
@@ -52,6 +54,10 @@
using std::nothrow;
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "SGITranslator"
// The input formats that this translator supports.
static const translation_format sInputFormats[] = {
{
@@ -152,7 +158,8 @@ make_nth_translator(int32 n, image_id you, uint32 flags, ...)
// ---------------------------------------------------------------
SGITranslator::SGITranslator()
:
BaseTranslator("SGI images", "SGI image translator",
BaseTranslator(B_TRANSLATE("SGI images"),
B_TRANSLATE("SGI image translator"),
SGI_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats,
@@ -196,7 +203,7 @@ identify_sgi_header(BPositionIO *inSource, translator_info *outInfo, uint32 outT
outInfo->quality = SGI_IN_QUALITY;
outInfo->capability = SGI_IN_CAPABILITY;
strcpy(outInfo->MIME, "image/sgi");
strcpy(outInfo->name, "SGI image");
strcpy(outInfo->name, B_TRANSLATE("SGI image"));
}
} else {
delete sgiImage;
@@ -412,7 +419,8 @@ SGITranslator::translate_from_bits(BPositionIO *inSource, uint32 outType,
for (uint32 z = 0; z < channelCount; z++) {
ret = sgiImage->WriteRow(rows[z], y, z);
if (ret < B_OK) {
printf("WriteRow() returned %s!\n", strerror(ret));
syslog(LOG_ERR,
"WriteRow() returned %s!\n"), strerror(ret);
break;
}
}
@@ -498,10 +506,11 @@ SGITranslator::translate_from_sgi(BPositionIO *inSource, uint32 outType,
sizeof(TranslatorBitmap), B_SWAP_HOST_TO_BENDIAN)) < B_OK) {
return ret;
} else
ret = outDestination->Write(&bitsHeader, sizeof(TranslatorBitmap));
ret = outDestination->Write(&bitsHeader,
sizeof(TranslatorBitmap));
}
if (ret < B_OK)
printf("error writing bits header: %s\n", strerror(ret));
if (ret < B_OK)
syslog(LOG_ERR, "error writing bits header: %s\n", strerror(ret));
if (ret >= B_OK && !bheaderonly) {
// read one row at a time,
// convert to the correct format
@@ -738,5 +747,6 @@ SGITranslator::DerivedTranslate(BPositionIO *inSource,
BView *
SGITranslator::NewConfigView(TranslatorSettings *settings)
{
return new SGIView("SGITranslator Settings", B_WILL_DRAW, settings);
return new SGIView(B_TRANSLATE("SGITranslator Settings"), B_WILL_DRAW,
settings);
}
@@ -0,0 +1,15 @@
/*
* SGITranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-SGITranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku SGITranslator Add-Ons."
};
+18 -10
View File
@@ -33,6 +33,7 @@
#include <stdio.h>
#include <string.h>
#include <Catalog.h>
#include <GroupLayoutBuilder.h>
#include <MenuBar.h>
#include <MenuField.h>
@@ -49,6 +50,9 @@
const char* author = "Stephan Aßmus, <[email protected]>";
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "SGIView"
// add_menu_item
void
add_menu_item(BMenu* menu,
@@ -83,11 +87,13 @@ SGIView::SGIView(const char* name, uint32 flags, TranslatorSettings* settings)
{
BPopUpMenu* menu = new BPopUpMenu("pick compression");
uint32 currentCompression = fSettings->SetGetInt32(SGI_SETTING_COMPRESSION);
uint32 currentCompression =
fSettings->SetGetInt32(SGI_SETTING_COMPRESSION);
// create the menu items with the various compression methods
add_menu_item(menu, SGI_COMP_NONE, "None", currentCompression);
add_menu_item(menu, SGI_COMP_NONE, B_TRANSLATE("None"),
currentCompression);
// menu->AddSeparatorItem();
add_menu_item(menu, SGI_COMP_RLE, "RLE", currentCompression);
add_menu_item(menu, SGI_COMP_RLE, B_TRANSLATE("RLE"), currentCompression);
// DON'T turn this on, it's so slow that I didn't wait long enough
// the one time I tested this. So I don't know if the code even works.
@@ -97,27 +103,29 @@ SGIView::SGIView(const char* name, uint32 flags, TranslatorSettings* settings)
// add_menu_item(menu, SGI_COMP_ARLE, "Agressive RLE", currentCompression);
fCompressionMF = new BMenuField("compression", "Use compression:", menu);
fCompressionMF = new BMenuField("compression",
B_TRANSLATE("Use compression:"), menu);
BAlignment labelAlignment(B_ALIGN_LEFT, B_ALIGN_NO_VERTICAL);
BStringView* titleView = new BStringView("title", "SGI image translator");
BStringView* titleView = new BStringView("title",
B_TRANSLATE("SGI image translator"));
titleView->SetFont(be_bold_font);
titleView->SetExplicitAlignment(labelAlignment);
char detail[100];
sprintf(detail, "Version %d.%d.%d %s",
sprintf(detail, B_TRANSLATE("Version %d.%d.%d %s"),
static_cast<int>(B_TRANSLATION_MAJOR_VERSION(SGI_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_MINOR_VERSION(SGI_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_REVISION_VERSION(SGI_TRANSLATOR_VERSION)),
__DATE__);
static_cast<int>(B_TRANSLATION_REVISION_VERSION(
SGI_TRANSLATOR_VERSION)), __DATE__);
BStringView* detailView = new BStringView("details", detail);
detailView->SetExplicitAlignment(labelAlignment);
BTextView* infoView = new BTextView("info");
infoView->SetText(BString("written by:\n")
infoView->SetText(BString(B_TRANSLATE("written by:\n"))
.Append(author)
.Append("\n\nbased on GIMP SGI plugin v1.5:\n")
.Append(B_TRANSLATE("\n\nbased on GIMP SGI plugin v1.5:\n"))
.Append(kSGICopyright).String());
infoView->SetExplicitAlignment(labelAlignment);
infoView->SetWordWrap(false);
+10
View File
@@ -8,6 +8,8 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers registrar ] ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources STXTTranslator : STXTTranslator.rdef ;
Translator STXTTranslator :
STXTMain.cpp
STXTTranslator.cpp
@@ -17,6 +19,14 @@ Translator STXTTranslator :
: true
;
DoCatalogs STXTTranslator :
x-vnd.Haiku-STXTTranslator
:
STXTMain.cpp
STXTTranslator.cpp
STXTView.cpp
;
#Package haiku-translationkit-cvs :
# STXTTranslator :
# boot home config add-ons Translators ;
+5 -1
View File
@@ -33,9 +33,13 @@
/*****************************************************************************/
#include <Application.h>
#include <Catalog.h>
#include "STXTTranslator.h"
#include "TranslatorWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "STXTMain"
// ---------------------------------------------------------------
// main
//
@@ -55,7 +59,7 @@ main()
BApplication app("application/x-vnd.Haiku-STXTTranslator");
status_t result;
result = LaunchTranslatorWindow(new STXTTranslator,
"STXT Settings", BRect(0, 0, 225, 175));
B_TRANSLATE("STXT Settings"), BRect(0, 0, 225, 175));
if (result == B_OK) {
app.Run();
return 0;
@@ -11,6 +11,7 @@
#include "STXTTranslator.h"
#include "STXTView.h"
#include <Catalog.h>
#include <CharacterSet.h>
#include <CharacterSetRoster.h>
#include <MimeType.h>
@@ -27,6 +28,8 @@
using namespace BPrivate;
using namespace std;
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "STXTTranslator"
#define READ_BUFFER_SIZE 32768
#define DATA_BUFFER_SIZE 256
@@ -857,7 +860,7 @@ identify_stxt_header(const TranslatorStyledTextStreamHeader &header,
outInfo->group = B_TRANSLATOR_TEXT;
outInfo->quality = STXT_IN_QUALITY;
outInfo->capability = STXT_IN_CAPABILITY;
strcpy(outInfo->name, "Be styled text file");
strcpy(outInfo->name, B_TRANSLATE("Be styled text file"));
strcpy(outInfo->MIME, "text/x-vnd.Be-stxt");
return B_OK;
@@ -904,7 +907,8 @@ identify_text(uint8* data, int32 bytesRead, BPositionIO* source,
if (type.GetLongDescription(description) == B_OK)
strlcpy(outInfo->name, description, sizeof(outInfo->name));
else
strlcpy(outInfo->name, "Plain text file", sizeof(outInfo->name));
strlcpy(outInfo->name, B_TRANSLATE("Plain text file"),
sizeof(outInfo->name));
//strlcpy(outInfo->MIME, type.Type(), sizeof(outInfo->MIME));
strcpy(outInfo->MIME, "text/plain");
@@ -1333,7 +1337,8 @@ translate_from_text(BPositionIO* source, const char* encoding, bool forceEncodin
STXTTranslator::STXTTranslator()
: BaseTranslator("StyledEdit files", "StyledEdit files translator",
: BaseTranslator(B_TRANSLATE("StyledEdit files"),
B_TRANSLATE("StyledEdit files translator"),
STXT_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats,
@@ -1455,7 +1460,8 @@ STXTTranslator::Translate(BPositionIO* source, const translator_info* info,
BView *
STXTTranslator::NewConfigView(TranslatorSettings *settings)
{
return new STXTView(BRect(0, 0, 225, 175), "STXTTranslator Settings",
return new STXTView(BRect(0, 0, 225, 175),
B_TRANSLATE("STXTTranslator Settings"),
B_FOLLOW_ALL, B_WILL_DRAW, settings);
}
@@ -0,0 +1,15 @@
/*
* STXTTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-STXTTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku STXTTranslator Add-Ons."
};
+11 -2
View File
@@ -4,15 +4,24 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources TGATranslator : TGATranslator.rdef ;
Translator TGATranslator :
TGAMain.cpp
TGATranslator.cpp
TGAView.cpp
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++)
$(HAIKU_LOCALE_LIBS)
: be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: true
;
DoCatalogs TGATranslator :
x-vnd.Haiku-TGATranslator
:
TGAMain.cpp
TGATranslator.cpp
TGAView.cpp
;
Package haiku-translationkit-cvs :
TGATranslator :
boot home config add-ons Translators ;
+7 -1
View File
@@ -28,9 +28,14 @@
/*****************************************************************************/
#include <Application.h>
#include <Catalog.h>
#include "TGATranslator.h"
#include "TranslatorWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "TGAMain"
// ---------------------------------------------------------------
// main
//
@@ -49,7 +54,8 @@ main()
{
BApplication app("application/x-vnd.Haiku-TGATranslator");
status_t result;
result = LaunchTranslatorWindow(new TGATranslator, "TGA Settings");
result = LaunchTranslatorWindow(new TGATranslator,
B_TRANSLATE("TGA Settings"));
if (result == B_OK) {
app.Run();
return 0;
+32 -13
View File
@@ -30,10 +30,16 @@
#include <string.h>
#include <stdio.h>
#include <Catalog.h>
#include "TGATranslator.h"
#include "TGAView.h"
#include "StreamBuffer.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "TGATranslator"
// The input formats that this translator supports.
static const translation_format sInputFormats[] = {
{
@@ -136,7 +142,8 @@ make_nth_translator(int32 n, image_id you, uint32 flags, ...)
// Returns:
// ---------------------------------------------------------------
TGATranslator::TGATranslator()
: BaseTranslator("TGA images", "TGA image translator",
: BaseTranslator(B_TRANSLATE("TGA images"),
B_TRANSLATE("TGA image translator"),
TGA_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats,
@@ -385,29 +392,40 @@ identify_tga_header(BPositionIO *inSource, translator_info *outInfo,
outInfo->group = B_TRANSLATOR_BITMAP;
outInfo->quality = TGA_IN_QUALITY;
outInfo->capability = TGA_IN_CAPABILITY;
sprintf(outInfo->name, "Targa image (%d bits",
imagespec.depth);
switch (fileheader.imagetype) {
case TGA_NOCOMP_COLORMAP:
strcat(outInfo->name, " colormap");
snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("Targa image (%d bits colormap)"),
imagespec.depth);
break;
case TGA_NOCOMP_TRUECOLOR:
strcat(outInfo->name, " truecolor");
break;
case TGA_NOCOMP_BW:
strcat(outInfo->name, " gray");
snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("Targa image (%d bits truecolor)"),
imagespec.depth);
break;
case TGA_RLE_COLORMAP:
strcat(outInfo->name, " RLE colormap");
snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("Targa image (%d bits RLE colormap)"),
imagespec.depth);
break;
case TGA_RLE_TRUECOLOR:
strcat(outInfo->name, " RLE truecolor");
snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("Targa image (%d bits RLE truecolor)"),
imagespec.depth);
break;
case TGA_RLE_BW:
strcat(outInfo->name, " RLE gray");
snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("Targa image (%d bits RLE gray)"),
imagespec.depth);
break;
case TGA_NOCOMP_BW:
default:
snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("Targa image (%d bits gray)"),
imagespec.depth);
break;
}
strcat(outInfo->name, ")");
strcpy(outInfo->MIME, "image/x-targa");
}
@@ -2196,6 +2214,7 @@ TGATranslator::DerivedTranslate(BPositionIO *inSource,
BView *
TGATranslator::NewConfigView(TranslatorSettings *settings)
{
return new TGAView("TGATranslator Settings", B_WILL_DRAW, settings);
return new TGAView(B_TRANSLATE("TGATranslator Settings"),
B_WILL_DRAW, settings);
}
@@ -0,0 +1,15 @@
/*
* TGATranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-TGATranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku TGATranslator Add-Ons."
};
+10 -7
View File
@@ -29,6 +29,7 @@
// DEALINGS IN THE SOFTWARE.
/*****************************************************************************/
#include <Catalog.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
#include <SpaceLayoutItem.h>
@@ -36,10 +37,12 @@
#include <stdio.h>
#include <string.h>
#include "TGAView.h"
#include "TGATranslator.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "TGAView"
TGAView::TGAView(const char *name, uint32 flags, TranslatorSettings *settings)
:
@@ -53,22 +56,22 @@ TGAView::TGAView(const char *name, uint32 flags, TranslatorSettings *settings)
fTitle->SetFont(be_bold_font);
char detail[100];
sprintf(detail, "Version %d.%d.%d %s",
sprintf(detail, B_TRANSLATE("Version %d.%d.%d %s"),
static_cast<int>(B_TRANSLATION_MAJOR_VERSION(TGA_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_MINOR_VERSION(TGA_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_REVISION_VERSION(TGA_TRANSLATOR_VERSION)),
__DATE__);
static_cast<int>(B_TRANSLATION_REVISION_VERSION(
TGA_TRANSLATOR_VERSION)), __DATE__);
fDetail = new BStringView("detail", detail);
fWrittenBy = new BStringView("writtenby",
"Written by the Haiku Translation Kit Team");
B_TRANSLATE("Written by the Haiku Translation Kit Team"));
fpchkIgnoreAlpha = new BCheckBox("Ignore TGA alpha channel",
fpchkIgnoreAlpha = new BCheckBox(B_TRANSLATE("Ignore TGA alpha channel"),
new BMessage(CHANGE_IGNORE_ALPHA));
int32 val = (fSettings->SetGetBool(TGA_SETTING_IGNORE_ALPHA)) ? 1 : 0;
fpchkIgnoreAlpha->SetValue(val);
fpchkIgnoreAlpha->SetViewColor(ViewColor());
fpchkRLE = new BCheckBox("Save with RLE Compression",
fpchkRLE = new BCheckBox(B_TRANSLATE("Save with RLE Compression"),
new BMessage(CHANGE_RLE));
val = (fSettings->SetGetBool(TGA_SETTING_RLE)) ? 1 : 0;
fpchkRLE->SetValue(val);
+2
View File
@@ -6,6 +6,8 @@ UseLibraryHeaders tiff zlib ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources TIFFTranslator : TIFFTranslator.rdef ;
Translator TIFFTranslator :
# [ FGristFiles $(tiff_files:S=$(SUFOBJ)) ]
@@ -0,0 +1,15 @@
/*
* TIFFTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-TIFFTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku TIFFTranslator Add-Ons."
};
+1
View File
@@ -5,6 +5,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
SubDirHdrs [ FDirName $(SUBDIR) webp ] ;
AddResources WebPTranslator : WebPTranslator.rdef ;
Translator WebPTranslator :
@@ -0,0 +1,15 @@
/*
* WebPTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-WebPTranslator";
resource app_version {
major = 0,
middle = 1,
minor = 0,
variety = 0,
internal = 0,
short_info = "0.1.0",
long_info = "Haiku WebPTranslator Add-Ons."
};
@@ -8,6 +8,8 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons translators wonderbrush sup
UseLibraryHeaders zlib ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ;
AddResources WonderBrushTranslator : WonderBrushTranslator.rdef ;
Translator WonderBrushTranslator :
Canvas.cpp
Layer.cpp
@@ -0,0 +1,15 @@
/*
* WonderBrushTranslator.rdef
*/
resource app_signature "application/x-vnd.Haiku-WonderBrushTranslator";
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = 0,
internal = 0,
short_info = "1.0.0",
long_info = "Haiku WonderBrushTranslator Add-Ons."
};