Applied patchs from Karvjorm (tickets #7149, #7148, #7147) with fixes by myself: Localizations for WebP, Wonderbrush and TIFF translators.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40284 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2011-01-24 22:50:46 +00:00
parent c44966dff2
commit 6537cf9750
13 changed files with 166 additions and 68 deletions
+8
View File
@@ -19,6 +19,14 @@ Translator TIFFTranslator :
: true : true
; ;
DoCatalogs TIFFTranslator :
x-vnd.Haiku-TIFFTranslator
:
TIFFMain.cpp
TIFFTranslator.cpp
TIFFView.cpp
;
Package haiku-translationkit-cvs : Package haiku-translationkit-cvs :
TIFFTranslator : TIFFTranslator :
boot home config add-ons Translators ; boot home config add-ons Translators ;
+6 -1
View File
@@ -33,9 +33,13 @@
/*****************************************************************************/ /*****************************************************************************/
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include "TIFFTranslator.h" #include "TIFFTranslator.h"
#include "TranslatorWindow.h" #include "TranslatorWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "TIFFMain"
// --------------------------------------------------------------- // ---------------------------------------------------------------
// main // main
// //
@@ -54,7 +58,8 @@ main()
{ {
BApplication app("application/x-vnd.Haiku-TIFFTranslator"); BApplication app("application/x-vnd.Haiku-TIFFTranslator");
status_t result; status_t result;
result = LaunchTranslatorWindow(new TIFFTranslator, "TIFF Settings"); result = LaunchTranslatorWindow(new TIFFTranslator,
B_TRANSLATE("TIFF Settings"));
if (result == B_OK) { if (result == B_OK) {
app.Run(); app.Run();
return 0; return 0;
+33 -24
View File
@@ -13,10 +13,15 @@
#include "tiffio.h" #include "tiffio.h"
#include <Catalog.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "TIFFTranslator"
/*! /*!
How this works: How this works:
@@ -202,7 +207,8 @@ identify_tiff_header(BPositionIO *inSource, BMessage *ioExtension,
if (documentIndex < 1 || documentIndex > documentCount) { if (documentIndex < 1 || documentIndex > documentCount) {
// document index is invalid // document index is invalid
fprintf(stderr, "identify_tiff_header: invalid document index\n"); fprintf(stderr, B_TRANSLATE("identify_tiff_header: invalid "
"document index\n"));
return B_NO_TRANSLATOR; return B_NO_TRANSLATOR;
} }
} }
@@ -210,7 +216,8 @@ identify_tiff_header(BPositionIO *inSource, BMessage *ioExtension,
// identify the document the user specified or the first document // identify the document the user specified or the first document
// if the user did not specify which document they wanted to identify // if the user did not specify which document they wanted to identify
if (!TIFFSetDirectory(tif, documentIndex - 1)) { if (!TIFFSetDirectory(tif, documentIndex - 1)) {
fprintf(stderr, "identify_tiff_header: couldn't set directory\n"); fprintf(stderr, B_TRANSLATE("identify_tiff_header: couldn't set "
"directory\n"));
return B_NO_TRANSLATOR; return B_NO_TRANSLATOR;
} }
@@ -226,7 +233,8 @@ identify_tiff_header(BPositionIO *inSource, BMessage *ioExtension,
outInfo->quality = TIFF_IN_QUALITY; outInfo->quality = TIFF_IN_QUALITY;
outInfo->capability = TIFF_IN_CAPABILITY; outInfo->capability = TIFF_IN_CAPABILITY;
strcpy(outInfo->MIME, "image/tiff"); strcpy(outInfo->MIME, "image/tiff");
sprintf(outInfo->name, "TIFF image"); snprintf(outInfo->name, sizeof(outInfo->name),
B_TRANSLATE("TIFF image"));
} }
if (!poutTIFF) { if (!poutTIFF) {
@@ -258,8 +266,8 @@ identify_tiff_header(BPositionIO *inSource, BMessage *ioExtension,
// convert_buffer_bgra_rgba // convert_buffer_bgra_rgba
inline void inline void
convert_buffer_bgra_rgba(uint8* buffer, convert_buffer_bgra_rgba(uint8* buffer, uint32 rows, uint32 width,
uint32 rows, uint32 width, uint32 bytesPerRow) uint32 bytesPerRow)
{ {
for (uint32 y = 0; y < rows; y++) { for (uint32 y = 0; y < rows; y++) {
uint8* handle = buffer; uint8* handle = buffer;
@@ -275,8 +283,8 @@ convert_buffer_bgra_rgba(uint8* buffer,
// convert_buffer_argb_rgba // convert_buffer_argb_rgba
inline void inline void
convert_buffer_argb_rgba(uint8* buffer, convert_buffer_argb_rgba(uint8* buffer, uint32 rows, uint32 width,
uint32 rows, uint32 width, uint32 bytesPerRow) uint32 bytesPerRow)
{ {
for (uint32 y = 0; y < rows; y++) { for (uint32 y = 0; y < rows; y++) {
uint8* handle = buffer; uint8* handle = buffer;
@@ -294,8 +302,8 @@ convert_buffer_argb_rgba(uint8* buffer,
// convert_buffers_bgra_rgba // convert_buffers_bgra_rgba
inline void inline void
convert_buffers_bgra_rgba(uint8* inBuffer, uint8* outBuffer, convert_buffers_bgra_rgba(uint8* inBuffer, uint8* outBuffer, uint32 rows,
uint32 rows, uint32 width, uint32 bytesPerRow) uint32 width, uint32 bytesPerRow)
{ {
for (uint32 y = 0; y < rows; y++) { for (uint32 y = 0; y < rows; y++) {
uint8* inHandle = inBuffer; uint8* inHandle = inBuffer;
@@ -315,8 +323,8 @@ convert_buffers_bgra_rgba(uint8* inBuffer, uint8* outBuffer,
// convert_buffers_argb_rgba // convert_buffers_argb_rgba
inline void inline void
convert_buffers_argb_rgba(uint8* inBuffer, uint8* outBuffer, convert_buffers_argb_rgba(uint8* inBuffer, uint8* outBuffer, uint32 rows,
uint32 rows, uint32 width, uint32 bytesPerRow) uint32 width, uint32 bytesPerRow)
{ {
for (uint32 y = 0; y < rows; y++) { for (uint32 y = 0; y < rows; y++) {
uint8* inHandle = inBuffer; uint8* inHandle = inBuffer;
@@ -336,8 +344,8 @@ convert_buffers_argb_rgba(uint8* inBuffer, uint8* outBuffer,
// convert_buffers_bgrX_rgb // convert_buffers_bgrX_rgb
inline void inline void
convert_buffers_bgrX_rgb(uint8* inBuffer, uint8* outBuffer, convert_buffers_bgrX_rgb(uint8* inBuffer, uint8* outBuffer, uint32 rows,
uint32 rows, uint32 width, uint32 bytesPerRow, uint32 samplesPerPixel) uint32 width, uint32 bytesPerRow, uint32 samplesPerPixel)
{ {
for (uint32 y = 0; y < rows; y++) { for (uint32 y = 0; y < rows; y++) {
uint8* inHandle = inBuffer; uint8* inHandle = inBuffer;
@@ -359,8 +367,8 @@ convert_buffers_bgrX_rgb(uint8* inBuffer, uint8* outBuffer,
// convert_buffers_rgbX_rgb // convert_buffers_rgbX_rgb
inline void inline void
convert_buffers_rgbX_rgb(uint8* inBuffer, uint8* outBuffer, convert_buffers_rgbX_rgb(uint8* inBuffer, uint8* outBuffer, uint32 rows,
uint32 rows, uint32 width, uint32 bytesPerRow, uint32 samplesPerPixel) uint32 width, uint32 bytesPerRow, uint32 samplesPerPixel)
{ {
for (uint32 y = 0; y < rows; y++) { for (uint32 y = 0; y < rows; y++) {
uint8* inHandle = inBuffer; uint8* inHandle = inBuffer;
@@ -380,8 +388,8 @@ convert_buffers_rgbX_rgb(uint8* inBuffer, uint8* outBuffer,
// convert_buffers_cmap // convert_buffers_cmap
inline void inline void
convert_buffers_cmap(uint8* inBuffer, uint8* outBuffer, convert_buffers_cmap(uint8* inBuffer, uint8* outBuffer, uint32 rows,
uint32 rows, uint32 width, uint32 bytesPerRow) uint32 width, uint32 bytesPerRow)
{ {
// compensate for bytesPerRow != width (padding bytes) // compensate for bytesPerRow != width (padding bytes)
// this function will not be called if bytesPerRow == width, btw // this function will not be called if bytesPerRow == width, btw
@@ -394,8 +402,8 @@ convert_buffers_cmap(uint8* inBuffer, uint8* outBuffer,
// convert_buffer // convert_buffer
inline void inline void
convert_buffer(color_space format, convert_buffer(color_space format, uint8* buffer, uint32 rows, uint32 width,
uint8* buffer, uint32 rows, uint32 width, uint32 bytesPerRow) uint32 bytesPerRow)
{ {
switch (format) { switch (format) {
case B_RGBA32: case B_RGBA32:
@@ -425,9 +433,8 @@ convert_buffer(color_space format,
// convert_buffers // convert_buffers
inline void inline void
convert_buffers(color_space format, convert_buffers(color_space format, uint8* inBuffer, uint8* outBuffer,
uint8* inBuffer, uint8* outBuffer, uint32 rows, uint32 width, uint32 bytesPerRow)
uint32 rows, uint32 width, uint32 bytesPerRow)
{ {
switch (format) { switch (format) {
case B_RGBA32: case B_RGBA32:
@@ -596,7 +603,8 @@ write_tif_stream(TIFF* tif, BPositionIO* inSource, color_space format,
TIFFTranslator::TIFFTranslator() TIFFTranslator::TIFFTranslator()
: BaseTranslator("TIFF images", "TIFF image translator", : BaseTranslator(B_TRANSLATE("TIFF images"),
B_TRANSLATE("TIFF image translator"),
TIFF_TRANSLATOR_VERSION, TIFF_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats, sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats, sOutputFormats, kNumOutputFormats,
@@ -950,5 +958,6 @@ TIFFTranslator::DerivedTranslate(BPositionIO *inSource,
BView * BView *
TIFFTranslator::NewConfigView(TranslatorSettings *settings) TIFFTranslator::NewConfigView(TranslatorSettings *settings)
{ {
return new TIFFView("TIFFTranslator Settings", B_WILL_DRAW, settings); return new TIFFView(B_TRANSLATE("TIFFTranslator Settings"),
B_WILL_DRAW, settings);
} }
+21 -11
View File
@@ -33,6 +33,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <Catalog.h>
#include <GridLayoutBuilder.h> #include <GridLayoutBuilder.h>
#include <GroupLayout.h> #include <GroupLayout.h>
#include <GroupLayoutBuilder.h> #include <GroupLayoutBuilder.h>
@@ -49,6 +50,9 @@
#include "TIFFView.h" #include "TIFFView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "TIFFView"
// add_menu_item // add_menu_item
void void
add_menu_item(BMenu* menu, add_menu_item(BMenu* menu,
@@ -77,7 +81,8 @@ add_menu_item(BMenu* menu,
// //
// Returns: // Returns:
// --------------------------------------------------------------- // ---------------------------------------------------------------
TIFFView::TIFFView(const char *name, uint32 flags, TranslatorSettings *settings) TIFFView::TIFFView(const char *name, uint32 flags,
TranslatorSettings *settings)
: BView(name, flags) : BView(name, flags)
{ {
fSettings = settings; fSettings = settings;
@@ -85,19 +90,19 @@ TIFFView::TIFFView(const char *name, uint32 flags, TranslatorSettings *settings)
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
SetLowColor(ViewColor()); SetLowColor(ViewColor());
fTitle = new BStringView("title", "TIFF Image Translator"); fTitle = new BStringView("title", B_TRANSLATE("TIFF Image Translator"));
fTitle->SetFont(be_bold_font); fTitle->SetFont(be_bold_font);
char detail[100]; 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(TIFF_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_MAJOR_VERSION(TIFF_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_MINOR_VERSION(TIFF_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_MINOR_VERSION(TIFF_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_REVISION_VERSION(TIFF_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_REVISION_VERSION(
__DATE__); TIFF_TRANSLATOR_VERSION)), __DATE__);
fDetail = new BStringView("detail", detail); fDetail = new BStringView("detail", detail);
int16 i = 1; int16 i = 1;
fLibTIFF[0] = new BStringView(NULL, "TIFF Library:"); fLibTIFF[0] = new BStringView(NULL, B_TRANSLATE("TIFF Library:"));
char libtiff[] = TIFFLIB_VERSION_STR; char libtiff[] = TIFFLIB_VERSION_STR;
char *tok = strtok(libtiff, "\n"); char *tok = strtok(libtiff, "\n");
while (i < 5 && tok) { while (i < 5 && tok) {
@@ -110,11 +115,15 @@ TIFFView::TIFFView(const char *name, uint32 flags, TranslatorSettings *settings)
uint32 currentCompression = fSettings->SetGetInt32(TIFF_SETTING_COMPRESSION); uint32 currentCompression = fSettings->SetGetInt32(TIFF_SETTING_COMPRESSION);
// create the menu items with the various compression methods // create the menu items with the various compression methods
add_menu_item(menu, COMPRESSION_NONE, "None", currentCompression); add_menu_item(menu, COMPRESSION_NONE, B_TRANSLATE("None"),
currentCompression);
menu->AddSeparatorItem(); menu->AddSeparatorItem();
add_menu_item(menu, COMPRESSION_PACKBITS, "RLE (Packbits)", currentCompression); add_menu_item(menu, COMPRESSION_PACKBITS, B_TRANSLATE("RLE (Packbits)"),
add_menu_item(menu, COMPRESSION_DEFLATE, "ZIP (Deflate)", currentCompression); currentCompression);
add_menu_item(menu, COMPRESSION_LZW, "LZW", currentCompression); add_menu_item(menu, COMPRESSION_DEFLATE, B_TRANSLATE("ZIP (Deflate)"),
currentCompression);
add_menu_item(menu, COMPRESSION_LZW, B_TRANSLATE("LZW"),
currentCompression);
// TODO: the disabled compression modes are not configured in libTIFF // TODO: the disabled compression modes are not configured in libTIFF
// menu->AddSeparatorItem(); // menu->AddSeparatorItem();
@@ -122,7 +131,8 @@ TIFFView::TIFFView(const char *name, uint32 flags, TranslatorSettings *settings)
// TODO ? - strip encoding is not implemented in libTIFF for this compression // TODO ? - strip encoding is not implemented in libTIFF for this compression
// add_menu_item(menu, COMPRESSION_JP2000, "JPEG2000", currentCompression); // add_menu_item(menu, COMPRESSION_JP2000, "JPEG2000", currentCompression);
fCompressionMF = new BMenuField("Use Compression:", menu, NULL); fCompressionMF = new BMenuField(B_TRANSLATE("Use Compression:"), menu,
NULL);
// Build the layout // Build the layout
SetLayout(new BGroupLayout(B_VERTICAL)); SetLayout(new BGroupLayout(B_VERTICAL));
+14 -9
View File
@@ -10,6 +10,7 @@
#include "ConfigView.h" #include "ConfigView.h"
#include "WebPTranslator.h" #include "WebPTranslator.h"
#include <Catalog.h>
#include <CheckBox.h> #include <CheckBox.h>
#include <GroupLayout.h> #include <GroupLayout.h>
#include <GroupLayoutBuilder.h> #include <GroupLayoutBuilder.h>
@@ -18,28 +19,31 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "ConfigView"
ConfigView::ConfigView(uint32 flags) ConfigView::ConfigView(uint32 flags)
: BView("WebPTranslator Settings", flags) : BView(B_TRANSLATE("WebPTranslator Settings"), flags)
{ {
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
BStringView* title = new BStringView("title", "WebP Images"); BStringView* title = new BStringView("title", B_TRANSLATE("WebP Images"));
title->SetFont(be_bold_font); title->SetFont(be_bold_font);
char versionString[256]; char versionString[256];
sprintf(versionString, "Version %d.%d.%d, %s", sprintf(versionString, B_TRANSLATE("Version %d.%d.%d, %s"),
int(B_TRANSLATION_MAJOR_VERSION(WEBP_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_MAJOR_VERSION(WEBP_TRANSLATOR_VERSION)),
int(B_TRANSLATION_MINOR_VERSION(WEBP_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_MINOR_VERSION(WEBP_TRANSLATOR_VERSION)),
int(B_TRANSLATION_REVISION_VERSION(WEBP_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_REVISION_VERSION(
__DATE__); WEBP_TRANSLATOR_VERSION)), __DATE__);
BStringView* version = new BStringView("version", versionString); BStringView* version = new BStringView("version", versionString);
BStringView* copyright = new BStringView("copyright", BStringView* copyright = new BStringView("copyright",
B_UTF8_COPYRIGHT "2010 Haiku Inc."); B_UTF8_COPYRIGHT "2010 Haiku Inc.");
BStringView* copyright2 = new BStringView("copyright2", BStringView* copyright2 = new BStringView("copyright2",
"Based on libwebp v0.1"); B_TRANSLATE("Based on libwebp v0.1"));
BStringView* copyright3 = new BStringView("copyright3", BStringView* copyright3 = new BStringView("copyright3",
B_UTF8_COPYRIGHT "2010 Google Inc."); B_UTF8_COPYRIGHT "2010 Google Inc.");
@@ -61,7 +65,8 @@ ConfigView::ConfigView(uint32 flags)
BFont font; BFont font;
GetFont(&font); GetFont(&font);
SetExplicitPreferredSize(BSize((font.Size() * 233)/12, (font.Size() * 200)/12)); SetExplicitPreferredSize(BSize(font.Size() * 233 / 12,
font.Size() * 200 / 12));
} }
+8
View File
@@ -27,3 +27,11 @@ Translator WebPTranslator :
: true : true
; ;
DoCatalogs WebPTranslator :
x-vnd.Haiku-WebPTranslator
:
main.cpp
ConfigView.cpp
WebPTranslator.cpp
;
@@ -13,6 +13,7 @@
#include "decode.h" #include "decode.h"
#include <BufferIO.h> #include <BufferIO.h>
#include <Catalog.h>
#include <Messenger.h> #include <Messenger.h>
#include <TranslatorRoster.h> #include <TranslatorRoster.h>
@@ -21,6 +22,10 @@
#include <string.h> #include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "WebPTranslator"
class FreeAllocation { class FreeAllocation {
public: public:
FreeAllocation(void* buffer) FreeAllocation(void* buffer)
@@ -70,16 +75,20 @@ static const TranSetting sDefaultSettings[] = {
{B_TRANSLATOR_EXT_DATA_ONLY, TRAN_SETTING_BOOL, false} {B_TRANSLATOR_EXT_DATA_ONLY, TRAN_SETTING_BOOL, false}
}; };
const uint32 kNumInputFormats = sizeof(sInputFormats) / sizeof(translation_format); const uint32 kNumInputFormats = sizeof(sInputFormats) /
const uint32 kNumOutputFormats = sizeof(sOutputFormats) / sizeof(translation_format); sizeof(translation_format);
const uint32 kNumDefaultSettings = sizeof(sDefaultSettings) / sizeof(TranSetting); const uint32 kNumOutputFormats = sizeof(sOutputFormats) /
sizeof(translation_format);
const uint32 kNumDefaultSettings = sizeof(sDefaultSettings) /
sizeof(TranSetting);
// #pragma mark - // #pragma mark -
WebPTranslator::WebPTranslator() WebPTranslator::WebPTranslator()
: BaseTranslator("WebP images", "WebP image translator", : BaseTranslator(B_TRANSLATE("WebP images"),
B_TRANSLATE("WebP image translator"),
WEBP_TRANSLATOR_VERSION, WEBP_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats, sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats, sOutputFormats, kNumOutputFormats,
@@ -120,7 +129,7 @@ WebPTranslator::DerivedIdentify(BPositionIO* stream,
info->group = B_TRANSLATOR_BITMAP; info->group = B_TRANSLATOR_BITMAP;
info->quality = WEBP_IN_QUALITY; info->quality = WEBP_IN_QUALITY;
info->capability = WEBP_IN_CAPABILITY; info->capability = WEBP_IN_CAPABILITY;
snprintf(info->name, sizeof(info->name), "WebP image"); snprintf(info->name, sizeof(info->name), B_TRANSLATE("WebP image"));
strcpy(info->MIME, "image/webp"); strcpy(info->MIME, "image/webp");
return B_OK; return B_OK;
@@ -139,7 +148,7 @@ WebPTranslator::DerivedTranslate(BPositionIO* stream,
off_t streamLength = 0; off_t streamLength = 0;
stream->GetSize(&streamLength); stream->GetSize(&streamLength);
printf("stream GetSize(): %lld\n", streamLength); printf(B_TRANSLATE("stream GetSize(): %lld\n"), streamLength);
off_t streamSize = stream->Seek(0, SEEK_END); off_t streamSize = stream->Seek(0, SEEK_END);
stream->Seek(0, SEEK_SET); stream->Seek(0, SEEK_SET);
@@ -154,7 +163,8 @@ WebPTranslator::DerivedTranslate(BPositionIO* stream,
} }
int width, height; int width, height;
uint8* out = WebPDecodeRGB((const uint8*)streamData, streamSize, &width, &height); uint8* out = WebPDecodeRGB((const uint8*)streamData, streamSize, &width,
&height);
free(streamData); free(streamData);
if (out == NULL) if (out == NULL)
@@ -174,7 +184,8 @@ WebPTranslator::DerivedTranslate(BPositionIO* stream,
// write out Be's Bitmap header // write out Be's Bitmap header
swap_data(B_UINT32_TYPE, &bitmapHeader, sizeof(TranslatorBitmap), swap_data(B_UINT32_TYPE, &bitmapHeader, sizeof(TranslatorBitmap),
B_SWAP_HOST_TO_BENDIAN); B_SWAP_HOST_TO_BENDIAN);
ssize_t bytesWritten = target->Write(&bitmapHeader, sizeof(TranslatorBitmap)); ssize_t bytesWritten = target->Write(&bitmapHeader,
sizeof(TranslatorBitmap));
if (bytesWritten < B_OK) if (bytesWritten < B_OK)
return bytesWritten; return bytesWritten;
+8 -2
View File
@@ -8,16 +8,22 @@
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include "WebPTranslator.h"
#include "TranslatorWindow.h" #include "TranslatorWindow.h"
#include "WebPTranslator.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "main"
int int
main() main()
{ {
BApplication app("application/x-vnd.Haiku-WebPTranslator"); BApplication app("application/x-vnd.Haiku-WebPTranslator");
if (LaunchTranslatorWindow(new WebPTranslator, if (LaunchTranslatorWindow(new WebPTranslator,
"WebP Settings") != B_OK) B_TRANSLATE("WebP Settings")) != B_OK)
return 1; return 1;
app.Run(); app.Run();
@@ -26,6 +26,15 @@ Translator WonderBrushTranslator :
: true : true
; ;
DoCatalogs WonderBrushTranslator :
x-vnd.Haiku-WonderBrushTranslator
:
Layer.cpp
WonderBrushMain.cpp
WonderBrushTranslator.cpp
WonderBrushView.cpp
;
Package haiku-translationkit-cvs : Package haiku-translationkit-cvs :
WonderBrushTranslator : WonderBrushTranslator :
boot home config add-ons Translators ; boot home config add-ons Translators ;
@@ -12,6 +12,7 @@
#include <stdio.h> #include <stdio.h>
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h>
#include <Message.h> #include <Message.h>
#include "bitmap_compression.h" #include "bitmap_compression.h"
@@ -20,6 +21,10 @@
#include "support.h" #include "support.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "Layer"
// constructor // constructor
Layer::Layer() Layer::Layer()
: fBitmap(NULL), : fBitmap(NULL),
@@ -7,17 +7,23 @@
*/ */
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include "WonderBrushTranslator.h" #include "WonderBrushTranslator.h"
#include "TranslatorWindow.h" #include "TranslatorWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "WonderBrushMain"
int int
main() main()
{ {
BApplication app("application/x-vnd.Haiku-WonderBrushTranslator"); BApplication app("application/x-vnd.Haiku-WonderBrushTranslator");
status_t result; status_t result;
result = LaunchTranslatorWindow(new WonderBrushTranslator, result = LaunchTranslatorWindow(new WonderBrushTranslator,
"WBI Settings", BRect(0, 0, 225, 175)); B_TRANSLATE("WBI Settings"), BRect(0, 0, 225, 175));
if (result == B_OK) { if (result == B_OK) {
app.Run(); app.Run();
return 0; return 0;
@@ -13,6 +13,7 @@
#include <string.h> #include <string.h>
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h>
#include <OS.h> #include <OS.h>
#include "blending.h" #include "blending.h"
@@ -20,6 +21,11 @@
#include "WonderBrushImage.h" #include "WonderBrushImage.h"
#include "WonderBrushView.h" #include "WonderBrushView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "WonderBrushTranslator"
using std::nothrow; using std::nothrow;
// The input formats that this translator supports. // The input formats that this translator supports.
@@ -69,9 +75,12 @@ static const TranSetting sDefaultSettings[] = {
{ B_TRANSLATOR_EXT_DATA_ONLY, TRAN_SETTING_BOOL, false } { B_TRANSLATOR_EXT_DATA_ONLY, TRAN_SETTING_BOOL, false }
}; };
const uint32 kNumInputFormats = sizeof(sInputFormats) / sizeof(translation_format); const uint32 kNumInputFormats = sizeof(sInputFormats) /
const uint32 kNumOutputFormats = sizeof(sOutputFormats) / sizeof(translation_format); sizeof(translation_format);
const uint32 kNumDefaultSettings = sizeof(sDefaultSettings) / sizeof(TranSetting); const uint32 kNumOutputFormats = sizeof(sOutputFormats) /
sizeof(translation_format);
const uint32 kNumDefaultSettings = sizeof(sDefaultSettings) /
sizeof(TranSetting);
BTranslator* BTranslator*
@@ -85,7 +94,8 @@ make_nth_translator(int32 n, image_id you, uint32 flags, ...)
WonderBrushTranslator::WonderBrushTranslator() WonderBrushTranslator::WonderBrushTranslator()
: BaseTranslator("WonderBrush images", "WonderBrush image translator", : BaseTranslator(B_TRANSLATE("WonderBrush images"),
B_TRANSLATE("WonderBrush image translator"),
WBI_TRANSLATOR_VERSION, WBI_TRANSLATOR_VERSION,
sInputFormats, kNumInputFormats, sInputFormats, kNumInputFormats,
sOutputFormats, kNumOutputFormats, sOutputFormats, kNumOutputFormats,
@@ -124,7 +134,7 @@ identify_wbi_header(BPositionIO* inSource, translator_info* outInfo,
outInfo->quality = WBI_IN_QUALITY; outInfo->quality = WBI_IN_QUALITY;
outInfo->capability = WBI_IN_CAPABILITY; outInfo->capability = WBI_IN_CAPABILITY;
strcpy(outInfo->MIME, "image/x-wonderbrush"); strcpy(outInfo->MIME, "image/x-wonderbrush");
strcpy(outInfo->name, "WonderBrush image"); strcpy(outInfo->name, B_TRANSLATE("WonderBrush image"));
} }
} else { } else {
delete wbImage; delete wbImage;
@@ -170,8 +180,8 @@ WonderBrushTranslator::DerivedTranslate(BPositionIO* inSource,
BView* BView*
WonderBrushTranslator::NewConfigView(TranslatorSettings* settings) WonderBrushTranslator::NewConfigView(TranslatorSettings* settings)
{ {
return new WonderBrushView(BRect(0, 0, 225, 175), "WBI Settings", return new WonderBrushView(BRect(0, 0, 225, 175),
B_FOLLOW_ALL, B_WILL_DRAW, settings); B_TRANSLATE("WBI Settings"), B_FOLLOW_ALL, B_WILL_DRAW, settings);
} }
@@ -11,6 +11,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <Catalog.h>
#include <MenuBar.h> #include <MenuBar.h>
#include <MenuField.h> #include <MenuField.h>
#include <MenuItem.h> #include <MenuItem.h>
@@ -20,6 +21,11 @@
#include "WonderBrushImage.h" #include "WonderBrushImage.h"
#include "WonderBrushTranslator.h" #include "WonderBrushTranslator.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "WonderBrushView"
const char* kAuthor = "Stephan Aßmus, <[email protected]>"; const char* kAuthor = "Stephan Aßmus, <[email protected]>";
const char* kWBICopyright = "Copyright "B_UTF8_COPYRIGHT" 2006 Haiku Inc."; const char* kWBICopyright = "Copyright "B_UTF8_COPYRIGHT" 2006 Haiku Inc.";
@@ -129,7 +135,7 @@ WonderBrushView::Draw(BRect area)
BPoint offset(xbold, ybold); BPoint offset(xbold, ybold);
const char* text = "WonderBrush image translator"; const char* text = B_TRANSLATE("WonderBrush image translator");
DrawString(text, offset); DrawString(text, offset);
SetFont(be_plain_font); SetFont(be_plain_font);
@@ -140,16 +146,16 @@ WonderBrushView::Draw(BRect area)
offset.y += yplain; offset.y += yplain;
char detail[100]; 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(WBI_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_MAJOR_VERSION(WBI_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_MINOR_VERSION(WBI_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_MINOR_VERSION(WBI_TRANSLATOR_VERSION)),
static_cast<int>(B_TRANSLATION_REVISION_VERSION(WBI_TRANSLATOR_VERSION)), static_cast<int>(B_TRANSLATION_REVISION_VERSION(
__DATE__); WBI_TRANSLATOR_VERSION)), __DATE__);
DrawString(detail, offset); DrawString(detail, offset);
offset.y += 2 * ybold; offset.y += 2 * ybold;
text = "written by:"; text = B_TRANSLATE("written by:");
DrawString(text, offset); DrawString(text, offset);
offset.y += ybold; offset.y += ybold;