OILBitmap Class Reference

To encapsulate the OILy end of bitmaps. Each OIL layer inherits from this and puts real functionality into the class. Things defined in this class must remain kernel-ly. More...

#include <bitmap.h>

Inheritance diagram for OILBitmap:

ListItem CCObject SimpleCCObject CWxBitmap List of all members.

Public Member Functions

virtual INT32 operator== (const OILBitmap &)=0
virtual BOOL GetInfo (BitmapInfo *Info, RenderRegion *pRegion=NULL)=0
virtual UINT32 GetWidth ()=0
virtual UINT32 GetHeight ()=0
virtual UINT32 GetBPP (RenderRegion *pRegion=NULL)=0
virtual UINT32 GetNumPaletteEntries ()=0
virtual ADDR GetBitmapBits ()=0
virtual UINT32 GetScanlineSize ()=0
UINT32 GetBitmapSize ()
 Finds the size in bytes, of this bitmap.
void SetName (String_256 &NewName)
String_256GetName ()
void SetBitmapAnimDelay (UINT32 Delay)
UINT32 GetBitmapAnimDelay ()
void SetInterpolation (BOOL Value)
BOOL GetInterpolation ()
void SetHidden (BOOL Value)
BOOL IsHidden () const
BOOL IsHiddenInGallery ()
 Hide some bitmaps from the user to avoid confusing the user.
void SetAnimationRestoreType (GIFDisposalMethod Type)
GIFDisposalMethod GetAnimationRestoreType ()
void SetLeftOffset (UINT32 LeftOffset)
UINT32 GetLeftOffset ()
void SetTopOffset (UINT32 TopOffset)
UINT32 GetTopOffset ()
BOOL InvalidateAllReferences (Document *)
 Called when the interpolation setting is changed. Determines whether this bitmap is being used in the specified document. All references to the bitmap (e.g. shapes with bitmap fill) are invalidated so that they will be redrawn with the new interpolation setting.
BOOL IsUsedInDocument (Document *pDoc, BOOL bIncludeHidden=FALSE)
 Finds if this bitmap is being used in a specified document or not.
BOOL IsUsedByChildren (Node *pNode, BOOL bIncludeHidden=FALSE)
 Determines if this bitmap is used by the children of the specified node (or their children etc).
BOOL IsUsedByNode (Node *pNode)
 Determines if this bitmap is used by the specified node.
virtual BOOL ExportBitmap (RenderRegion *pRegion)=0
virtual BOOL ExportBitmapPalette (RenderRegion *pRegion)=0
virtual BOOL ExportBitmapData (RenderRegion *pRegion)=0
virtual INT32 GetRecommendedWidth ()=0
virtual INT32 GetRecommendedHeight ()=0
virtual void SetRecommendedWidth (INT32)=0
virtual void SetRecommendedHeight (INT32)=0
virtual BOOL SetTransparencyIndex (INT32)=0
virtual BOOL GetTransparencyIndex (INT32 *)=0
virtual BOOL IsTransparent ()=0
virtual BOOL ExportSeparatedData (RenderRegion *pRegion, BYTE *SepTables)=0
virtual BOOL ExportSeparatedPalette (RenderRegion *pRegion)=0
virtual BOOL GetScanline32bpp (UINT32 YPos, BOOL UsePalette, Pixel32bpp *Scanline)=0
virtual BOOL WritePalette (BaseCamelotFilter *pFilter)=0
virtual BOOL Convert24To8 (RGBTRIPLE *pPalette, UINT32 NumberOfPaletteEntries)=0
virtual BOOL ImportBitmap (CCLexFile *pFile, BaseBitmapFilter *pBitmapFilter, BaseCamelotFilter *pFilter, BOOL IsCompressed)=0
virtual BOOL ImportBitmap (Filter *, const BitmapInfo *, INT32)=0
virtual BOOL LoadBitmap (UINT32 BitmapResourceID)=0
virtual BOOL GetPaletteUsage (INT32 *)=0
virtual BOOL PrepareMask (INT32 PaletteEntry)=0
virtual BOOL GetScanlineMaskBits (INT32 ScanlineY, LPBYTE ScanlineBuf)=0
virtual BOOL DestroyMask ()=0
virtual BOOL BuildContonePalette (DocColour &Start, DocColour &End, EFFECTTYPE Effect, View *ScopeView)
 Builds a contone (graduated) palette between the start and end colours given, using the given effect (mix, rainbow, alt-rainbow), for output through the given view. See GradTable32::BuildGraduatedPalette for details of how the palette is built.
virtual BOOL ExportContonePalette (RenderRegion *)=0
virtual DocColour GetContonePaletteEntry (UINT32 PaletteIndex)
 Read an entry from the Contone Palette.
virtual BOOL DestroyContonePalette ()
 Destroys the contone palette.
virtual void PlotPixel (INT32 x, INT32 y, Pixel32bpp NewValue)=0
virtual void PlotPixel (INT32 x, INT32 y, PixelGreyscale NewValue)=0
virtual Pixel32bpp ReadPixel32bpp (INT32 x, INT32 y, BOOL UsePalette=TRUE)=0
virtual INT32 ReturnPaletteIndexUsed (INT32 x, INT32 y)=0
virtual PixelGreyscale ReadPixelGreyscale (INT32 x, INT32 y)=0
virtual void DeleteData (BOOL bResetToDefault=TRUE)=0
virtual BOOL HasBeenDeleted ()=0
virtual void SetOriginalSource (BitmapSource *pSource=NULL, BaseBitmapFilter *pImportFilter=NULL)
 Sets the original bitmap file associated with this reference.
virtual BOOL GetOriginalSource (BitmapSource **ppSource=NULL, BaseBitmapFilter **ppImportFilter=NULL)
 Gets the original bitmap file buffer associated with this reference.
virtual BOOL SetGreyscaleVersion (OILBitmap *)
 Creates a greyscale version of this bitmap.
virtual BOOL DestroyGreyscaleVersion ()
 Destroys the greyscale version of this bitmap.
virtual OILBitmapGetGreyscaleVersion ()
virtual void GenerateGreyscaleTable ()=0
BYTE * GetGreyscaleTable ()
BOOL IsGreyscale ()
BOOL IsDefaultBitmap ()
BOOL IsTemp ()
BOOL IsInGlobalList ()
BOOL IsLossy ()
void SetAsFractal ()
void SetAsGreyscale ()
void SetAsLossy (BOOL bLossy=TRUE)
BOOL IsAFractal ()
virtual BOOL IsBrowserPalette ()=0
virtual BOOL ArePalettesTheSame (const LPLOGPALETTE pLogPalette, const INT32 TransColour=-1)=0
virtual UINT32 GetHorizontalDPI ()=0
virtual UINT32 GetVerticalDPI ()=0
virtual LPBITMAPINFO GetBitmapInfo ()=0
virtual LPRGBQUAD GetPaletteForBitmap ()=0
virtual LPBITMAPINFOHEADER GetBitmapInfoHeader ()=0
virtual void ReplaceBitmap (LPBYTE pBytes, LPBITMAPINFO pInfo)=0
virtual OILBitmapMakeCopy ()=0
void SetUsedByBrush (BOOL Used)
BOOL IsUsedByBrush ()
virtual void SetXPEInfo (OILBitmap *pMasterBitmap, IXMLDOMDocumentPtr pNewEditList)
 Sets the XPE edit list document for this bitmap.
virtual void GetXPEInfo (OILBitmap *&refMasterBitmap, IXMLDOMDocumentPtr &refEditList, BOOL bEnsureList=FALSE)
 Gets the stored XPE information for this bitmap.
virtual BOOL IsXPEMaster ()
 Gets the XPE master status of this bitmap by searching the bitmap list.
virtual BOOL DestroyXPEInfo ()
 Aks the user whether he wants to destroy XPE info.
virtual BOOL RemoveXPEBitmap ()
 Aks the user whether he wants to destroy XPE info.
virtual BOOL RebuildXPEBitmap ()
 Remove the OIL bitmap from memory if it can be constructed from master and edits.
virtual BOOL NeedsXPERebuild ()
 Ask the user whether he wants to destroy XPE info.
virtual void CopyFullyTransparentFrom (OILBitmap *pBitmap)=0

Static Public Member Functions

static OILBitmapCreate ()
 Creates a lovely fresh OILBitmap. Some data needs putting into it before it will work. Scope: Static.
static OILBitmapAttach (OILBitmap *=Default, BOOL Temp=FALSE)
 Increases the usage count on the OILBitmap. Designed to be called from KernelBitmap code.
static BOOL Init ()
 Reads the default fill pattern, either from a file or internally from a resource. Scope: Static.
static void Deinit ()
 Cleans up the OIL bitmap class, designed to be called once on exit. Scope: Static.

Static Public Attributes

static OILBitmapDefault
static INT32 s_lMaxGreyscaleSize

Protected Member Functions

 OILBitmap ()
 Constructor. Sets USage count to zero.
virtual ~OILBitmap ()
 Destructor.
BOOL RemoveFromGlobalList ()
 


Static Protected Member Functions

static OILBitmapCreate (UINT32 Width, UINT32 Height, UINT32 Depth, UINT32 dpi)
 Creates a lovely fresh OILBitmap. Some data needs putting into it before it will work.

Protected Attributes

String_256 m_BitmapName
UINT32 m_BitmapAnimDelay
BOOL m_bInterpolation
GIFDisposalMethod m_AnimationRestoreType
UINT32 m_LeftOffset
UINT32 m_TopOffset
OriginalBitmapRef m_OriginalBitmap
OILBitmapm_pColourVersion
OILBitmapm_pGreyscaleVersion
RGBQUADm_pContonePalette
BYTE * m_pGreyscaleTable
OILBitmapm_pMasterBitmap
IXMLDOMDocumentPtr m_pEditList
BOOL m_bTemp: 1
BOOL m_bIsAFractal: 1
BOOL m_bIsGreyscale: 1
BOOL m_bUsedByBrush: 1
BOOL m_bNeedsXPERebuild: 1
BOOL m_bHidden: 1
BOOL m_bIsLossy: 1

Friends

class KernelBitmap
class GlobalBitmapList
class OpDeleteBitmap
class CachedFractal
class NodeCacheCompound
class FeatherAttrValue
class MaskedFilter
class FlashRenderRegion
class CBitmapCache

Detailed Description

To encapsulate the OILy end of bitmaps. Each OIL layer inherits from this and puts real functionality into the class. Things defined in this class must remain kernel-ly.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
11/8/94

Definition at line 213 of file bitmap.h.


Constructor & Destructor Documentation

OILBitmap::OILBitmap  )  [protected]
 

Constructor. Sets USage count to zero.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
?/8/94

Definition at line 2267 of file bitmap.cpp.

02268 {
02269     m_bTemp = TRUE;     // Not in global list yet
02270 
02271     m_pColourVersion = NULL;
02272     m_pGreyscaleVersion = NULL;
02273     m_pContonePalette = NULL;
02274     m_pGreyscaleTable = NULL;
02275 
02276     m_bIsAFractal = FALSE;
02277     m_bIsGreyscale = FALSE;
02278     m_bIsLossy = FALSE;
02279 
02280     SetBitmapAnimDelay(10);
02281     SetAnimationRestoreType(GDM_LEAVE);
02282     SetInterpolation(TRUE);
02283 
02284     m_LeftOffset = 0;
02285     m_TopOffset = 0;
02286 
02287 PORTNOTE("other","Removed edit list")
02288 #ifndef EXCLUDE_FROM_XARALX
02289     m_pEditList = NULL;
02290 #endif
02291     m_pMasterBitmap = NULL;
02292 
02293     m_bUsedByBrush = FALSE;
02294 #if !defined(EXCLUDE_FROM_RALPH)
02295     m_BitmapName.Load(_R(IDS_BITMAPNAME));
02296 #else
02297     m_BitmapName = TEXT("Bitmap");
02298 #endif
02299     m_bNeedsXPERebuild = FALSE;
02300     m_bHidden = FALSE;
02301 
02302 #ifdef _DEBUG
02303     m_bIsAttached = FALSE;
02304 #endif
02305 }

OILBitmap::~OILBitmap  )  [protected, virtual]
 

Destructor.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
8/8/96

Definition at line 2317 of file bitmap.cpp.

02318 {
02319 PORTNOTE("other","Removed edit list")
02320 #ifndef EXCLUDE_FROM_XARALX
02321     if (m_pEditList)
02322     {
02323         m_pEditList = NULL;     // This is a smart pointer so just allow it to die naturally
02324     }
02325 #endif
02326 
02327     if (m_pColourVersion)
02328     {
02329         ERROR3IF(m_pColourVersion->m_pGreyscaleVersion != this, "Bad greyscale version");
02330 
02331         // This must be a greyscale version of a colour bmp
02332         m_pColourVersion->m_pGreyscaleVersion = NULL;
02333     }
02334 
02335     // Ensure this bitmap is not in the global bitmap list
02336     RemoveFromGlobalList();
02337 
02338     if (m_pContonePalette)
02339         DestroyContonePalette();
02340 
02341     if (m_pGreyscaleVersion)
02342         DestroyGreyscaleVersion();
02343 
02344     // To do :- We could do a debug check here, to ensure that there are no references 
02345     //          to this bitmap anywhere
02346 }


Member Function Documentation

virtual BOOL OILBitmap::ArePalettesTheSame const LPLOGPALETTE  pLogPalette,
const INT32  TransColour = -1
[pure virtual]
 

Implemented in CWxBitmap.

OILBitmap * OILBitmap::Attach OILBitmap pTheOILBitmap = Default,
BOOL  Temp = FALSE
[static]
 

Increases the usage count on the OILBitmap. Designed to be called from KernelBitmap code.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
?/8/94
Parameters:
A pointer to an OILBitmap. [INPUTS]
Returns:
The WhichOne pointer if it worked, or NULL if it failed.

Errors: A NULL return means that the WhichOne pointer was also NULL. SetError will NOT be called.

See also:
OILBitmap::Detach Scope: Static

Definition at line 2365 of file bitmap.cpp.

02366 {
02367     if (pTheOILBitmap == NULL)
02368         return NULL;
02369 
02370 #ifdef _DEBUG
02371 
02372     ERROR3IF_OILBMP_PTR_INVALID(pTheOILBitmap,
02373                 "Bitmap Error.  Trying to attach a deleted bitmap.");
02374 
02375     // Check for illegal things ...
02376     // Trap an attempt to attach a temp bitmap to more than one KernelBitmap
02377     if (pTheOILBitmap->m_bTemp && !pTheOILBitmap->m_bIsAFractal)
02378     {
02379         //ERROR3IF(pTheOILBitmap->m_bIsAttached, "Trying to attach a temp bitmap that is already attached");
02380         // Stefans change so that if IsNew is NULL in TryAndUseExistingKernelBitmap it will set the temp
02381         // flag means that this check goes off on animated bitmaps. Downgraded to trace all.
02382         if (pTheOILBitmap->m_bIsAttached)
02383             TRACEALL( _T("Trying to attach a temp bitmap that is already attached\n") );
02384     }
02385 
02386     pTheOILBitmap->m_bIsAttached = TRUE;
02387 
02388 #endif
02389 
02390     if (!Temp && !pTheOILBitmap->IsInGlobalList())
02391     {
02392         ERROR3IF(pTheOILBitmap->IsAFractal(), "Someone's trying to attach a fractal to the global list !");
02393 
02394         if (!pTheOILBitmap->IsAFractal())
02395         {
02396             // It's not in the Global list yet, so add it now ...
02397 
02398             // First ensure the bitmap name is unique
02399             GetApplication()->GetGlobalBitmapList()->MakeNameUnique(&(pTheOILBitmap->m_BitmapName));
02400 
02401             // and the add it to the global bitmap list
02402             GetApplication()->GetGlobalBitmapList()->AddItem(pTheOILBitmap);
02403 
02404             // and flag that it's in the list
02405             pTheOILBitmap->m_bTemp = FALSE;
02406 
02407             // And set the flag if it's a greyscale bitmap
02408             // we can't tell if it is or not in WEBSTER-Martin-14/01/97
02409             // Code now in DIBUtil 10/11/97 Neville
02410 //#ifdef WEBSTER
02411 //          pTheOILBitmap->m_bIsGreyscale = FALSE;
02412 //#else
02413             pTheOILBitmap->m_bIsGreyscale = DIBUtil::IsGreyscaleBitmap(pTheOILBitmap);
02414 //#endif //WEBSTER
02415         }
02416     }
02417 
02418     return pTheOILBitmap;
02419 }

BOOL OILBitmap::BuildContonePalette DocColour StartCol,
DocColour EndCol,
EFFECTTYPE  Effect,
View ScopeView
[virtual]
 

Builds a contone (graduated) palette between the start and end colours given, using the given effect (mix, rainbow, alt-rainbow), for output through the given view. See GradTable32::BuildGraduatedPalette for details of how the palette is built.

Author:
Andy_Pennell (Xara Group Ltd) <camelotdev@xara.com> or Will? (Fixed to handle colour seps, Jason)
Date:
? (8/7/96)
Parameters:
StartCol - The start colour for the palette (entry 0) [INPUTS] EndCol - The end colour for the palette (entry 255)
Effect - The grad fill effect (Mix, Rainbow, Alt-rainbow) to use

ScopeView - The view to which this palette will be rendered. Used to determine current colour correction/separation settings for composite preview and separated views. Can be null, but it won't do any of your fancy colour seperationness for you.

Definition at line 2475 of file bitmap.cpp.

02477 {
02478     UINT32 bpp = GetBPP();
02479 
02480     if (bpp > 8)
02481         // Can't do contone palette for this image
02482         return FALSE;
02483 
02484     RGBQUAD* pPalette = (RGBQUAD*)CCMalloc(256 * sizeof(RGBQUAD));
02485     if (pPalette == NULL)
02486         return FALSE;
02487 
02488     // Allocate the palette array (we always allocate enough for biggest (8bpp) palette)
02489 //  m_pContonePalette = (RGBQUAD *) CCMalloc(256 * sizeof(RGBQUAD));
02490 //  if (m_pContonePalette == NULL)
02491 //      // Out of memory.
02492 //      return FALSE;
02493 
02494     // Fill in the palette (we always use RGB space for now)
02495     INT32 NumCols = 256;
02496     switch (bpp)
02497     {
02498         case 1:
02499             NumCols = 2;
02500             break;
02501 
02502         case 2:
02503             NumCols = 4;
02504             break;
02505 
02506 //      case 4:
02507 //          // 4bpp images are expanded to 8bpp otherwise they don't work on
02508 //          // some PostScript printers.
02509 //      case 8:
02510 //      default:
02511 //          NumCols = 256;
02512 //          break;
02513     }
02514 
02515     GradTable32::BuildGraduatedPalette(StartCol, EndCol, ScopeView, Effect, NumCols, pPalette);
02516 
02517     BYTE* pGreyTable = GetGreyscaleTable();
02518     if (pGreyTable)
02519     {
02520         m_pContonePalette = (RGBQUAD *) CCMalloc(256 * sizeof(RGBQUAD));
02521         if (m_pContonePalette == NULL)
02522             return(FALSE);
02523 
02524         // Copy the entries from the contone palette into the new one,
02525         // using the Grey table as a guide
02526         for (INT32 i=0; i<256; i++)
02527         {
02528             m_pContonePalette[i] = pPalette[pGreyTable[i]];
02529         }
02530 
02531         CCFree(pPalette);
02532     }
02533     else
02534     {
02535         m_pContonePalette = pPalette;
02536     }
02537 
02538     return(TRUE);
02539 }

virtual BOOL OILBitmap::Convert24To8 RGBTRIPLE pPalette,
UINT32  NumberOfPaletteEntries
[pure virtual]
 

Implemented in CWxBitmap.

virtual void OILBitmap::CopyFullyTransparentFrom OILBitmap pBitmap  )  [pure virtual]
 

Implemented in CWxBitmap.

OILBitmap * OILBitmap::Create void   )  [static]
 

Creates a lovely fresh OILBitmap. Some data needs putting into it before it will work. Scope: Static.

Author:
Andy_Pennell (Xara Group Ltd) <camelotdev@xara.com>
Date:
?/9/94
Returns:
A new OILBitmap.

Definition at line 291 of file oilbitmap.cpp.

00292 {
00293     // Create a new CWxBitmap object.
00294     return new CWxBitmap;
00295 }

OILBitmap * OILBitmap::Create UINT32  Width,
UINT32  Height,
UINT32  Depth,
UINT32  dpi
[static, protected]
 

Creates a lovely fresh OILBitmap. Some data needs putting into it before it will work.

Author:
Andy_Pennell (Xara Group Ltd) <camelotdev@xara.com>
Date:
?/9/94 Input: Pixel width, height and depth, and the dpi of the required bitmap.
Returns:
A new OILBitmap (contents undefined), or NULL if failed.

Errors: SetError will be called. Scope: Static protected

Definition at line 313 of file oilbitmap.cpp.

00314 {
00315     LPBITMAPINFO bmInfo;
00316     LPBYTE bmBytes;
00317 
00318     bmInfo = AllocDIB( Width, Height, Depth, &bmBytes );
00319     if (bmInfo)
00320     {
00321         //bmInfo->bmiHeader.biXPelsPerMeter = Mul32Div32( dpi, 100*100, 254 );
00322         double xppm = ((double)dpi * 10000.0)/254.0;
00323         bmInfo->bmiHeader.biXPelsPerMeter = (INT32)(xppm + 0.5);
00324         bmInfo->bmiHeader.biYPelsPerMeter = bmInfo->bmiHeader.biXPelsPerMeter;
00325         CWxBitmap *WinBM = new CWxBitmap( bmInfo, bmBytes );
00326         if (WinBM)
00327             return WinBM;
00328         else
00329             FreeDIB( bmInfo, bmBytes );
00330     }
00331     return NULL;
00332 }

void OILBitmap::Deinit  )  [static]
 

Cleans up the OIL bitmap class, designed to be called once on exit. Scope: Static.

Author:
Andy_Pennell (Xara Group Ltd) <camelotdev@xara.com>
Date:
?/9/94

Definition at line 270 of file oilbitmap.cpp.

00271 {
00272     delete OILBitmap::Default;
00273     OILBitmap::Default = NULL;
00274 
00275     // perhaps should go through list at some point making sure everything is tidy?
00276 }

virtual void OILBitmap::DeleteData BOOL  bResetToDefault = TRUE  )  [pure virtual]
 

Implemented in CWxBitmap.

BOOL OILBitmap::DestroyContonePalette  )  [virtual]
 

Destroys the contone palette.

Author:
Jason_Williams (Xara Group Ltd) <camelotdev@xara.com> ?
Date:
?/7/96

Definition at line 2576 of file bitmap.cpp.

02577 {
02578     // (ChrisG 4/1/01) - Only delete the contone palette if we actually have one.
02579     if (m_pContonePalette != NULL)
02580     {
02581         // Free and NULL our palette array pointer.
02582         CCFree(m_pContonePalette);
02583         m_pContonePalette = NULL;
02584     }
02585     return TRUE;
02586 }

BOOL OILBitmap::DestroyGreyscaleVersion  )  [virtual]
 

Destroys the greyscale version of this bitmap.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
15/8/96

Definition at line 2627 of file bitmap.cpp.

02628 {
02629     if (m_pGreyscaleVersion == NULL)
02630         return TRUE;
02631 
02632     ERROR3IF(m_pGreyscaleVersion->m_pColourVersion == NULL, "Greyscale bitmap has no colour pointer");
02633 //  GreyscaleBitmapList* pGreyList = 
02634 //      GetApplication()->GetGlobalBitmapList()->GetGreyscaleBitmapList();
02635     
02636 //  if (pGreyList)
02637 //      pGreyList->RemoveItem(m_pGreyscaleVersion);
02638 
02639     delete m_pGreyscaleVersion;
02640     m_pGreyscaleVersion = NULL;
02641     return TRUE;
02642 }

virtual BOOL OILBitmap::DestroyMask  )  [pure virtual]
 

Implemented in CWxBitmap.

BOOL OILBitmap::DestroyXPEInfo  )  [virtual]
 

Aks the user whether he wants to destroy XPE info.

Author:
Phil_Martin (Xara Group Ltd) <camelotdev@xara.com>
Date:
30/01/2004
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
TRUE if this bitmap has no XPE info or the user agreed it could be destroyed FALSE otherwise

Definition at line 3060 of file bitmap.cpp.

03061 {
03062     PORTNOTETRACE("other","OILBitmap::DestroyXPEInfo - do nothing");
03063 #ifndef EXCLUDE_FROM_XARALX
03064     if (m_pMasterBitmap==NULL || m_pEditList==NULL)
03065         return TRUE;
03066 
03067     m_pMasterBitmap = NULL;     // This is just a pointer to another kernel bitmap
03068     m_pEditList = NULL;         // This is a smart ptr so NULL-ing it should release the XML doc
03069 #endif
03070     return TRUE;
03071 }

virtual BOOL OILBitmap::ExportBitmap RenderRegion pRegion  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::ExportBitmapData RenderRegion pRegion  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::ExportBitmapPalette RenderRegion pRegion  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::ExportContonePalette RenderRegion  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::ExportSeparatedData RenderRegion pRegion,
BYTE *  SepTables
[pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::ExportSeparatedPalette RenderRegion pRegion  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual void OILBitmap::GenerateGreyscaleTable  )  [pure virtual]
 

Implemented in CWxBitmap.

GIFDisposalMethod OILBitmap::GetAnimationRestoreType  )  [inline]
 

Definition at line 278 of file bitmap.h.

00278 { return m_AnimationRestoreType; }  

UINT32 OILBitmap::GetBitmapAnimDelay  )  [inline]
 

Definition at line 268 of file bitmap.h.

00268 { return m_BitmapAnimDelay; }

virtual ADDR OILBitmap::GetBitmapBits  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual LPBITMAPINFO OILBitmap::GetBitmapInfo  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual LPBITMAPINFOHEADER OILBitmap::GetBitmapInfoHeader  )  [pure virtual]
 

Implemented in CWxBitmap.

UINT32 OILBitmap::GetBitmapSize  ) 
 

Finds the size in bytes, of this bitmap.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
15/8/96

Definition at line 2944 of file bitmap.cpp.

02945 {
02946     BitmapInfo Info;
02947     Info.MemoryUsed = 0;
02948 
02949     // Get the bitmap Info
02950     GetInfo(&Info);
02951 
02952     return Info.MemoryUsed;
02953 }

virtual UINT32 OILBitmap::GetBPP RenderRegion pRegion = NULL  )  [pure virtual]
 

Implemented in CWxBitmap.

DocColour OILBitmap::GetContonePaletteEntry UINT32  PaletteIndex  )  [virtual]
 

Read an entry from the Contone Palette.

Author:
Jason_Williams (Xara Group Ltd) <camelotdev@xara.com> ?
Date:
?/7/96

Definition at line 2553 of file bitmap.cpp.

02554 {
02555     ERROR3IF(m_pContonePalette == NULL, "No contone palette to get data from!");
02556     if (m_pContonePalette == NULL)
02557         return DocColour(COLOUR_WHITE);     // Error - return arbitrary colour
02558 
02559     // Ok, get the entry and convert it to a DocColour
02560     return DocColour((INT32) m_pContonePalette[PaletteIndex].rgbRed,
02561                      (INT32) m_pContonePalette[PaletteIndex].rgbGreen,
02562                      (INT32) m_pContonePalette[PaletteIndex].rgbBlue);
02563 }

BYTE* OILBitmap::GetGreyscaleTable  )  [inline]
 

Definition at line 357 of file bitmap.h.

00357 { return m_pGreyscaleTable; }

virtual OILBitmap* OILBitmap::GetGreyscaleVersion  )  [inline, virtual]
 

Definition at line 354 of file bitmap.h.

00354 { return m_pGreyscaleVersion; }

virtual UINT32 OILBitmap::GetHeight  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual UINT32 OILBitmap::GetHorizontalDPI  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::GetInfo BitmapInfo Info,
RenderRegion pRegion = NULL
[pure virtual]
 

Implemented in CWxBitmap.

BOOL OILBitmap::GetInterpolation  )  [inline]
 

Definition at line 271 of file bitmap.h.

00271 { return m_bInterpolation ; }

UINT32 OILBitmap::GetLeftOffset  )  [inline]
 

Definition at line 280 of file bitmap.h.

00280 { return m_LeftOffset; }

String_256& OILBitmap::GetName  )  [inline]
 

Definition at line 265 of file bitmap.h.

00265 { return m_BitmapName; }

virtual UINT32 OILBitmap::GetNumPaletteEntries  )  [pure virtual]
 

Implemented in CWxBitmap.

BOOL OILBitmap::GetOriginalSource BitmapSource **  pSource = NULL,
BaseBitmapFilter **  ppImportFilter = NULL
[virtual]
 

Gets the original bitmap file buffer associated with this reference.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
8/8/96
Parameters:
pSource,ptr to a BitmapSource ptr to update to point at the BitmapSource [INPUTS] ppFilterName, ptr to a BaseBitmapFilter ptr to update to point at the filter to use to decode the bitmap
If both these inputs are NULL, then the function will simply return whether an original file exists or not.

Parameters:
The input pointers are set if an original file is available, otherwise they [OUTPUTS] are left unchanged.
Returns:
TRUE, if an original file is available, and the pointers were set if non NULL. FALSE, if no orginal files is available.

Definition at line 2693 of file bitmap.cpp.

02694 {
02695     // Let the reference do the hard work ...
02696     return m_OriginalBitmap.GetOriginalSource(pSource, ppImportFilter);
02697 }

virtual LPRGBQUAD OILBitmap::GetPaletteForBitmap  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::GetPaletteUsage INT32 *   )  [pure virtual]
 

Implemented in CWxBitmap.

virtual INT32 OILBitmap::GetRecommendedHeight  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual INT32 OILBitmap::GetRecommendedWidth  )  [pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::GetScanline32bpp UINT32  YPos,
BOOL  UsePalette,
Pixel32bpp Scanline
[pure virtual]
 

Implemented in CWxBitmap.

virtual BOOL OILBitmap::GetScanlineMaskBits INT32  ScanlineY,
LPBYTE  ScanlineBuf
[pure virtual]
 

Implemented in CWxBitmap.

virtual UINT32 OILBitmap::GetScanlineSize  )  [pure virtual]
 

Implemented in CWxBitmap.

UINT32 OILBitmap::GetTopOffset  )  [inline]
 

Definition at line 282 of file bitmap.h.

00282 { return m_TopOffset</