LibreOffice Module vcl (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SkiaPackedSurfaceAtlasManager Class Referencefinal

Pack Skia "surfaces" into one surface atlas. More...

#include <packedsurfaceatlas.hxx>

Public Member Functions

 SkiaPackedSurfaceAtlasManager (int nSurfaceWidth, int nSurfaceHeight)
 nSurfaceWidth and nSurfaceHeight are the dimensions of the common surface(s) More...
 
 ~SkiaPackedSurfaceAtlasManager ()
 
SkiaPackedSurface Reserve (int nWidth, int nHeight)
 
std::vector< sk_sp< SkSurface > > ReduceSurfaceNumber (int nMaxNumberOfSurfaces)
 

Private Member Functions

void CreateNewSurface ()
 
 SkiaPackedSurfaceAtlasManager (const SkiaPackedSurfaceAtlasManager &)=delete
 
SkiaPackedSurfaceAtlasManageroperator= (const SkiaPackedSurfaceAtlasManager &)=delete
 

Private Attributes

std::vector< std::unique_ptr< PackedSurface > > maPackedSurfaces
 
int const mnSurfaceWidth
 
int const mnSurfaceHeight
 

Detailed Description

Pack Skia "surfaces" into one surface atlas.

This is based on algorithm described in 1 and is an adaptation of "texture atlas generator" from 2.

Definition at line 57 of file packedsurfaceatlas.hxx.

Constructor & Destructor Documentation

SkiaPackedSurfaceAtlasManager::SkiaPackedSurfaceAtlasManager ( const SkiaPackedSurfaceAtlasManager )
privatedelete
SkiaPackedSurfaceAtlasManager::SkiaPackedSurfaceAtlasManager ( int  nSurfaceWidth,
int  nSurfaceHeight 
)

nSurfaceWidth and nSurfaceHeight are the dimensions of the common surface(s)

SkiaPackedSurfaceAtlasManager::~SkiaPackedSurfaceAtlasManager ( )

Member Function Documentation

void SkiaPackedSurfaceAtlasManager::CreateNewSurface ( )
private
SkiaPackedSurfaceAtlasManager& SkiaPackedSurfaceAtlasManager::operator= ( const SkiaPackedSurfaceAtlasManager )
privatedelete
std::vector<sk_sp<SkSurface> > SkiaPackedSurfaceAtlasManager::ReduceSurfaceNumber ( int  nMaxNumberOfSurfaces)
SkiaPackedSurface SkiaPackedSurfaceAtlasManager::Reserve ( int  nWidth,
int  nHeight 
)

Member Data Documentation

std::vector<std::unique_ptr<PackedSurface> > SkiaPackedSurfaceAtlasManager::maPackedSurfaces
private

Definition at line 59 of file packedsurfaceatlas.hxx.

int const SkiaPackedSurfaceAtlasManager::mnSurfaceHeight
private

Definition at line 63 of file packedsurfaceatlas.hxx.

int const SkiaPackedSurfaceAtlasManager::mnSurfaceWidth
private

Definition at line 62 of file packedsurfaceatlas.hxx.


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