xref: /haiku/src/add-ons/translators/gif/GIFTranslator.h (revision 5ac9b506412b11afb993bb52d161efe7666958a5)
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 //	File: GIFTranslator.h
4 //
5 //	Date: December 1999
6 //
7 //	Author: Daniel Switkin
8 //
9 //	Copyright 2003 (c) by Daniel Switkin. This file is made publically available
10 //	under the BSD license, with the stipulations that this complete header must
11 //	remain at the top of the file indefinitely, and credit must be given to the
12 //	original author in any about box using this software.
13 //
14 ////////////////////////////////////////////////////////////////////////////////
15 
16 // Additional authors:	John Scipione, <jscipione@gmail.com>
17 
18 #ifndef GIF_TRANSLATOR_H
19 #define GIF_TRANSLATOR_H
20 
21 
22 #include "BaseTranslator.h"
23 
24 
25 #define GIF_IN_QUALITY		0.8
26 #define GIF_IN_CAPABILITY	0.8
27 #define BBM_IN_QUALITY		0.3
28 #define BBM_IN_CAPABILITY	0.3
29 
30 #define GIF_OUT_QUALITY		0.8
31 #define GIF_OUT_CAPABILITY	0.8
32 #define BBM_OUT_QUALITY		0.3
33 #define BBM_OUT_CAPABILITY	0.3
34 
35 #define GIF_TRANSLATOR_VERSION B_TRANSLATION_MAKE_VERSION(1, 5, 0)
36 
37 // settings
38 
39 #define GIF_SETTING_INTERLACED				"interlaced"
40 #define GIF_SETTING_USE_TRANSPARENT			"use transparent"
41 #define GIF_SETTING_USE_TRANSPARENT_AUTO	"use transparent auto"
42 #define GIF_SETTING_USE_DITHERING			"use dithering"
43 #define GIF_SETTING_PALETTE_MODE			"palette mode"
44 #define GIF_SETTING_PALETTE_SIZE			"palette size"
45 #define GIF_SETTING_TRANSPARENT_RED			"transparent red"
46 #define GIF_SETTING_TRANSPARENT_GREEN		"transparent green"
47 #define GIF_SETTING_TRANSPARENT_BLUE		"transparent blue"
48 
49 
50 class GIFTranslator : public BaseTranslator {
51 public:
52 								GIFTranslator();
53 	virtual	status_t			DerivedIdentify(BPositionIO* inSource,
54 									const translation_format* inFormat,
55 									BMessage* ioExtension,
56 									translator_info* outInfo, uint32 outType);
57 
58 	virtual	status_t			DerivedTranslate(BPositionIO* inSource,
59 									const translator_info* inInfo,
60 									BMessage* ioExtension,
61 									uint32 outType, BPositionIO* outDestination,
62 									int32 baseType);
63 
64 	virtual	BView*				NewConfigView(TranslatorSettings* settings);
65 
66 protected:
67 	virtual						~GIFTranslator();
68 };
69 
70 
71 #endif	// GIF_TRANSLATOR_H
72