/********************************************************************** * dibdrv_CreateDC */ static BOOL dibdrv_CreateDC( PHYSDEV *dev, LPCWSTR driver, LPCWSTR device, LPCWSTR output, const DEVMODEW *data ) { dibdrv_physdev *pdev = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pdev) ); if (!pdev) return FALSE; clear_dib_info(&pdev->dib); clear_dib_info(&pdev->brush.dib); clear_dib_info(&pdev->pen_brush.dib); push_dc_driver( dev, &pdev->dev, &dib_driver ); return TRUE; }
/********************************************************************** * free_dib_info * * Free the resources associated with a dib and optionally the bits */ void free_dib_info(dib_info *dib) { if (dib->flags & private_color_table) HeapFree(GetProcessHeap(), 0, dib->color_table); if (dib->bits.free) dib->bits.free( &dib->bits ); clear_dib_info( dib ); }
/********************************************************************** * free_dib_info * * Free the resources associated with a dib and optionally the bits */ void free_dib_info(dib_info *dib) { if (dib->bits.free) dib->bits.free( &dib->bits ); clear_dib_info( dib ); }