00001 #pragma once 00002 00024 #include "MFCBase.h" 00025 #include "Gio.h" 00026 00027 00028 // 00029 namespace jbxwl { 00030 00031 using namespace jbxl; 00032 00033 00034 class CExDocument; 00035 class CExView; 00036 class CExFrame; 00037 class CAppCallBack; 00038 00039 00041 // CExDocument ドキュメント (画像データ用) 00042 00043 class CExDocument : public CDocument 00044 { 00045 protected: 00046 CExDocument(); 00047 DECLARE_DYNCREATE(CExDocument) 00048 00049 // アトリビュート 00050 public: 00051 CmnHead infHead; // 読み込みファイルのヘッダ情報(読み込みの前準備) 00052 ExMSGraph<sWord> msGraph; // 読み込みデータ 00053 ExCmnHead cmnHead; // 表示用データ 00054 00055 CExView* pView; 00056 CExFrame* pFrame; 00057 CAppCallBack* pApp; 00058 void* anyData; 00059 00060 CString Title; 00061 CString preTitle; 00062 CString pstTitle; 00063 00064 int vMax; // データの最大値 00065 int vMin; // データの最小値 00066 int cMax; // コントラストの最大値 00067 int cMin; // コントラストの最小値 00068 00069 int base; // データのベース値(0以下にならないように底上げした場合の値) 00070 int colorMode; // データのカラータイプ 00071 00072 int startNo; // マルチスライス読み込み時の開始番号. 00073 int endNo; // マルチスライス読み込み時の終了番号. startNo > endNo でも可. 00074 00075 BOOL multiSliceData; // TRUE ならマルチスライス読み込みモード 00076 BOOL hasReadData; // ファイルデータを正常に msGraph に読み込み,保持しているか. 00077 BOOL hasViewData; // 読み込んだデータ msGraph から表示用データ cmnHead を作成したか. 00078 BOOL ctrlCntrst; // 表示用データ作成時に(画素値が255以下でも)強制的にコントラストを調整を行う. 00079 00080 BOOL notFreeMSGraph; // メモリ管理無しの場合,msGraph のメモリ開放を禁止(msGraphは外部からの持込み) 00081 BOOL notFreeCmnHead; // メモリ管理無しの場合,cmnHead のメモリ開放を禁止(cmnHeadは外部からの持込み) 00082 00083 // オペレーション 00084 public: 00085 CExView* GetView(); // 関連付けられた Viewクラスへのポインタを得る. 00086 00087 virtual BOOL ReadDataFile(LPCTSTR); // ファイルデータを msGraphへ読み込み 00088 virtual BOOL WriteDataFile(LPCTSTR); // データをファイルへ書き出し 00089 virtual BOOL MakeViewData(); // 読み込みデータ msGraph から表示用データ cmnHeadを作成する. 00090 00091 // オーバーライド 00092 public: 00093 //{{AFX_VIRTUAL(CExDocument) 00094 virtual void Serialize(CArchive& ar); 00095 virtual BOOL OnNewDocument(); 00096 virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); 00097 //}}AFX_VIRTUAL 00098 00099 // インプリメンテーション 00100 public: 00101 virtual ~CExDocument(); 00102 #ifdef _DEBUG 00103 virtual void AssertValid() const; 00104 virtual void Dump(CDumpContext& dc) const; 00105 #endif 00106 00107 protected: 00108 //{{AFX_MSG(CExDocument) 00109 //}}AFX_MSG 00110 DECLARE_MESSAGE_MAP() 00111 }; 00112 00113 00114 //{{AFX_INSERT_LOCATION}} 00115 00116 00117 } // namespace