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