LibreOffice Module vcl (master) 1
Classes | Typedefs | Functions
vcl::bitmap Namespace Reference

Classes

class  RawBitmap
 Intended to be used to feed into CreateFromData to create a BitmapEx. More...
 
class  ScanlineTransformer
 
class  ScanlineTransformer_1BitPalette
 
class  ScanlineTransformer_4BitPalette
 
class  ScanlineTransformer_8BitPalette
 
class  ScanlineTransformer_ARGB
 
class  ScanlineTransformer_BGR
 

Typedefs

typedef std::array< std::array< sal_uInt8, 256 >, 256 > lookup_table
 

Functions

BitmapEx loadFromName (const OUString &rFileName, const ImageLoadFlags eFlags)
 
void loadFromSvg (SvStream &rStream, const OUString &sPath, BitmapEx &rBitmapEx, double fScalingFactor)
 
BitmapEx CreateFromData (sal_uInt8 const *pData, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int32 nStride, sal_Int8 nBitCount, bool bReversColors, bool bReverseAlpha)
 Copy block of image data into the bitmap. More...
 
BitmapEx CreateFromData (RawBitmap &&rawBitmap)
 Copy block of image data into the bitmap. More...
 
BitmapEx CanvasTransformBitmap (const BitmapEx &rBitmap, const ::basegfx::B2DHomMatrix &rTransform, ::basegfx::B2DRectangle const &rDestRect, ::basegfx::B2DHomMatrix const &rLocalTransform)
 
void DrawAlphaBitmapAndAlphaGradient (BitmapEx &rBitmapEx, bool bFixedTransparence, float fTransparence, AlphaMask &rNewMask)
 
void DrawAndClipBitmap (const Point &rPos, const Size &rSize, const BitmapEx &rBitmap, BitmapEx &aBmpEx, basegfx::B2DPolyPolygon const &rClipPath)
 
css::uno::Sequence< sal_Int8GetMaskDIB (BitmapEx const &aBmpEx)
 
static bool readAlpha (BitmapReadAccess const *pAlphaReadAcc, tools::Long nY, const tools::Long nWidth, unsigned char *data, tools::Long nOff)
 
void CanvasCairoExtractBitmapData (BitmapEx const &aBmpEx, Bitmap &aBitmap, unsigned char *&data, bool &bHasAlpha, tools::Long &rnWidth, tools::Long &rnHeight)
 
uno::Sequence< sal_Int8CanvasExtractBitmapData (BitmapEx const &rBitmapEx, const geometry::IntegerRectangle2D &rect)
 
BitmapEx createHistorical8x8FromArray (std::array< sal_uInt8, 64 > const &pArray, Color aColorPix, Color aColorBack)
 
bool isHistorical8x8 (const BitmapEx &rBitmapEx, Color &o_rBack, Color &o_rFront)
 
sal_uInt8 unpremultiply (sal_uInt8 c, sal_uInt8 a)
 
static constexpr sal_uInt8 unpremultiplyImpl (sal_uInt8 c, sal_uInt8 a)
 
sal_uInt8 premultiply (sal_uInt8 c, sal_uInt8 a)
 
static constexpr sal_uInt8 premultiplyImpl (sal_uInt8 c, sal_uInt8 a)
 
template<int... Is>
static constexpr std::array< sal_uInt8, 256 > make_unpremultiply_table_row_ (int a, std::integer_sequence< int, Is... >)
 
template<int... Is>
static constexpr lookup_table make_unpremultiply_table_ (std::integer_sequence< int, Is... >)
 
lookup_table const & get_unpremultiply_table ()
 
template<int... Is>
static constexpr std::array< sal_uInt8, 256 > make_premultiply_table_row_ (int a, std::integer_sequence< int, Is... >)
 
template<int... Is>
static constexpr lookup_table make_premultiply_table_ (std::integer_sequence< int, Is... >)
 
lookup_table const & get_premultiply_table ()
 
bool convertBitmap32To24Plus8 (BitmapEx const &rInput, BitmapEx &rResult)
 
Bitmap GetDownsampledBitmap (Size const &rDstSizeTwip, Point const &rSrcPt, Size const &rSrcSz, Bitmap const &rBmp, tools::Long nMaxBmpDPIX, tools::Long nMaxBmpDPIY)
 Retrieve downsampled and cropped bitmap. More...
 
std::unique_ptr< ScanlineTransformergetScanlineTransformer (sal_uInt16 nBits, const BitmapPalette &rPalette)
 
template<int STRIP_SIZE>
void generateStripRanges (tools::Long nFirst, tools::Long nLast, std::function< void(tools::Long const nStart, tools::Long const nEnd, bool const bLast)> aFunction)
 
VCL_DLLPUBLIC css::uno::Sequence< sal_Int8CanvasExtractBitmapData (BitmapEx const &rBitmapEx, const css::geometry::IntegerRectangle2D &rect)
 

Typedef Documentation

◆ lookup_table

typedef std::array<std::array<sal_uInt8, 256>, 256> vcl::bitmap::lookup_table

Definition at line 32 of file BitmapTools.hxx.

Function Documentation

◆ CanvasCairoExtractBitmapData()

VCL_DLLPUBLIC void vcl::bitmap::CanvasCairoExtractBitmapData ( BitmapEx const &  aBmpEx,
Bitmap aBitmap,
unsigned char *&  data,
bool &  bHasAlpha,
tools::Long rnWidth,
tools::Long rnHeight 
)

◆ CanvasExtractBitmapData() [1/2]

VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > vcl::bitmap::CanvasExtractBitmapData ( BitmapEx const &  rBitmapEx,
const css::geometry::IntegerRectangle2D &  rect 
)

◆ CanvasExtractBitmapData() [2/2]

uno::Sequence< sal_Int8 > vcl::bitmap::CanvasExtractBitmapData ( BitmapEx const &  rBitmapEx,
const geometry::IntegerRectangle2D &  rect 
)

◆ CanvasTransformBitmap()

VCL_DLLPUBLIC BitmapEx vcl::bitmap::CanvasTransformBitmap ( const BitmapEx rBitmap,
const ::basegfx::B2DHomMatrix rTransform,
::basegfx::B2DRectangle const &  rDestRect,
::basegfx::B2DHomMatrix const &  rLocalTransform 
)

◆ convertBitmap32To24Plus8()

VCL_DLLPUBLIC bool vcl::bitmap::convertBitmap32To24Plus8 ( BitmapEx const &  rInput,
BitmapEx rResult 
)

◆ CreateFromData() [1/2]

BitmapEx VCL_DLLPUBLIC vcl::bitmap::CreateFromData ( RawBitmap &&  rawBitmap)

Copy block of image data into the bitmap.

Assumes that the Bitmap has been constructed with the desired size.

Definition at line 228 of file BitmapTools.cxx.

◆ CreateFromData() [2/2]

BitmapEx VCL_DLLPUBLIC vcl::bitmap::CreateFromData ( sal_uInt8 const *  pData,
sal_Int32  nWidth,
sal_Int32  nHeight,
sal_Int32  nStride,
sal_Int8  nBitCount,
bool  bReversColors,
bool  bReverseAlpha 
)

Copy block of image data into the bitmap.

Assumes that the Bitmap has been constructed with the desired size.

Parameters
pDataThe block of data to copy
nStrideThe number of bytes in a scanline, must >= (width * nBitCount / 8)
bReversColorsIn case the endianness of pData is wrong, you could reverse colors

Assumes that the Bitmap has been constructed with the desired size.

Parameters
pDataThe block of data to copy
nStrideThe number of bytes in a scanline, must be >= (width * bitcount / 8)

Definition at line 132 of file BitmapTools.cxx.

References col, COL_BLACK(), COL_WHITE(), vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::get(), vcl::N24_BPP, vcl::N32_BPP, vcl::N8_BPP, nBitCount, nValue, p, pData, vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::reset(), x, and y.

Referenced by ImportEpsGraphic().

◆ createHistorical8x8FromArray()

BitmapEx VCL_DLLPUBLIC vcl::bitmap::createHistorical8x8FromArray ( std::array< sal_uInt8, 64 > const &  pArray,
Color  aColorPix,
Color  aColorBack 
)

Definition at line 1054 of file BitmapTools.cxx.

References a, and vcl::N8_BPP.

◆ DrawAlphaBitmapAndAlphaGradient()

VCL_DLLPUBLIC void vcl::bitmap::DrawAlphaBitmapAndAlphaGradient ( BitmapEx rBitmapEx,
bool  bFixedTransparence,
float  fTransparence,
AlphaMask rNewMask 
)

◆ DrawAndClipBitmap()

VCL_DLLPUBLIC void vcl::bitmap::DrawAndClipBitmap ( const Point rPos,
const Size rSize,
const BitmapEx rBitmap,
BitmapEx aBmpEx,
basegfx::B2DPolyPolygon const &  rClipPath 
)

◆ generateStripRanges()

template<int STRIP_SIZE>
void vcl::bitmap::generateStripRanges ( tools::Long  nFirst,
tools::Long  nLast,
std::function< void(tools::Long const nStart, tools::Long const nEnd, bool const bLast)>  aFunction 
)

Definition at line 30 of file BitmapFilter.hxx.

◆ get_premultiply_table()

VCL_DLLPUBLIC lookup_table const & vcl::bitmap::get_premultiply_table ( )

Definition at line 1191 of file BitmapTools.cxx.

References make_premultiply_table_().

Referenced by CanvasCairoExtractBitmapData(), and premultiply().

◆ get_unpremultiply_table()

VCL_DLLPUBLIC lookup_table const & vcl::bitmap::get_unpremultiply_table ( )

Definition at line 1172 of file BitmapTools.cxx.

References make_unpremultiply_table_().

Referenced by unpremultiply().

◆ GetDownsampledBitmap()

VCL_DLLPUBLIC Bitmap vcl::bitmap::GetDownsampledBitmap ( Size const &  rDstSizeTwip,
Point const &  rSrcPt,
Size const &  rSrcSz,
Bitmap const &  rBmp,
tools::Long  nMaxBmpDPIX,
tools::Long  nMaxBmpDPIY 
)

Retrieve downsampled and cropped bitmap.

Takes destination size in twips units.

Attention: \n This method ignores negative rDstSz values, thus
mirroring must happen outside this method (e.g. in DrawBitmap)

Definition at line 1239 of file BitmapTools.cxx.

References Bitmap::Crop(), FRound(), Bitmap::GetSizePixel(), Size::Height(), o3tl::in, tools::Rectangle::Intersection(), tools::Rectangle::IsEmpty(), Bitmap::IsEmpty(), Bitmap::Scale(), Bitmap::SetEmpty(), Size::setHeight(), Size::setWidth(), o3tl::twip, and Size::Width().

Referenced by OutputDevice::RemoveTransparenciesFromMetaFile().

◆ GetMaskDIB()

VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > vcl::bitmap::GetMaskDIB ( BitmapEx const &  aBmpEx)

◆ getScanlineTransformer()

std::unique_ptr< ScanlineTransformer > vcl::bitmap::getScanlineTransformer ( sal_uInt16  nBits,
const BitmapPalette rPalette 
)

Definition at line 211 of file ScanlineTools.hxx.

◆ isHistorical8x8()

bool VCL_DLLPUBLIC vcl::bitmap::isHistorical8x8 ( const BitmapEx rBitmapEx,
Color o_rBack,
Color o_rFront 
)

◆ loadFromName()

BitmapEx VCL_DLLPUBLIC vcl::bitmap::loadFromName ( const OUString &  rFileName,
const ImageLoadFlags  eFlags 
)

◆ loadFromSvg()

void vcl::bitmap::loadFromSvg ( SvStream rStream,
const OUString &  sPath,
BitmapEx rBitmapEx,
double  fScalingFactor 
)

◆ make_premultiply_table_()

template<int... Is>
static constexpr lookup_table vcl::bitmap::make_premultiply_table_ ( std::integer_sequence< int, Is... >  )
staticconstexpr

Definition at line 1185 of file BitmapTools.cxx.

References make_premultiply_table_row_().

Referenced by get_premultiply_table().

◆ make_premultiply_table_row_()

template<int... Is>
static constexpr std::array< sal_uInt8, 256 > vcl::bitmap::make_premultiply_table_row_ ( int  a,
std::integer_sequence< int, Is... >   
)
staticconstexpr

Definition at line 1179 of file BitmapTools.cxx.

References a, and premultiplyImpl().

Referenced by make_premultiply_table_().

◆ make_unpremultiply_table_()

template<int... Is>
static constexpr lookup_table vcl::bitmap::make_unpremultiply_table_ ( std::integer_sequence< int, Is... >  )
staticconstexpr

Definition at line 1166 of file BitmapTools.cxx.

References make_unpremultiply_table_row_().

Referenced by get_unpremultiply_table().

◆ make_unpremultiply_table_row_()

template<int... Is>
static constexpr std::array< sal_uInt8, 256 > vcl::bitmap::make_unpremultiply_table_row_ ( int  a,
std::integer_sequence< int, Is... >   
)
staticconstexpr

Definition at line 1160 of file BitmapTools.cxx.

References a, and unpremultiplyImpl().

Referenced by make_unpremultiply_table_().

◆ premultiply()

VCL_DLLPUBLIC sal_uInt8 vcl::bitmap::premultiply ( sal_uInt8  c,
sal_uInt8  a 
)

◆ premultiplyImpl()

static constexpr sal_uInt8 vcl::bitmap::premultiplyImpl ( sal_uInt8  c,
sal_uInt8  a 
)
staticconstexpr

Definition at line 1155 of file BitmapTools.cxx.

References a.

Referenced by make_premultiply_table_row_().

◆ readAlpha()

static bool vcl::bitmap::readAlpha ( BitmapReadAccess const *  pAlphaReadAcc,
tools::Long  nY,
const tools::Long  nWidth,
unsigned char *  data,
tools::Long  nOff 
)
static

◆ unpremultiply()

VCL_DLLPUBLIC sal_uInt8 vcl::bitmap::unpremultiply ( sal_uInt8  c,
sal_uInt8  a 
)

◆ unpremultiplyImpl()

static constexpr sal_uInt8 vcl::bitmap::unpremultiplyImpl ( sal_uInt8  c,
sal_uInt8  a 
)
staticconstexpr

Definition at line 1145 of file BitmapTools.cxx.

References a.

Referenced by make_unpremultiply_table_row_().