TiledImageOpenVG.h [plain text]
#ifndef TiledImageOpenVG_h
#define TiledImageOpenVG_h
#include "IntRect.h"
#include "IntSize.h"
#include "SharedResourceOpenVG.h"
#include <openvg.h>
#include <wtf/Vector.h>
namespace WebCore {
class FloatRect;
class TiledImageOpenVG : public SharedResourceOpenVG {
public:
TiledImageOpenVG(const IntSize& size, const IntSize& tileSize);
TiledImageOpenVG(const TiledImageOpenVG&);
~TiledImageOpenVG();
TiledImageOpenVG& operator=(const TiledImageOpenVG&);
const IntSize& size() const { return m_size; }
const IntSize& maxTileSize() const { return m_maxTileSize; }
int numTiles() const;
int numColumns() const;
int numRows() const;
IntRect tilesInRect(const FloatRect&) const;
void setTile(int xIndex, int yIndex, VGImage);
VGImage tile(int xIndex, int yIndex) const;
IntRect tileRect(int xIndex, int yIndex) const;
private:
void detachTiles();
void destroyTiles();
IntSize m_size;
IntSize m_maxTileSize;
int m_numColumns;
Vector<VGImage> m_tiles;
};
}
#endif