static BOOL OItemMove( OBJPTR _oitem, void *_offset, void *user_action ) /**********************************************************************/ { /* Do the move operation */ OITEM *oitem = _oitem; POINT *offset = _offset; RECT temp; OBJPTR newparent; POINT pt; temp = oitem->rect; OffsetRect( (LPRECT) &oitem->rect, offset->x, offset->y ); if( *(BOOL *)user_action ) { pt.x = oitem->rect.left; pt.y = oitem->rect.top; newparent = FindOneObjPt( pt ); if( newparent == NULL || !AddObject( newparent, oitem->handle ) ) { /* Moving the OITEM in the parent failed, so reture FALSE * so that the operation will be undone. */ oitem->rect = temp; return( FALSE ); } } MarkInvalid( &temp ); MarkInvalid( &oitem->rect ); return( TRUE ); }
/******************************************************************************************** > BOOL MaskedFilterExportOptions::CopyFromMasked(MaskedFilterExportOptions *pOther) Author: Stefan_Stoykov (Xara Group Ltd) <*****@*****.**> Created: 15/07/97 Inputs: pOther - the other MaskedFilterExportOptions object to copy the data from Purpose: Sets the contents of this object from the passed object. This differs form the more general function in that it doesn't require the two objects to be of the same class. Used to convert from/to PNG options and MakeBitmapExportOptions. See Also: BitmapExportOptions::MakeCopy() ********************************************************************************************/ BOOL MaskedFilterExportOptions::CopyFromMasked(MaskedFilterExportOptions *pOther) { if (pOther == NULL) return FALSE; //BitmapExportOptions members m_SelectionType = pOther->m_SelectionType; m_OutputSize = pOther->m_OutputSize; m_PixelOutputSize = pOther->m_PixelOutputSize; m_pBmpDlgParam = pOther->m_pBmpDlgParam; m_NumColsInPalette = pOther->m_NumColsInPalette; m_UseSystemColours = pOther->m_UseSystemColours; m_bSeparateLayerFiles = pOther->m_bSeparateLayerFiles; m_bTempFileFlag = pOther->m_bTempFileFlag; SetDPI(pOther->GetDPI()); SetDepth(pOther->GetDepth()); SetTransparencyIndex(pOther->GetTransparencyIndex()); if (pOther->IsValid()) MarkValid(); else MarkInvalid(); //MaskedFilterExportOptions m_Dither = pOther->m_Dither; m_bInterlaced = pOther->m_bInterlaced; return TRUE; }
TextureClientData* MemoryTextureClient::DropTextureData() { if (!mBuffer) { return nullptr; } TextureClientData* result = new MemoryTextureClientData(mBuffer); MarkInvalid(); mBuffer = nullptr; return result; }
TextureClientData* ShmemTextureClient::DropTextureData() { if (!mShmem.IsReadable()) { return nullptr; } TextureClientData* result = new ShmemTextureClientData(mShmem); MarkInvalid(); mShmem = ipc::Shmem(); return result; }
void gxViewElement::Invalidate() { // No point invalidating if I'm already invalid. if ( IsInvalid() ) return; MarkInvalid(); if ( GetParent() != NULL ) { // Invalidate further up the hierarchy tree. GetParent()->InvalidateUp( this ); } InvalidateDown(); }
nsresult nsCacheEntry::RequestAccess(nsCacheRequest * request, nsCacheAccessMode *accessGranted) { nsresult rv = NS_OK; if (!IsInitialized()) { // brand new, unbound entry request->mKey = nsnull; // steal ownership of the key string if (request->IsStreamBased()) MarkStreamBased(); MarkInitialized(); *accessGranted = request->AccessRequested() & nsICache::ACCESS_WRITE; NS_ASSERTION(*accessGranted, "new cache entry for READ-ONLY request"); PR_APPEND_LINK(request, &mRequestQ); return rv; } if (IsDoomed()) return NS_ERROR_CACHE_ENTRY_DOOMED; if (IsStreamData() != request->IsStreamBased()) { *accessGranted = nsICache::ACCESS_NONE; return request->IsStreamBased() ? NS_ERROR_CACHE_DATA_IS_NOT_STREAM : NS_ERROR_CACHE_DATA_IS_STREAM; } if (PR_CLIST_IS_EMPTY(&mDescriptorQ)) { // 1st descriptor for existing bound entry *accessGranted = request->AccessRequested(); if (*accessGranted & nsICache::ACCESS_WRITE) { MarkInvalid(); } else { MarkValid(); } } else { // nth request for existing, bound entry *accessGranted = request->AccessRequested() & ~nsICache::ACCESS_WRITE; if (!IsValid()) rv = NS_ERROR_CACHE_WAIT_FOR_VALIDATION; } PR_APPEND_LINK(request,&mRequestQ); return rv; }