00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "plwinbmp.h"
00012 #include "mtdibwnd.h"
00013 #include "plpicdec.h"
00014 #include "grarray.h"
00015
00016 #ifdef TEST_DDRAW
00017 #include <ddraw.h>
00018 #endif
00019
00020 class CDibtestDlg : public CDialog
00021 {
00022
00023 public:
00024 CDibtestDlg
00025 ( char * pszDirName
00026 );
00027
00028 ~CDibtestDlg
00029 ();
00030
00031 void DoWork
00032 ();
00033
00034
00035
00036 enum { IDD = IDD_DIBTEST_DIALOG };
00037
00038
00039
00040
00041
00042 protected:
00043 virtual void DoDataExchange(CDataExchange* pDX);
00044
00045
00046
00047 protected:
00048 HICON m_hIcon;
00049
00050
00051
00052 virtual BOOL OnInitDialog();
00053 afx_msg void OnPaint();
00054 afx_msg HCURSOR OnQueryDragIcon();
00055 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
00056
00057 DECLARE_MESSAGE_MAP()
00058
00059 private:
00060 void loadDir
00061 ( PLPicDecoder * pDecoder,
00062 CGrItemArray * pDIBArray,
00063 const char * pszDirName
00064 );
00065
00066
00067
00068 void loadFile
00069 ( PLPicDecoder * pDecoder,
00070 CGrItemArray * pDIBArray,
00071 const char * pszFName
00072 );
00073
00074
00075 void loadRes
00076 ( PLPicDecoder * pDecoder,
00077 CGrItemArray * pDIBArray,
00078 int ResourceID
00079 );
00080
00081
00082 void createBkGrnd
00083 ( PLPicDecoder * pDecoder
00084 );
00085
00086 void setAlphaChannel
00087 ( CGrItemArray * pDIBArray
00088 );
00089
00090 void update
00091 ( CGrItemArray * pDIBArray,
00092 CRect * pOldRect,
00093 CRect * pNewRect
00094 );
00095
00096 void testResource
00097 ();
00098
00099 PLWinBmp * m_pBmp;
00100 PLWinBmp * m_pBigBmp;
00101
00102 CMTDIBWnd * m_pDIBWnd;
00103
00104 CString m_sDirName;
00105
00106 int m_x;
00107 int m_y;
00108
00109 CRITICAL_SECTION m_Critical;
00110
00111 #ifdef TEST_DDRAW
00112 IDirectDraw * m_pDDraw;
00113 #endif
00114 };
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130