1/* 2 * Copyright 2006, Haiku. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Stephan A��mus <superstippi@gmx.de> 7 */ 8 9#ifndef WONDERBRUSH_TRANSLATOR_H 10#define WONDERBRUSH_TRANSLATOR_H 11 12#include <ByteOrder.h> 13#include <DataIO.h> 14#include <File.h> 15#include <fs_attr.h> 16#include <GraphicsDefs.h> 17#include <InterfaceDefs.h> 18#include <TranslationDefs.h> 19#include <Translator.h> 20#include <TranslatorFormats.h> 21 22#include "BaseTranslator.h" 23 24#define WBI_TRANSLATOR_VERSION B_TRANSLATION_MAKE_VERSION(1,0,0) 25 26#define WBI_IN_QUALITY 1.0 27#define WBI_IN_CAPABILITY 1.0 28#define WBI_OUT_QUALITY 1.0 29#define WBI_OUT_CAPABILITY 1.0 30 31#define BBT_IN_QUALITY 0.4 32#define BBT_IN_CAPABILITY 0.6 33#define BBT_OUT_QUALITY 0.4 34#define BBT_OUT_CAPABILITY 0.6 35 36enum { 37 WBI_FORMAT = 'WBI ', 38}; 39 40class WonderBrushTranslator : public BaseTranslator { 41 public: 42 WonderBrushTranslator(); 43 44 virtual status_t DerivedIdentify(BPositionIO* inSource, 45 const translation_format* inFormat, 46 BMessage* ioExtension, 47 translator_info* outInfo, uint32 outType); 48 49 virtual status_t DerivedTranslate(BPositionIO* inSource, 50 const translator_info* inInfo, 51 BMessage* ioExtension, uint32 outType, 52 BPositionIO* outDestination, 53 int32 baseType); 54 55 virtual BView* NewConfigView(TranslatorSettings* settings); 56 57 protected: 58 virtual ~WonderBrushTranslator(); 59 // this is protected because the object is deleted by the 60 // Release() function instead of being deleted directly by 61 // the user 62 63 private: 64 status_t _TranslateFromWBI(BPositionIO* inSource, 65 uint32 outType, BPositionIO* outDestination); 66}; 67 68#endif // WONDERBRUSH_TRANSLATOR_H 69