MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mbgl::Image< Mode > Class Template Reference

#include <image.hpp>

Inheritance diagram for mbgl::Image< Mode >:
mbgl::util::non_copyable_::noncopyable

Public Member Functions

 Image ()=default
 
 Image (Size size_)
 
 Image (Size size_, const uint8_t *srcData, std::size_t srcLength)
 
 Image (Size size_, std::unique_ptr< uint8_t[]> data_)
 
 Image (Image &&o) noexcept
 
Imageoperator= (Image &&o) noexcept
 
bool valid () const
 
template<typename T = Image>
clone () const
 
size_t stride () const
 
size_t bytes () const
 
void fill (uint8_t value)
 
void resize (Size size_)
 

Static Public Member Functions

static void clear (Image &dstImg, const Point< uint32_t > &pt, const Size &size)
 Clears the rect area specified by pt and size from dstImage. More...
 
static void copy (const Image &srcImg, Image &dstImg, const Point< uint32_t > &srcPt, const Point< uint32_t > &dstPt, const Size &size)
 

Public Attributes

Size size
 
std::unique_ptr< uint8_t[]> data
 

Static Public Attributes

static constexpr size_t channels = Mode == ImageAlphaMode::Exclusive ? 1 : 4
 

Friends

bool operator== (const Image &lhs, const Image &rhs)
 
bool operator!= (const Image &lhs, const Image &rhs)
 

Detailed Description

template<ImageAlphaMode Mode>
class mbgl::Image< Mode >

Definition at line 21 of file image.hpp.

Constructor & Destructor Documentation

◆ Image() [1/5]

template<ImageAlphaMode Mode>
mbgl::Image< Mode >::Image ( )
default

◆ Image() [2/5]

template<ImageAlphaMode Mode>
mbgl::Image< Mode >::Image ( Size  size_)
inline

Definition at line 25 of file image.hpp.

◆ Image() [3/5]

template<ImageAlphaMode Mode>
mbgl::Image< Mode >::Image ( Size  size_,
const uint8_t *  srcData,
std::size_t  srcLength 
)
inline

Definition at line 27 of file image.hpp.

◆ Image() [4/5]

template<ImageAlphaMode Mode>
mbgl::Image< Mode >::Image ( Size  size_,
std::unique_ptr< uint8_t[]>  data_ 
)
inline

Definition at line 35 of file image.hpp.

◆ Image() [5/5]

template<ImageAlphaMode Mode>
mbgl::Image< Mode >::Image ( Image< Mode > &&  o)
inlinenoexcept

Definition at line 37 of file image.hpp.

Member Function Documentation

◆ bytes()

template<ImageAlphaMode Mode>
size_t mbgl::Image< Mode >::bytes ( ) const
inline

Definition at line 65 of file image.hpp.

◆ clear()

template<ImageAlphaMode Mode>
static void mbgl::Image< Mode >::clear ( Image< Mode > &  dstImg,
const Point< uint32_t > &  pt,
const Size size 
)
inlinestatic

Clears the rect area specified by pt and size from dstImage.

Definition at line 85 of file image.hpp.

◆ clone()

template<ImageAlphaMode Mode>
template<typename T = Image>
T mbgl::Image< Mode >::clone ( ) const
inline

Definition at line 58 of file image.hpp.

◆ copy()

template<ImageAlphaMode Mode>
static void mbgl::Image< Mode >::copy ( const Image< Mode > &  srcImg,
Image< Mode > &  dstImg,
const Point< uint32_t > &  srcPt,
const Point< uint32_t > &  dstPt,
const Size size 
)
inlinestatic

Copy image data within rect from src to the rectangle of the same size at pt in dst. If the specified bounds exceed the bounds of the source or destination, throw std::out_of_range. Must not be used to move data within a single Image.

Definition at line 112 of file image.hpp.

◆ fill()

template<ImageAlphaMode Mode>
void mbgl::Image< Mode >::fill ( uint8_t  value)
inline

Definition at line 67 of file image.hpp.

◆ operator=()

template<ImageAlphaMode Mode>
Image& mbgl::Image< Mode >::operator= ( Image< Mode > &&  o)
inlinenoexcept

Definition at line 39 of file image.hpp.

◆ resize()

template<ImageAlphaMode Mode>
void mbgl::Image< Mode >::resize ( Size  size_)
inline

Definition at line 71 of file image.hpp.

◆ stride()

template<ImageAlphaMode Mode>
size_t mbgl::Image< Mode >::stride ( ) const
inline

Definition at line 64 of file image.hpp.

◆ valid()

template<ImageAlphaMode Mode>
bool mbgl::Image< Mode >::valid ( ) const
inline

Definition at line 55 of file image.hpp.

Friends And Related Function Documentation

◆ operator!=

template<ImageAlphaMode Mode>
bool operator!= ( const Image< Mode > &  lhs,
const Image< Mode > &  rhs 
)
friend

Definition at line 51 of file image.hpp.

◆ operator==

template<ImageAlphaMode Mode>
bool operator== ( const Image< Mode > &  lhs,
const Image< Mode > &  rhs 
)
friend

Definition at line 46 of file image.hpp.

Member Data Documentation

◆ channels

template<ImageAlphaMode Mode>
constexpr size_t mbgl::Image< Mode >::channels = Mode == ImageAlphaMode::Exclusive ? 1 : 4
staticconstexpr

Definition at line 154 of file image.hpp.

◆ data

template<ImageAlphaMode Mode>
std::unique_ptr<uint8_t[]> mbgl::Image< Mode >::data

Definition at line 155 of file image.hpp.

◆ size

template<ImageAlphaMode Mode>
Size mbgl::Image< Mode >::size

Definition at line 153 of file image.hpp.


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