JurassicParkTrespasser/jp2_pc/Source/GUIApp/DialogBumpPack.hpp

159 lines
4.0 KiB
C++

/**********************************************************************************************
*
* Copyright © DreamWorks Interactive, 1996
*
* Contents:
* Dialog box for controlling bump map packing
*
**********************************************************************************************
*
* $Log:: /JP2_PC/Source/GUIApp/DialogBumpPack.hpp $
*
* 6 8/30/98 4:50p Asouth
* removed file scope
*
* 5 7/03/98 4:12p Rwyatt
* Made a little friendlier
*
* 4 4/21/98 2:56p Rwyatt
* Added a button for a non-pageable bump map page
*
* 3 1/14/98 6:21p Rwyatt
* First full working version
*
* 2 1/09/98 6:55p Rwyatt
* Checked in for safe keeping
*
* 1 12/22/97 12:27a Rwyatt
* Initial Implementation
*
*********************************************************************************************/
#ifndef HEADER_GUIAPP_DIALOGBUMPPACK_HPP
#define HEADER_GUIAPP_DIALOGBUMPPACK_HPP
#include "afxwin.h"
#include "GDIBitmap.hpp"
#include "Lib/Loader/TextureManager.hpp"
#define MAP_ICONS 8
//
// Class definitions.
//
//*********************************************************************************************
//
class CDialogBumpPack : public CDialog
//
// Fog settings dialog box.
//
//**************************************
{
public:
//*****************************************************************************************
//
// Constructor.
//
//*****************************************************************************************
CDialogBumpPack(CWnd* pParent = NULL);
~CDialogBumpPack();
//*****************************************************************************************
//
// MFC-Generated code.
//
//{{AFX_DATA(CDialogBumpPack)
enum { IDD = IDD_DIALOG_BUMPPACK };
CScrollBar sbScrollMap;
CListBox lbBumpList;
int32 i4RadioPage; // radio button settings
CString strXSize;
CString strYSize;
CString strMipLevel;
CString strPacked;
CString strCurved;
CString strMinimum;
CString strMaximum;
CString strPackMip;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialogBumpPack)
protected:
virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
//}}AFX_VIRTUAL
int32 i4PageSelect; // current selected bump map page or -1
int32 i4Select; // current selected map icon
int32 i4BaseScroll; // current scroll bar position
uint32 u4MapCount; // Number of maps in the vector
TBumpList* pblMaps; // pointer to an STL vector
CRect rcIconPosition[MAP_ICONS];
CRect rcFrame;
CRect rcPack;
CRect rcState;
CRect rcShowRect;
CGDIBitmap* apgdibmpMaps[MAP_ICONS];
CGDIBitmap* pgdibmpPack;
CGDIBitmap* pgdibmpSelected;
bool bDropState;
bool bBlit;
bool bShowRect;
bool bDrop;
int32 i4XBlit;
int32 i4YBlit;
rptr<CRaster> prasParent;
rptr<CRaster> prasBump;
protected:
//*****************************************************************************************
//
// MFC-Generated code.
//
//{{AFX_MSG(CDialogBumpPack)
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnPaint();
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnSel0();
afx_msg void OnSel1();
afx_msg void OnSel2();
afx_msg void OnSel3();
afx_msg void OnSel4();
afx_msg void OnSel5();
afx_msg void OnSel6();
afx_msg void OnSel7();
afx_msg void OnNewPage();
afx_msg void OnNewSmallPage();
afx_msg void OnSelChange();
afx_msg void OnUp();
afx_msg void OnDown();
afx_msg void OnLeft();
afx_msg void OnRight();
afx_msg void OnRadioChange();
afx_msg void ShowPacked();
afx_msg void OnSet();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void NewBumpPage(ETexturePackTypes ept);
void SelectMap(int32 i4_map);
void ShowTextStats();
void SetPackMipText(ETexturePackTypes ept);
void UpdateMapView(int32 i4_map);
void UpdatePack();
void InvalidatePackArea();
void ClipSelected();
void CreateIconPicture(int32 i4_icon, int32 i4_bump);
};
#endif