18 , m_rgbBack(
RGB(255, 255, 255))
20 , m_bContentChanged(
FALSE)
77 hMemDC, 0, 0, bm.bmWidth, bm.bmHeight,
m_hbmMask, keyColor);
295 if (nStretchPercentX == 100 && nStretchPercentY == 100 && nSkewDegX == 0 && nSkewDegY == 0)
301 INT newWidth = oldWidth * nStretchPercentX / 100;
302 INT newHeight = oldHeight * nStretchPercentY / 100;
309 if (oldWidth != newWidth || oldHeight != newHeight)
441 RECT rc = { 0, 0, bm.bmWidth, bm.bmHeight };
static HBITMAP CopyDIBImage(HBITMAP hbm, INT cx=0, INT cy=0)
SelectionModel selectionModel
CCanvasWindow canvasWindow
VOID ImageToCanvas(POINT &pt)
void SetRectEmpty() noexcept
void InflateRect(int x, int y) noexcept
void OffsetRect(int x, int y) noexcept
void NormalizeRect() noexcept
BOOL UnionRect(LPCRECT lpRect1, LPCRECT lpRect2) noexcept
int Width() const noexcept
int Height() const noexcept
BOOL IsRectEmpty() const noexcept
BOOL EqualRect(LPCRECT lpRect) const noexcept
void NotifyImageChanged()
void UnlockBitmap(HBITMAP hbmLocked)
COLORREF GetBgColor() const
void DrawBackground(HDC hDCImage, COLORREF crBg)
void DrawBackgroundPoly(HDC hDCImage, COLORREF crBg)
void RotateNTimes90Degrees(int iN)
void StretchSkew(int nStretchPercentX, int nStretchPercentY, int nSkewDegX, int nSkewDegY)
HBITMAP GetSelectionContents()
void DrawSelection(HDC hDCImage, COLORREF crBg, BOOL bBgTransparent, const CRect &rc, HBITMAP hbm)
void InsertFromHBITMAP(HBITMAP hbmColor, INT x=0, INT y=0, HBITMAP hbmMask=NULL)
void NotifyContentChanged()
void moveSelection(INT xDelta, INT yDelta)
void drawFrameOnCanvas(HDC hCanvasDC)
void Dragging(HITTEST hit, POINT pt)
void setMask(const CRect &rc, HBITMAP hbmMask)
HITTEST hitTest(POINT ptCanvas)
void SwapWidthAndHeight()
void SetRectFromPoints(const POINT &ptFrom, const POINT &ptTo)
void DrawBackgroundRect(HDC hDCImage, COLORREF crBg)
void StretchSelection(BOOL bShrink)
HBITMAP getSubImage(HBITMAP hbmWhole, const RECT &rcPartial)
HBITMAP SkewDIB(HDC hDC1, HBITMAP hbm, INT nDegree, BOOL bVertical, BOOL bMono)
HBITMAP Rotate90DegreeBlt(HDC hDC1, INT cx, INT cy, BOOL bRight, BOOL bMono)
HBITMAP CopyMonoImage(HBITMAP hbm, INT cx, INT cy)
int GetDIBHeight(HBITMAP hBitmap)
HBITMAP CreateMonoBitmap(int width, int height, BOOL bWhite)
HBITMAP CreateColorDIB(int width, int height, COLORREF rgb)
int GetDIBWidth(HBITMAP hBitmap)
BOOL ColorKeyedMaskBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, int nSrcWidth, int nSrcHeight, HBITMAP hbmMask, COLORREF keyColor)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
PaletteModel paletteModel
_Out_opt_ int _Out_opt_ int * cy
SelectionModel selectionModel
static void AttachHBITMAP(HBITMAP *phbm, HBITMAP hbmNew)
VOID drawSizeBoxes(HDC hdc, LPCRECT prcBase, BOOL bDrawFrame, LPCRECT prcPaint)
HITTEST getSizeBoxHitTest(POINT pt, LPCRECT prcBase)
COLORREF WINAPI SetDCBrushColor(_In_ HDC hdc, _In_ COLORREF crColor)
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MaskBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ HBITMAP, _In_ int, _In_ int, _In_ DWORD)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI InvertRect(_In_ HDC, _In_ LPCRECT)