75 lines
2 KiB
C++
75 lines
2 KiB
C++
#ifndef __IMGBRUSH_H__
|
|
#define __IMGBRUSH_H__
|
|
|
|
class CImgBrush : public CObject
|
|
{
|
|
public: /******************************************************************/
|
|
|
|
CImgBrush();
|
|
virtual ~CImgBrush();
|
|
|
|
|
|
BOOL CopyTo( CImgBrush& destImgBrush );
|
|
|
|
CPalette* SetBrushPalette( CDC* pdc, BOOL bForce = FALSE );
|
|
HPALETTE SetBrushPalette( HDC hdc, BOOL bForce = FALSE );
|
|
|
|
BOOL SetSize ( CSize newSize, BOOL bStretchToFit=TRUE );
|
|
void ColorToMonoBitBlt(CDC* pdcMono, int xMono, int yMono, int cx, int cy,
|
|
CDC *pdcColor, int xColor, int yColor, DWORD dwROP, COLORREF transparentColor);
|
|
void RecalcMask( COLORREF transparentColor );
|
|
|
|
void BltMatte ( IMG* pimg, CPoint topLeft );
|
|
void BltReplace( IMG* pimg, CPoint topLeft );
|
|
void BltColor ( IMG* pimg, CPoint topLeft, COLORREF color );
|
|
|
|
void CenterHandle();
|
|
void TopLeftHandle();
|
|
|
|
CRgn m_cRgnPolyFreeHandSelBorder;
|
|
CRgn m_cRgnPolyFreeHandSel;
|
|
|
|
CDC m_dc;
|
|
CBitmap m_bitmap;
|
|
CSize m_size;
|
|
CDC m_maskDC;
|
|
CBitmap m_maskBitmap;
|
|
|
|
HBITMAP m_hbmOld;
|
|
HBITMAP m_hbmMaskOld;
|
|
|
|
BOOL m_bFirstDrag;
|
|
BOOL m_bLastDragWasASmear;
|
|
BOOL m_bLastDragWasFirst;
|
|
BOOL m_bCuttingFromImage;
|
|
BOOL m_bMakingSelection;
|
|
BOOL m_bMoveSel;
|
|
BOOL m_bSmearSel;
|
|
BOOL m_bOpaque;
|
|
|
|
CRect m_rcDraggedFrom;
|
|
CSize m_dragOffset;
|
|
|
|
IMG* m_pImg;
|
|
|
|
CRect m_rcSelection;
|
|
CSize m_handle;
|
|
};
|
|
|
|
|
|
extern CImgBrush NEAR theImgBrush;
|
|
|
|
void GetMonoBltColors(HDC hDC, HBITMAP hBM, COLORREF& crNewBk, COLORREF& crNewText);
|
|
BOOL QuickColorToMono(CDC* pdcMono, int xMono, int yMono, int cx, int cy,
|
|
CDC *pdcColor, int xColor, int yColor, DWORD dwROP, COLORREF crTrans);
|
|
|
|
// #define DEBUGSHOWBITMAPS
|
|
#if defined(DEBUGSHOWBITMAPS)
|
|
void DebugShowBitmap(HDC hdcSrc, int x, int y, int wid, int hgt);
|
|
#else
|
|
#define DebugShowBitmap(hdc,x,y,w,h)
|
|
#endif
|
|
|
|
#endif // __IMGBRUSH_H__
|
|
|