Add ITiledRenderable.

We want to have a simple interface that allows access to tiled
rendering without digging into the internals of writer
(and in the future calc/impress/draw).

Change-Id: Ia9c278a48c919333186e5361ff25bb1ab603b846
This commit is contained in:
Andrzej Hunt
2014-06-13 17:31:42 +01:00
parent 837631c6cf
commit f35b010a95
3 changed files with 79 additions and 1 deletions

View File

@@ -0,0 +1,48 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
*/
#ifndef INCLUDED_VCL_ITILEDRENDERABLE_HXX
#define INCLUDED_VCL_ITILEDRENDERABLE_HXX
#include <tools/gen.hxx>
#include <vcl/virdev.hxx>
namespace vcl
{
class VCL_DLLPUBLIC ITiledRenderable
{
public:
virtual ~ITiledRenderable() {};
/**
* Paint a tile to a given VirtualDevice.
*
* Output parameters are measured in pixels, tile parameters are in
* twips.
*/
virtual void paintTile( VirtualDevice &rDevice,
int nOutputWidth,
int nOutputHeight,
int nTilePosX,
int nTilePosY,
long nTileWidth,
long nTileHeight ) = 0;
/**
* Get the document size in twips.
*/
virtual Size getDocumentSize() = 0;
};
} // namespace vcl
#endif // INCLUDED_VCL_ITILEDRENDERABLE_HXX