1 /***********************************************************************/
2 /* Open Visualization Data Explorer                                    */
3 /* (C) Copyright IBM Corp. 1989,1999                                   */
4 /* ALL RIGHTS RESERVED                                                 */
5 /* This code licensed under the                                        */
6 /*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
7 /***********************************************************************/
8 
9 #include <dxconfig.h>
10 #include "../base/defines.h"
11 
12 
13 #ifndef _ImageFormat_h
14 #define _ImageFormat_h
15 
16 
17 #include "UIComponent.h"
18 #include "SymbolManager.h"
19 
20 //
21 // Class name definition:
22 //
23 #define ClassImageFormat	"ImageFormat"
24 
25 //
26 // This is a default value which must match something on the exec side.
27 // It's in the WriteImage module which belongs to Frank Suits.
28 //
29 #define DEFAULT_GAMMA 2.0
30 
31 class ImageNode;
32 class ImageFormatDialog;
33 class Command;
34 class ImageFormat;
35 
36 typedef ImageFormat* (*ImageFormatAllocator)(ImageFormatDialog* );
37 
38 //
39 // SaveImageDialog class definition:
40 //
41 class ImageFormat : public UIComponent
42 {
43   private:
44 
45     Widget		menuButton;
46 
47   protected:
48 
49     static String  DefaultResources[];
50 
51     int				width;
52     double			aspect;
53     ImageFormatDialog*		dialog;
54 
initialize()55     virtual void		initialize(){};
56 
57     boolean isMetric();
58 
59     void			setTextSensitive (Widget , boolean );
60 
61     //
62     // Constructor:
63     //
64     ImageFormat(const char *name, ImageFormatDialog* dialog);
65 
66   public:
67 
68     //
69     // Destructor:
70     //
71     ~ImageFormat();
72 
73     virtual void 		setCommandActivation() = 0;
74     virtual void		shareSettings(ImageFormat*) = 0;
75     virtual const char* 	paramString() = 0;
76     virtual const char* 	menuString() = 0;
77     virtual const char* 	fileExtension() = 0;
supportsAppend()78     virtual boolean		supportsAppend() { return FALSE; }
79     virtual boolean		supportsPrinting() = 0;
80     virtual boolean		useLocalResolution() = 0;
81     virtual boolean		useLocalAspect() = 0;
82     virtual boolean		useLocalFormat();
changeUnits()83     virtual void		changeUnits(){};
applyValues()84     virtual void		applyValues(){};
restore()85     virtual void		restore(){};
supportsDelayedColors()86     virtual boolean		supportsDelayedColors() { return FALSE; }
requiresDelayedColors()87     virtual boolean		requiresDelayedColors() { return FALSE; }
88     virtual void		eraseOutputFile(const char *fname);
89 
90     virtual const char*		getRecordFormat();
91     virtual int			getRecordResolution() = 0;
92     virtual double		getRecordAspect() = 0;
parseRecordFormat(const char *)93     virtual void		parseRecordFormat(const char *){}
94     virtual Widget 		createBody(Widget) = 0;
95     virtual int			getRequiredHeight() = 0;
96 
setMenuButton(Widget button)97     void			setMenuButton(Widget button) { this->menuButton = button;}
getMenuButton()98     Widget			getMenuButton() { return this->menuButton;}
99 
getClassName()100     const char* getClassName() { return ClassImageFormat; }
101     virtual boolean isA(Symbol classname);
102 };
103 
104 
105 #endif // _ImageFormat_h
106