1 /* 2 * Copyright 2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef ICO_TRANSLATOR_H 6 #define ICO_TRANSLATOR_H 7 8 9 #include "BaseTranslator.h" 10 11 #include <Translator.h> 12 #include <TranslatorFormats.h> 13 #include <TranslationDefs.h> 14 #include <GraphicsDefs.h> 15 #include <InterfaceDefs.h> 16 #include <DataIO.h> 17 #include <File.h> 18 #include <ByteOrder.h> 19 20 21 #define ICO_TRANSLATOR_VERSION B_TRANSLATION_MAKE_VERSION(0, 3, 0) 22 #define ICO_IMAGE_FORMAT 'ICO ' 23 24 #define ICO_IN_QUALITY 0.5 25 #define ICO_IN_CAPABILITY 0.5 26 #define BITS_IN_QUALITY 1 27 #define BITS_IN_CAPABILITY 1 28 29 #define ICO_OUT_QUALITY 0.8 30 #define ICO_OUT_CAPABILITY 0.8 31 #define BITS_OUT_QUALITY 1 32 #define BITS_OUT_CAPABILITY 0.9 33 34 35 class ICOTranslator : public BaseTranslator { 36 public: 37 ICOTranslator(); 38 39 virtual status_t DerivedIdentify(BPositionIO *inSource, 40 const translation_format *inFormat, BMessage *ioExtension, 41 translator_info *outInfo, uint32 outType); 42 43 virtual status_t DerivedTranslate(BPositionIO *inSource, 44 const translator_info *inInfo, BMessage *ioExtension, 45 uint32 outType, BPositionIO *outDestination, int32 baseType); 46 47 virtual status_t DerivedCanHandleImageSize(float width, 48 float height) const; 49 50 virtual BView *NewConfigView(TranslatorSettings *settings); 51 52 protected: 53 virtual ~ICOTranslator(); 54 // this is protected because the object is deleted by the 55 // Release() function instead of being deleted directly by 56 // the user 57 58 private: 59 }; 60 61 // Extensions that ShowImage supports 62 extern const char *kDocumentCount; 63 extern const char *kDocumentIndex; 64 65 #endif /* ICO_TRANSLATOR_H */ 66