Files

85 lines
2.0 KiB
C++
Raw Permalink Normal View History

2026-10-04 00:04:20 +08:00
//-------------------------------------------------------------------------------------------------------+
2026-09-28 15:28:50 +08:00
// Copyright (C), 1998-2007, SH Software Co. Ltd.
2026-10-04 00:04:20 +08:00
// = FileName : CImageDC 类
2026-09-28 15:28:50 +08:00
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
2026-10-04 00:04:20 +08:00
// = Description: CImageDC 声明
2026-09-28 15:28:50 +08:00
// = 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;
2026-10-04 00:04:20 +08:00
BOOL m_bAutoScale; //是否自动缩放
2026-09-28 15:28:50 +08:00
BOOL m_bUniformScale;
COLORREF m_bkColor;
CDC *m_pDC;
CRect m_rectDC;
HDIB m_hDIB;
CPalette *m_palDIB;
ImageType m_nIT;
XImageBufList m_slide;
2026-10-04 00:04:20 +08:00
BOOL m_bHighlight; //是否加亮显示
2026-09-28 15:28:50 +08:00
};
#endif