CartoType C++ API 7.8.2, 2022-03-25
for Windows, Linux, Qt and other platforms supporting C++ development
Public Member Functions | Static Public Member Functions | List of all members
CartoType::CBitmap Class Reference

#include <cartotype_bitmap.h>

Inheritance diagram for CartoType::CBitmap:
CartoType::TBitmap

Public Member Functions

 CBitmap (TBitmapType aType, int32_t aWidth, int32_t aHeight, int32_t aRowBytes=0, std::shared_ptr< CPalette > aPalette=nullptr)
 
 CBitmap (MInputStream &aInputStream)
 
 CBitmap (const CBitmap &aOther)
 
 CBitmap (CBitmap &&aOther) noexcept
 
 CBitmap (const TBitmap &aOther)
 
CBitmapoperator= (const TBitmap &aOther)
 
CBitmapoperator= (CBitmap &&aOther)
 
std::vector< uint8_t > DetachData ()
 
- Public Member Functions inherited from CartoType::TBitmap
 TBitmap (TBitmapType aType, uint8_t *aData, uint32_t aWidth, uint32_t aHeight, uint32_t aRowBytes, std::shared_ptr< CPalette > aPalette=nullptr)
 
 TBitmap (const CBitmap &aBitmap)=delete
 
TBitmapoperator= (const CBitmap &aBitmap)=delete
 
TColorFunction ColorFunction () const
 
CBitmap Copy (int32_t aExpansion=0) const
 
CBitmap Blur (bool aGaussian, double aWidth) const
 
CBitmap Palettize () const
 
CBitmap UnPalettize () const
 
CBitmap Trim (TRect &aBounds, bool aTrimLeft=true, bool aTrimRight=true, bool aTrimTop=true, bool aTrimBottom=true) const
 
CBitmap Clip (TRect aClip) const
 
CBitmap Clip (const MPath &aPath, TRect &aNewBounds) const
 
TResult WritePng (MOutputStream &aOutputStream, bool aPalettize) const
 
TResult Write (TDataOutputStream &aOutput) const
 
TBitmapType Type () const
 
int32_t BitsPerPixel () const
 
const uint8_t * Data () const
 
uint8_t * Data ()
 
std::shared_ptr< CPalettePalette () const
 
void SetPalette (std::shared_ptr< CPalette > aPalette)
 
int32_t DataBytes () const
 
int32_t Width () const
 
int32_t Height () const
 
int32_t RowBytes () const
 
void Clear ()
 
void ClearToWhite ()
 
bool operator< (const TBitmap &aOther) const
 
bool operator== (const TBitmap &aOther) const
 

Static Public Member Functions

static CBitmap Read (TResult &aError, TDataInputStream &aInput)
 

Additional Inherited Members

- Public Types inherited from CartoType::TBitmap
using TColorFunction = TColor(*)(const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
- Static Protected Member Functions inherited from CartoType::TBitmap
static TColor Color1BitMono (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor Color8BitMono (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor Color8BitPalette (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor Color16BitMono (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor Color16BitColor (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor Color24BitColor (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor Color32BitColor (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
static TColor ColorUnsupported (const TBitmap &aBitmap, uint32_t aX, uint32_t aY)
 
- Protected Attributes inherited from CartoType::TBitmap
uint8_t * iData = nullptr
 
std::shared_ptr< CPaletteiPalette
 
uint32_t iWidth = 0
 
uint32_t iHeight = 0
 
uint32_t iRowBytes = 0
 
TBitmapType iType = TBitmapType::A8
 

Detailed Description

A bitmap that owns its data.

Constructor & Destructor Documentation

◆ CBitmap() [1/5]

CartoType::CBitmap::CBitmap ( TBitmapType  aType,
int32_t  aWidth,
int32_t  aHeight,
int32_t  aRowBytes = 0,
std::shared_ptr< CPalette aPalette = nullptr 
)

Creates a bitmap that owns its data. If aRowBytes is less than the minimum possible set the number of bytes per row to the minimum possible.

◆ CBitmap() [2/5]

CartoType::CBitmap::CBitmap ( MInputStream aInputStream)
explicit

Creates a bitmap from a stream, starting at the current position. Supported source bitmap types: PNG and JPEG.

◆ CBitmap() [3/5]

CartoType::CBitmap::CBitmap ( const CBitmap aOther)

Creates a CBitmap by copying a CBitmap.

◆ CBitmap() [4/5]

CartoType::CBitmap::CBitmap ( CBitmap &&  aOther)
noexcept

Creates a CBitmap by moving data from another CBitmap.

◆ CBitmap() [5/5]

CartoType::CBitmap::CBitmap ( const TBitmap aOther)

Creates a CBitmap by copying a TBitmap.

Member Function Documentation

◆ DetachData()

std::vector< uint8_t > CartoType::CBitmap::DetachData ( )
inline

Detaches the data, transferring ownership to the caller.

◆ operator=() [1/2]

CBitmap & CartoType::CBitmap::operator= ( CBitmap &&  aOther)

The move assignment operator.

◆ operator=() [2/2]

CBitmap & CartoType::CBitmap::operator= ( const TBitmap aOther)

The assignment operator.

◆ Read()

CBitmap CartoType::CBitmap::Read ( TResult aError,
TDataInputStream aInput 
)
static

Reads a bitmap that was written by TBitmap::Write


The documentation for this class was generated from the following files: