libosmscout 1.1.1
Loading...
Searching...
No Matches
osmscout::TileCache Class Reference

#include <libosmscout-client-qt/include/osmscoutclientqt/TileCache.h>

Inheritance diagram for osmscout::TileCache:
Collaboration diagram for osmscout::TileCache:

Signals

void tileRequested (uint32_t zoomLevel, uint32_t x, uint32_t y)

Public Member Functions

 TileCache (size_t cacheSize)
 ~TileCache () override
void clearPendingRequests ()
bool startRequestProcess (uint32_t zoomLevel, uint32_t x, uint32_t y)
void mergeAndStartRequests (uint32_t zoomLevel, uint32_t xtile, uint32_t ytile, uint32_t &xFrom, uint32_t &xTo, uint32_t &yFrom, uint32_t &yTo, uint32_t maxWidth, uint32_t maxHeight)
bool isRequestQueueEmpty () const
bool request (uint32_t zoomLevel, uint32_t x, uint32_t y)
bool reemitRequests ()
bool contains (uint32_t zoomLevel, uint32_t x, uint32_t y)
bool containsRequest (uint32_t zoomLevel, uint32_t x, uint32_t y)
TileCacheVal get (uint32_t zoomLevel, uint32_t x, uint32_t y)
bool invalidate (osmscout::GeoBox box=osmscout::GeoBox())
bool removeRequest (uint32_t zoomLevel, uint32_t x, uint32_t y)
void put (uint32_t zoomLevel, uint32_t x, uint32_t y, QImage image, size_t epoch=0)
void cleanupCache ()
size_t getEpoch () const
void incEpoch ()

Detailed Description

Cache have to be locked by its mutex() while access. It owns all inserted tiles and it is responsible for its release

Constructor & Destructor Documentation

◆ TileCache()

osmscout::TileCache::TileCache ( size_t cacheSize)
explicit

◆ ~TileCache()

osmscout::TileCache::~TileCache ( )
override

Member Function Documentation

◆ cleanupCache()

void osmscout::TileCache::cleanupCache ( )

◆ clearPendingRequests()

void osmscout::TileCache::clearPendingRequests ( )

remove all pending requests TODO: in case of multiple map widgets, add some id to avoid removing requests of another widget

◆ contains()

bool osmscout::TileCache::contains ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )

◆ containsRequest()

bool osmscout::TileCache::containsRequest ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )

◆ get()

TileCacheVal osmscout::TileCache::get ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )

◆ getEpoch()

size_t osmscout::TileCache::getEpoch ( ) const
inline

◆ incEpoch()

void osmscout::TileCache::incEpoch ( )
inline

◆ invalidate()

bool osmscout::TileCache::invalidate ( osmscout::GeoBox box = osmscout::GeoBox())
Parameters
box
Returns

◆ isRequestQueueEmpty()

bool osmscout::TileCache::isRequestQueueEmpty ( ) const

◆ mergeAndStartRequests()

void osmscout::TileCache::mergeAndStartRequests ( uint32_t zoomLevel,
uint32_t xtile,
uint32_t ytile,
uint32_t & xFrom,
uint32_t & xTo,
uint32_t & yFrom,
uint32_t & yTo,
uint32_t maxWidth,
uint32_t maxHeight )

◆ put()

void osmscout::TileCache::put ( uint32_t zoomLevel,
uint32_t x,
uint32_t y,
QImage image,
size_t epoch = 0 )

◆ reemitRequests()

bool osmscout::TileCache::reemitRequests ( )

trigger request signal for all pending requests

◆ removeRequest()

bool osmscout::TileCache::removeRequest ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )

Remove pending request

Parameters
zoomLevel
x
y
Returns
true if there was such request

◆ request()

bool osmscout::TileCache::request ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )

try to create new tile request. If this request don't exists already, it emit signal tileRequested and return true. Otherwise false.

◆ startRequestProcess()

bool osmscout::TileCache::startRequestProcess ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )

◆ tileRequested

void osmscout::TileCache::tileRequested ( uint32_t zoomLevel,
uint32_t x,
uint32_t y )
signal

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