86 lines
2.0 KiB
C++
86 lines
2.0 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// 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
|