home *** CD-ROM | disk | FTP | other *** search
- // -*- C++ -*-
- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
- // Copyright (C) 1999-2003 Forgotten
- // Copyright (C) 2004 Forgotten and the VBA development team
-
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation; either version 2, or(at your option)
- // any later version.
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- //
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software Foundation,
- // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- #if !defined(AFX_MAPVIEW_H__20F40C77_8E10_44B7_BB49_7865F73C3E75__INCLUDED_)
- #define AFX_MAPVIEW_H__20F40C77_8E10_44B7_BB49_7865F73C3E75__INCLUDED_
-
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- // MapView.h : header file
- //
-
- #include "BitmapControl.h"
- #include "ColorControl.h"
- #include "ZoomControl.h"
- #include "ResizeDlg.h"
- #include "IUpdate.h"
- #include "..\System.h" // Added by ClassView
-
- /////////////////////////////////////////////////////////////////////////////
- // MapView dialog
-
- class MapView : public ResizeDlg, IUpdateListener
- {
- private:
- BITMAPINFO bmpInfo;
- u8 *data;
- int frame;
- u16 control;
- int bg;
- int w;
- int h;
- BitmapControl mapView;
- ZoomControl mapViewZoom;
- ColorControl color;
- bool autoUpdate;
-
- // Construction
- public:
- void savePNG(const char *name);
- void saveBMP(const char *name);
- afx_msg LRESULT OnColInfo(WPARAM wParam, LPARAM lParam);
- afx_msg LRESULT OnMapInfo(WPARAM wParam, LPARAM lParam);
- u32 GetClickAddress(int x, int y);
- u32 GetTextClickAddress(u32 base, int x, int y);
- void update();
- void enableButtons(int mode);
- void paint();
- void renderMode5();
- void renderMode4();
- void renderMode3();
- void renderMode2();
- void renderMode1();
- void renderMode0();
- void renderRotScreen(u16 control);
- void renderTextScreen(u16 control);
- MapView(CWnd* pParent = NULL); // standard constructor
- ~MapView();
-
- // Dialog Data
- //{{AFX_DATA(MapView)
- enum { IDD = IDD_MAP_VIEW };
- CStatic m_numcolors;
- CStatic m_mode;
- CStatic m_overflow;
- CStatic m_mosaic;
- CStatic m_priority;
- CStatic m_dim;
- CStatic m_charbase;
- CStatic m_mapbase;
- //}}AFX_DATA
-
-
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(MapView)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual void PostNcDestroy();
- //}}AFX_VIRTUAL
-
- // Implementation
- protected:
-
- // Generated message map functions
- //{{AFX_MSG(MapView)
- afx_msg void OnRefresh();
- virtual BOOL OnInitDialog();
- afx_msg void OnFrame0();
- afx_msg void OnFrame1();
- afx_msg void OnBg0();
- afx_msg void OnBg1();
- afx_msg void OnBg2();
- afx_msg void OnBg3();
- afx_msg void OnStretch();
- afx_msg void OnAutoUpdate();
- afx_msg void OnClose();
- afx_msg void OnSave();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
-
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
- #endif // !defined(AFX_MAPVIEW_H__20F40C77_8E10_44B7_BB49_7865F73C3E75__INCLUDED_)
-