Bump for 3.6-28
[LibreOffice.git] / cppcanvas / source / mtfrenderer / bitmapaction.hxx
blobe6c7b83ee626ea0f6bf7c61a7b1f31a0e51ceaef
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef _CPPCANVAS_BITMAPACTION_HXX
30 #define _CPPCANVAS_BITMAPACTION_HXX
32 #include <cppcanvas/canvas.hxx>
33 #include <action.hxx>
35 namespace basegfx {
36 class B2DPoint;
37 class B2DVector;
39 class BitmapEx;
41 /* Definition of internal::BitmapActionFactory class */
43 namespace cppcanvas
45 namespace internal
47 struct OutDevState;
49 /** Creates encapsulated converters between GDIMetaFile and
50 XCanvas. The Canvas argument is deliberately placed at the
51 constructor, to force reconstruction of this object for a
52 new canvas. This considerably eases internal state
53 handling, since a lot of the internal state (e.g. fonts,
54 text layout) is Canvas-dependent.
56 class BitmapActionFactory
58 public:
59 /// Unscaled bitmap action, only references destination point
60 static ActionSharedPtr createBitmapAction( const ::BitmapEx&,
61 const ::basegfx::B2DPoint& rDstPoint,
62 const CanvasSharedPtr&,
63 const OutDevState& );
65 /// Scaled bitmap action, dest point and dest size
66 static ActionSharedPtr createBitmapAction( const ::BitmapEx&,
67 const ::basegfx::B2DPoint& rDstPoint,
68 const ::basegfx::B2DVector& rDstSize,
69 const CanvasSharedPtr&,
70 const OutDevState& );
72 private:
73 // static factory, disable big four
74 BitmapActionFactory();
75 ~BitmapActionFactory();
76 BitmapActionFactory(const BitmapActionFactory&);
77 BitmapActionFactory& operator=( const BitmapActionFactory& );
82 #endif /*_CPPCANVAS_BITMAPACTION_HXX */
84 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */