void ObjEditedFrame(LPOBJECT lpObject, int iDirty, BOOL fEditedData, BOOL fEditedAlpha, LPRECT lpEditRect, LPFRAME lpDataFrame, LPFRAME lpAlphaFrame) /***********************************************************************/ { LPALPHA lpAlpha; if (lpEditRect) OffsetRect(lpEditRect, -lpObject->rObject.left, -lpObject->rObject.top); lpAlpha = lpObject->lpAlpha; if (fEditedData && lpDataFrame) { lpObject->fChanged = YES; lpObject->DataDirty = iDirty; PixmapNewFrame(&lpObject->Pixmap, lpDataFrame, lpEditRect, Control.UseApply); } if (fEditedAlpha && lpAlpha && lpAlphaFrame) { lpObject->AlphaDirty = iDirty; PixmapNewFrame(&lpAlpha->Pixmap, lpAlphaFrame, lpEditRect, Control.UseApply); } lpObject->fBothDirty = fEditedData && fEditedAlpha; if (lpEditRect) OffsetRect(lpEditRect, lpObject->rObject.left, lpObject->rObject.top); }
void CImage::EditedObjectFrame(LPOBJECT lpObject, int iDirty, LPRECT lpEditRect, LPFRAME lpDataFrame, LPFRAME lpAlphaFrame) { LPALPHA lpAlpha; BOOL fEditedData, fEditedAlpha, fBase; fBase = (lpObject == GetBase()); fEditedData = (lpObject->InitUndoType & UT_DATAUNDO) != 0; fEditedAlpha = (lpObject->InitUndoType & UT_ALPHAUNDO) != 0; if (lpEditRect) OffsetRect(lpEditRect, -lpObject->rObject.left, -lpObject->rObject.top); lpAlpha = lpObject->lpAlpha; if (lpObject->lpText) lpObject->lpText->Dirty = (iDirty == IDS_UNDOEDITTEXT)? FALSE:TRUE; if (fEditedData) { fChanged = YES; if (!(Control.NoUndo || fDisableUndos) && !lpObject->fUndoFailed) lpObject->DataDirty = iDirty; if (lpDataFrame) { PixmapNewFrame(&lpObject->Pixmap, lpDataFrame, lpEditRect, Control.UseApply); if (lpObject == GetBase()) { npix = FrameXSize(lpDataFrame); nlin = FrameYSize(lpDataFrame); } } } if (fEditedAlpha) { if (lpObject != GetBase()) fChanged = YES; if (!(Control.NoUndo || fDisableUndos) && (!fBase || Control.UndoMasks) && !lpObject->fUndoFailed) lpObject->AlphaDirty = iDirty; if (lpAlpha && lpAlphaFrame) PixmapNewFrame(&lpAlpha->Pixmap, lpAlphaFrame, lpEditRect, Control.UseApply); } if (Control.NoUndo || fDisableUndos) PurgeObjects(); if (!(Control.NoUndo || fDisableUndos) && !lpObject->fUndoFailed && !lpObject->fBothDirty) lpObject->fBothDirty = fEditedData && fEditedAlpha; if (lpEditRect) OffsetRect(lpEditRect, lpObject->rObject.left, lpObject->rObject.top); }
void ImgEditedObjectFrame(LPIMAGE lpImage, LPOBJECT lpObject, int iDirty, LPRECT lpEditRect, LPFRAME lpDataFrame, LPFRAME lpAlphaFrame) /***********************************************************************/ { LPALPHA lpAlpha; BOOL fEditedData, fEditedAlpha, fBase; fBase = (lpObject == ImgGetBase(lpImage)); fEditedData = (lpObject->InitUndoType & UT_DATAUNDO) != 0; fEditedAlpha = (lpObject->InitUndoType & UT_ALPHAUNDO) != 0; if (lpEditRect) OffsetRect(lpEditRect, -lpObject->rObject.left, -lpObject->rObject.top); lpAlpha = lpObject->lpAlpha; if (fEditedData) { lpObject->fChanged = YES; if (!Control.NoUndo && !lpObject->fUndoFailed) lpObject->DataDirty = iDirty; if (lpDataFrame) { PixmapNewFrame(&lpObject->Pixmap, lpDataFrame, lpEditRect, Control.UseApply); if (lpObject == ImgGetBase(lpImage)) { lpImage->npix = FrameXSize(lpDataFrame); lpImage->nlin = FrameYSize(lpDataFrame); } } } if (fEditedAlpha) { if (lpObject != ImgGetBase(lpImage)) lpObject->fChanged = YES; if (!Control.NoUndo && (!fBase || Control.UndoMasks) && !lpObject->fUndoFailed) lpObject->AlphaDirty = iDirty; if (lpAlpha && lpAlphaFrame) PixmapNewFrame(&lpAlpha->Pixmap, lpAlphaFrame, lpEditRect, Control.UseApply); } if (!Control.NoUndo && !lpObject->fUndoFailed && !lpObject->fBothDirty) lpObject->fBothDirty = fEditedData && fEditedAlpha; if (lpEditRect) OffsetRect(lpEditRect, lpObject->rObject.left, lpObject->rObject.top); }