1/* 2 * Copyright 2007, Axel D��rfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef RAW_TRANSLATOR_H 6#define RAW_TRANSLATOR_H 7 8 9#include "BaseTranslator.h" 10 11#include <ByteOrder.h> 12#include <DataIO.h> 13#include <File.h> 14#include <GraphicsDefs.h> 15#include <InterfaceDefs.h> 16#include <TranslationDefs.h> 17#include <Translator.h> 18#include <TranslatorFormats.h> 19 20 21#define RAW_TRANSLATOR_VERSION B_TRANSLATION_MAKE_VERSION(0, 5, 0) 22#define RAW_IMAGE_FORMAT 'RAWI' 23 24#define RAW_IN_QUALITY 0.90 25#define RAW_IN_CAPABILITY 0.90 26#define BITS_IN_QUALITY 1 27#define BITS_IN_CAPABILITY 1 28 29#define RAW_OUT_QUALITY 0.8 30#define RAW_OUT_CAPABILITY 0.8 31#define BITS_OUT_QUALITY 1 32#define BITS_OUT_CAPABILITY 0.9 33 34 35class RAWTranslator : public BaseTranslator { 36 public: 37 RAWTranslator(); 38 virtual ~RAWTranslator(); 39 40 virtual status_t DerivedIdentify(BPositionIO *inSource, 41 const translation_format *inFormat, BMessage *ioExtension, 42 translator_info *outInfo, uint32 outType); 43 44 virtual status_t DerivedTranslate(BPositionIO *inSource, 45 const translator_info *inInfo, BMessage *ioExtension, 46 uint32 outType, BPositionIO *outDestination, int32 baseType); 47 48 virtual BView *NewConfigView(TranslatorSettings *settings); 49 50 private: 51 static void _ProgressMonitor(const char* message, float percentage, 52 void* data); 53}; 54 55#endif // RAW_TRANSLATOR_H 56