Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

FractalViewer.h

Go to the documentation of this file.
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_)

Generated on Sun Jul 21 11:52:14 2002 for FractalViewer by doxygen1.2.16