summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2006-02-28 09:34:35 +0000
committerKurt Zenker <kz@openoffice.org>2006-02-28 09:34:35 +0000
commit1b77f1b36ef9b9e27d235c7549b325373f385576 (patch)
tree3c974ce52cd381e8693682fffbded4a548e08d2a
parente02a49f16d0529302f98ba0570fe76801821318a (diff)
INTEGRATION: CWS cairocanvas (1.1.2); FILE ADDED
2005/12/14 15:38:04 radekdoulik 1.1.2.4: Issue number: #51657 Submitted by: radekdoulik Reviewed by: radekdoulik use vcl to draw text to virtual device created from our pixmaps 2005/11/08 21:23:03 radekdoulik 1.1.2.3: Issue number: #51657 Submitted by: radekdoulik Reviewed by: radekdoulik updated cairo canvas to be usable by canvas02 2005/09/14 10:50:57 radekdoulik 1.1.2.2: Issue number: #51657 Submitted by: radekdoulik Reviewed by: radekdoulik Sync code in ooo-build with cairo canvas cws 2005/07/07 07:57:57 radekdoulik 1.1.2.1: Issue number: 51657 Submitted by: radekdoulik Reviewed by: radekdoulik initial import of cairo canvas code
-rw-r--r--canvas/source/cairo/cairo_canvasfont.hxx105
1 files changed, 105 insertions, 0 deletions
diff --git a/canvas/source/cairo/cairo_canvasfont.hxx b/canvas/source/cairo/cairo_canvasfont.hxx
new file mode 100644
index 000000000000..e91ff37d40b8
--- /dev/null
+++ b/canvas/source/cairo/cairo_canvasfont.hxx
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: cairo_canvasfont.hxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: kz $ $Date: 2006-02-28 10:34:35 $
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+
+#ifndef _CAIROCANVAS_CANVASFONT_HXX
+#define _CAIROCANVAS_CANVASFONT_HXX
+
+#include <comphelper/implementationreference.hxx>
+
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/geometry/Matrix2D.hpp>
+#include <com/sun/star/rendering/FontRequest.hpp>
+#include <com/sun/star/rendering/XCanvasFont.hpp>
+
+#include <vcl/font.hxx>
+
+#include <canvas/vclwrapper.hxx>
+
+#include "cairo_spritecanvas.hxx"
+#include "cairo_impltools.hxx"
+
+#include <boost/utility.hpp>
+
+
+/* Definition of CanvasFont class */
+
+namespace cairocanvas
+{
+ typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::rendering::XCanvasFont,
+ ::com::sun::star::lang::XServiceInfo > CanvasFont_Base;
+
+ class CanvasFont : public ::comphelper::OBaseMutex,
+ public CanvasFont_Base,
+ private ::boost::noncopyable
+ {
+ public:
+ typedef ::comphelper::ImplementationReference<
+ CanvasFont,
+ ::com::sun::star::rendering::XCanvasFont > Reference;
+
+ CanvasFont( const ::com::sun::star::rendering::FontRequest& fontRequest,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& extraFontProperties,
+ const ::com::sun::star::geometry::Matrix2D& rFontMatrix,
+ const DeviceRef& rDevice );
+
+ /// Dispose all internal references
+ virtual void SAL_CALL disposing();
+
+ // XCanvasFont
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XTextLayout > SAL_CALL createTextLayout( const ::com::sun::star::rendering::StringContext& aText, sal_Int8 nDirection, sal_Int64 nRandomSeed ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::rendering::FontRequest SAL_CALL getFontRequest( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::rendering::FontMetrics SAL_CALL getFontMetrics( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< double > SAL_CALL getAvailableSizes( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getExtraFontProperties( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName() throw( ::com::sun::star::uno::RuntimeException );
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw( ::com::sun::star::uno::RuntimeException );
+
+ ::Font getVCLFont() const;
+
+ private:
+ ::canvas::vcltools::VCLObject<Font> maFont;
+ ::com::sun::star::rendering::FontRequest maFontRequest;
+ DeviceRef mpRefDevice;
+ };
+
+}
+
+#endif /* _CAIROCANVAS_CANVASFONT_HXX */