00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
#ifndef _D_EXTERN_H
00012
#define _D_EXTERN_H
00013
00014
#include "internls\evrythng.h"
00015
00016
#include "difrkmty\d_intern.h"
00017
#include "datavisa\datavisa.h"
00018
00019
00020
00021 const char EOL[]=
"\r\n";
00022 const int P_X= 0;
00023 const int P_Y= 1;
00024 const int P_Z= 2;
00025
00026 typedef struct
00027
{
00028 float x, y;
00029 int Ord;
00030 }
TKSystem[4];
00031
00032 enum EFileFormat
00033 {
00034
ffUnknown= 0,
ffStandardFile= 1,
ffShiftedStandard,
ffTripel,
ffTupel,
ffBitmap,
ffBkFile,
ffDtnFile
00035
00036 };
00037
00038 enum ExScanType
00039 {
00040
stUnknown= 0,
stStandardScan= 1,
stOmega2ThetaScan,
stContinuousScan,
stPsdEnergyScan,
00041
stPsdPositionScan,
stOmega2ThetaScanList,
stScanList
00042 };
00043
00044 struct TKSProperties
00045 {
00046 BOOL
bLogarithmicY;
00047 float fMinX,
fMaxX,
fMinY,
fMaxY;
00048 };
00049
00050 struct TFloatPoint {
00051 float x,
y;
00052 };
00053
00054
00055
00056
00057
00058
00059 class TPlotWindow :
public TMDIWindow
00060 {
00061
friend class TCurveShowParamDlg;
00062
friend class TCurveFreeScalDlg;
00063
friend class TBitmapSource;
00064
friend class TCurveFreeScalColor;
00065
00066
public:
00068
TPlotWindow( HINSTANCE );
00069
00071
virtual ~TPlotWindow(
void );
00072
00073
00074
protected:
00075 virtual BOOL
canNew()
00076 {
return TRUE; }
00077 virtual BOOL
canOpenFile()
00078 {
return TRUE; }
00079 virtual BOOL
canSave()
00080 {
return !bMeasurementActive; }
00081
00082
virtual HICON
GetIcon (
void ) const;
00083
00085 virtual HCURSOR GetCursor(
void )
const
00086
{
00087
return LoadCursor(NULL, IDC_CROSS);
00088 };
00089
00090
virtual BOOL
New(
void );
00091
00092
virtual LRESULT OnCommand ( WPARAM, LPARAM );
00093
00094
00095
00097
virtual void RenderFormat( WPARAM );
00098
00100
virtual void RenderAllFormats( WPARAM );
00101
00104
virtual void PickUpData( LPARAM );
00105
00108
virtual void Paint( HDC, PAINTSTRUCT * );
00109
00111
virtual void DoCopy(
void );
00112
00114
virtual void SetRanges(
void );
00115
00116
00118
virtual void lButtonDown( WPARAM, LPARAM );
00119
00122
virtual void MouseMove( WPARAM, LPARAM );
00123
00126
virtual void lButtonUp( WPARAM, LPARAM );
00127
00128
00129
protected:
00132
virtual void FreezeCurve(
void );
00133
00136
virtual void KillSecondCurve(
void );
00137
00140
virtual void SaveSecondCurve(
void );
00141
00143
virtual void SetKSProperties(
TKSProperties* );
00144
00146
virtual void SetLoadFormat(EFileFormat);
00147
00149 virtual double GetThetaOffset(
int )
00150 {
00151
return 0.0;
00152 };
00153
00155
virtual BOOL SetMeasurementArea(
TKSystem & );
00156
00157
00158
private:
00161
void FormatCurveToPLine(
TCurve *, LPPOINT,
int & );
00162
00164
void EnablePaint(
void )
00165 {
00166 bEnablePaint= TRUE;
00167 };
00168
00170
void DisablePaint(
void )
00171 {
00172 bEnablePaint= FALSE;
00173 };
00174
00177
int GetNachkommaStelle(
TCoorSystem* pCoorSys,
int x,
int y);
00178
00180
void DrawCoordinateSystem( HDC );
00181
00182
00183
public:
00184
00185 float tilesx;
00186 float tilesy;
00187 int scrolldxposmin;
00188 int scrolldxposmax;
00189 int scrolldyposmin;
00190 int scrolldyposmax;
00191 int xBorder;
00192 int yBorder;
00193 WORD
RLdx;
00194 WORD
RLdy;
00195 BOOL
bIncreasePP;
00196 float MinIntensitaet;
00197 float MaxIntensitaet;
00198 TFloatPoint mPoint1,
mPoint2;
00199 bool DataaquisitionActive;
00200
00202 char abzisse[
_MAXLENUNIT+1 ];
00203
00205 TBitmapSource *
BSource;
00206
00207
protected:
00208 TCurve *
MainCurve;
00209 TCurve *
SecondCurve;
00210
00212 EOutputType eOutputType;
00213
00215 TDisplay VisualDB;
00216
00218 EFileFormat eLoadFormat;
00219
00221 TCoorSystem CoorSys,
AltCoorSys;
00222
00223 BOOL
bAltCoorSystem;
00224
00225 BOOL
bSecondaryCoor;
00226
00228 float LowerBound,
UpperBound;
00229
00231 BOOL
bXY_Scaling;
00232
00233
00234
private:
00235
TScreen Screen;
00236
00237 HFONT hFont;
00238
00240 HDC DragDC;
00241
00243 BOOL bEnablePaint;
00244
00246 BOOL bButtonDown;
00247
00249
float xo, yo;
00250 };
00251
00252
#endif // _D_EXTERN_H
00253
00254
00255
00256