00001 #if !defined(AFX_FRACTALVIEWER_H__1216EC24_5FE9_4F36_97F8_DF1BFA67E7F9__INCLUDED_) 00002 #define AFX_FRACTALVIEWER_H__1216EC24_5FE9_4F36_97F8_DF1BFA67E7F9__INCLUDED_ 00003 /*######################################################################## 00004 FractalViewer.h 00005 00006 Copyright 2002 Mark Williams, all rights reserved. 00007 Contact: mark@extrabit.com 00008 http://www.extrabit.com 00009 00010 This program is free software; you can redistribute it and/or 00011 modify it under the terms of the GNU General Public License 00012 as published by the Free Software Foundation; either version 2 00013 of the License, or (at your option) any later version. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 ########################################################################*/ 00021 00022 #if _MSC_VER > 1000 00023 #pragma once 00024 #endif // _MSC_VER > 1000 00025 00026 #ifndef __AFXWIN_H__ 00027 #error include 'stdafx.h' before including this file for PCH 00028 #endif 00029 00030 #include "Vector2.h" 00031 #include "FractalImage.h" 00032 #include "ProgressiveImageGen.h" 00033 #include "FastImageGen.h" 00034 #include "AAFractalImage.h" 00035 #include "Palette.h" 00036 00037 #include "resource.h" // main symbols 00038 00039 00041 // CFractalViewerApp: 00042 // See FractalViewer.cpp for the implementation of this class 00043 // 00044 00048 class CFractalViewerApp : public CWinApp 00049 { 00050 public: 00051 CFractalViewerApp(); 00052 00053 FractalImage* inq_image (void) { return &m_image ; } 00054 00055 void image_resized (void) ; 00056 void restart (void) ; 00057 00058 void update_status_bar (void) ; 00059 void set_processor (int fractal_type) ; 00060 00061 // Overrides 00062 // ClassWizard generated virtual function overrides 00063 //{{AFX_VIRTUAL(CFractalViewerApp) 00064 public: 00065 virtual BOOL InitInstance(); 00066 virtual BOOL OnIdle(LONG lCount); 00067 //}}AFX_VIRTUAL 00068 00069 public: 00070 //{{AFX_MSG(CFractalViewerApp) 00071 afx_msg void OnAppAbout(); 00072 afx_msg void OnViewOptions(); 00073 afx_msg void OnPaletteRandomise(); 00074 afx_msg void OnViewFractals(); 00075 afx_msg void OnPaletteMainCol(); 00076 afx_msg void OnPaletteBright(); 00077 afx_msg void OnPalettePastel(); 00078 afx_msg void OnPaletteMonochrome(); 00079 afx_msg void OnPaletteWhite(); 00080 afx_msg void OnUpdatePaletteBright(CCmdUI* pCmdUI); 00081 afx_msg void OnUpdatePalettePastel(CCmdUI* pCmdUI); 00082 afx_msg void OnUpdatePaletteMonochrome(CCmdUI* pCmdUI); 00083 afx_msg void OnUpdatePaletteWhite(CCmdUI* pCmdUI); 00084 afx_msg void OnExportJpg(); 00085 //}}AFX_MSG 00086 DECLARE_MESSAGE_MAP() 00087 00088 private: 00089 void set_imagegen (void) ; 00090 void update_palette (void) ; 00091 void export_image (CString path, int width, int height, int aa_gridsize) ; 00092 00093 private: 00095 FractalImage m_image ; 00096 00100 bool m_progressive ; 00101 00103 ImageGen* m_imagegen ; 00104 00106 ProgressiveImageGen m_progressive_imagegen ; 00107 00109 FastImageGen m_fast_imagegen ; 00110 00112 AAFractalImage m_aa_image ; 00113 00115 Palette m_palette ; 00116 00128 int m_fractal_type ; 00129 00133 int m_progress ; 00134 }; 00135 00136 00138 00139 //{{AFX_INSERT_LOCATION}} 00140 // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 00141 00142 #endif // !defined(AFX_FRACTALVIEWER_H__1216EC24_5FE9_4F36_97F8_DF1BFA67E7F9__INCLUDED_)
1.2.16