//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : CImageDC 类 // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: CImageDC 声明 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _IMAGEDRAWDC_H_ #define _IMAGEDRAWDC_H_ #ifndef _INC_DIBAPI #include "dibapi.h" #endif #ifndef _XIMAGEBUFLIST_H_ #include "XImageBufList.h" #endif class GEOAPI CImageDC { public: CImageDC(CDC *pDC, const CRect &rect, COLORREF bkcolor = RGB(0,0,0)); CImageDC(); virtual ~CImageDC(); enum ImageType { IT_NONE = 0, IT_BITMAP = 1, IT_SLIDE = 2 }; void InitDC(CDC *pDC, const CRect &rect, COLORREF bkcolor = RGB(0,0,0)); void SetAutoScale(BOOL bAuto); void SetUniformScale(BOOL bTrue); void GetRectDC(CRect &rectDC) const; void SetRectDC(const CRect &rect); void SetDC(CDC *pDc); void SetRotation(double nRot); void SetBackColor(COLORREF co); void SetHighlight(BOOL bTrue); BOOL PaintImageOnlyNormal(const TCHAR* pszImageFile); BOOL PaintImageNormal(const TCHAR* pszImageFile); BOOL GetImageSize(CSize &sizeImage) const; COLORREF GetBkColor(); BOOL PaintDIB(HDIB hDib); BOOL PaintJpeg(const TCHAR *pJpgFile); BOOL PaintImage(const TCHAR *pszImageFile); BOOL PaintImageOnly(const TCHAR *pszImageFile); BOOL PaintSlide(const TCHAR *pszSlideFile); BOOL PaintBitmap(CBitmap &bmp); void Fill(COLORREF cr); BOOL Redraw(); BOOL IsImageLoaded(); BOOL IsHighlight() const; protected: BOOL PaintImage(); BOOL PaintSlide(); protected: double m_nRotation; BOOL m_bAutoScale; //是否自动缩放 BOOL m_bUniformScale; COLORREF m_bkColor; CDC *m_pDC; CRect m_rectDC; HDIB m_hDIB; CPalette *m_palDIB; ImageType m_nIT; XImageBufList m_slide; BOOL m_bHighlight; //是否加亮显示 }; #endif