1//////////////////////////////////////////////////////////////////////////////// 2// 3// File: GIFView.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: Stephan Aßmus, <superstippi@gmx.de> 17 18#ifndef GIFVIEW_H 19#define GIFVIEW_H 20 21#include <View.h> 22 23class BMenuField; 24class BPopUpMenu; 25class BMenuItem; 26class BCheckBox; 27class BRadioButton; 28class BTextControl; 29class Prefs; 30 31#define GV_WEB_SAFE 'gvws' 32#define GV_BEOS_SYSTEM 'gvbe' 33#define GV_GREYSCALE 'gvgr' 34#define GV_OPTIMAL 'gvop' 35#define GV_INTERLACED 'gvin' 36#define GV_USE_DITHERING 'gvud' 37#define GV_USE_TRANSPARENT 'gvut' 38#define GV_USE_TRANSPARENT_AUTO 'gvua' 39#define GV_USE_TRANSPARENT_COLOR 'gvuc' 40#define GV_TRANSPARENT_RED 'gvtr' 41#define GV_TRANSPARENT_GREEN 'gvtg' 42#define GV_TRANSPARENT_BLUE 'gvtb' 43#define GV_SET_COLOR_COUNT 'gvcc' 44 45class GIFView : public BView { 46 public: 47 GIFView(const char* name); 48 virtual ~GIFView(); 49 50 virtual void MessageReceived(BMessage* message); 51 virtual void AllAttached(); 52 53 private: 54 void RestorePrefs(); 55 int CheckInput(BTextControl* control); 56 57 Prefs* fPrefs; 58 59 BMenuField* fPaletteMF; 60 BPopUpMenu* fPaletteM; 61 BMenuItem* fWebSafeMI; 62 BMenuItem* fBeOSSystemMI; 63 BMenuItem* fGreyScaleMI; 64 BMenuItem* fOptimalMI; 65 66 BMenuField* fColorCountMF; 67 BPopUpMenu* fColorCountM; 68 BMenuItem* fColorCountMI[8]; 69 BMenuItem* fColorCount256MI; 70 71 BCheckBox* fInterlacedCB; 72 BCheckBox* fUseTransparentCB; 73 BCheckBox* fUseDitheringCB; 74 75 BRadioButton* fUseTransparentAutoRB; 76 BRadioButton* fUseTransparentColorRB; 77 78 BTextControl* fTransparentRedTC; 79 BTextControl* fTransparentGreenTC; 80 BTextControl* fTransparentBlueTC; 81}; 82 83#endif 84 85