summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/graphic
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/graphic')
-rwxr-xr-xoffapi/com/sun/star/graphic/Graphic.idl62
-rw-r--r--offapi/com/sun/star/graphic/GraphicColorMode.idl59
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicDescriptor.idl151
-rw-r--r--offapi/com/sun/star/graphic/GraphicObject.idl63
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicProvider.idl53
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicRendererVCL.idl79
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicType.idl57
-rwxr-xr-xoffapi/com/sun/star/graphic/MediaProperties.idl128
-rwxr-xr-xoffapi/com/sun/star/graphic/XGraphic.idl65
-rw-r--r--offapi/com/sun/star/graphic/XGraphicObject.idl65
-rwxr-xr-xoffapi/com/sun/star/graphic/XGraphicProvider.idl119
-rwxr-xr-xoffapi/com/sun/star/graphic/XGraphicRenderer.idl54
-rw-r--r--offapi/com/sun/star/graphic/XGraphicTransformer.idl57
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive2D.idl93
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive3D.idl80
-rw-r--r--offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl101
-rwxr-xr-xoffapi/com/sun/star/graphic/makefile.mk62
17 files changed, 1348 insertions, 0 deletions
diff --git a/offapi/com/sun/star/graphic/Graphic.idl b/offapi/com/sun/star/graphic/Graphic.idl
new file mode 100755
index 000000000000..02bb048096e0
--- /dev/null
+++ b/offapi/com/sun/star/graphic/Graphic.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_Graphic_idl
+#define com_sun_star_graphic_Graphic_idl
+
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/graphic/GraphicDescriptor.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This service acts as a container for graphics
+
+ <p>The main interface that has to be implemented for this service
+ is the <type>XGraphic</type> interface, which itself exposes only
+ a few methods. Beside this, a <type>Graphic</type> service
+ incorporates the <type>GraphicDescriptor</type> to give
+ access to the attributes of the graphic.
+
+ @see XGraphic
+ @see XGraphicTtransformer
+ @see GraphicDescriptor
+*/
+published service Graphic
+{
+ interface ::com::sun::star::graphic::XGraphic;
+
+ /**
+ [optional] interface ::com::sun::star::graphic::XGraphicTransformer;
+ */
+
+ service ::com::sun::star::graphic::GraphicDescriptor;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicColorMode.idl b/offapi/com/sun/star/graphic/GraphicColorMode.idl
new file mode 100644
index 000000000000..c22d1de56ee9
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicColorMode.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_graphic_GraphicColorMode_idl__
+#define __com_sun_star_graphic_GraphicColorMode_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module graphic {
+
+//=============================================================================
+
+/** describes different color modes which can be specified when requesting a graphic.
+ */
+constants GraphicColorMode
+{
+ /** describes normal graphic colors, no particular color transformation is applied
+ to the graphics.
+ */
+ const long NORMAL = 0;
+
+ /** used when requesting graphics which are suitable for a high-contrast
+ environment.
+ */
+ const long HIGH_CONTRAST = 1;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/graphic/GraphicDescriptor.idl b/offapi/com/sun/star/graphic/GraphicDescriptor.idl
new file mode 100755
index 000000000000..fce984008c71
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicDescriptor.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_GraphicDescriptor_idl
+#define com_sun_star_graphic_GraphicDescriptor_idl
+
+#include <com/sun/star/graphic/GraphicType.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/awt/Size.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This service describes all graphic properties that are available
+ via the <type scope="com::sun::star::beans">XPropertySet</type> interface
+
+ @see XPropertySet
+*/
+published service GraphicDescriptor
+{
+ /** The property interface by which the properties of all
+ supported services are exchanged
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** The type of the graphic
+
+ @see GraphicType
+ */
+ [property] byte GraphicType;
+
+ /** The MimeType of the loaded graphic
+
+ <p> The mime can be the original mime type of the graphic
+ source the graphic container was constructed from or it
+ can be the internal mime type image/x-vclgraphic, in which
+ case the original mime type is not available anymore</p>
+
+ <p> Currently, the following mime types are supported for
+ loaded graphics:<\p>
+ <ul>
+ <li>image/bmp</li>
+ <li>image/gif</li>
+ <li>image/jpeg</li>
+ <li>image/x-photo-cd</li>
+ <li>image/x-pcx</li>
+ <li>image/png</li>
+ <li>image/tiff</li>
+ <li>image/x-xbitmap</li>
+ <li>image/x-xpixmap</li>
+ <li>image/x-portable-bitmap</li>
+ <li>image/x-portable-graymap</li>
+ <li>image/x-portable-pixmap</li>
+ <li>image/x-cmu-raster</li>
+ <li>image/x-targa</li>
+ <li>image/x-photoshop</li>
+ <li>image/x-eps</li>
+ <li>image/x-dxf</li>
+ <li>image/x-met</li>
+ <li>image/x-pict</li>
+ <li>image/x-sgf</li>
+ <li>image/x-svm</li>
+ <li>image/x-wmf</li>
+ <li>image/x-sgv</li>
+ <li>image/x-emf</li>
+ <li>image/x-vclgraphic</li>
+ </ul>
+
+ */
+ [property] string MimeType;
+
+ /** The Size of the graphic in pixel.
+
+ <p> This property may not be available in case of
+ vector graphics or if the pixel size can not be
+ determined correctly for some formats without loading
+ the whole graphic</p>
+ */
+ [optional, property] ::com::sun::star::awt::Size SizePixel;
+
+ /** The Size of the graphic in 100th mm.
+
+ <p> This property may not be available in case of
+ pixel graphics or if the logical size can not be
+ determined correctly for some formats without loading
+ the whole graphic</p>
+ */
+ [optional, property] ::com::sun::star::awt::Size Size100thMM;
+
+ /** The number of bits per pixel used for the pixel graphic
+
+ <p> This property is not available for vector
+ graphics and may not be available for some kinds
+ of pixel graphics</p>
+ */
+ [optional, property] byte BitsPerPixel;
+
+ /** Indicates that it is a transparent graphic
+
+ <p>This property is always <TRUE/> for vector graphics.
+ The status of this flag is not always clear if the
+ graphic was not loaded at all, e.g. in case of just
+ querying for the <type>GraphicDescriptor</type>.</p>
+ */
+ [optional, property] boolean Transparent;
+
+ /** Indicates that it is a pixel graphic with an alpha channel
+
+ <p>The status of this flag is not always clear if the
+ graphic was not loaded at all, e.g. in case of just
+ querying for the <type>GraphicDescriptor</type></p>
+ */
+ [optional, property] boolean Alpha;
+
+ /** Indicates that it is a graphic that consists of several
+ frames that can be played as an animation
+
+ <p>The status of this flag is not always clear if the
+ graphic was not loaded at all, e.g. in case of just
+ querying for the <type>GraphicDescriptor</type></p>
+ */
+ [optional, property] boolean Animated;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicObject.idl b/offapi/com/sun/star/graphic/GraphicObject.idl
new file mode 100644
index 000000000000..c3353724133f
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicObject.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_GraphicObject_idl
+#define com_sun_star_graphic_GraphicObject_idl
+
+#include <com/sun/star/graphic/XGraphicObject.idl>
+
+module com { module sun { module star { module graphic
+{
+/** The <code>GraphicObject</code> service can be used to create <type>XGraphicObject</type> instances.
+
+ <p><type>XGraphicObject</type> objects are accessable using GraphicObject scheme urls like
+ <code>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</code>.
+ As long as at least one instance of <type>XGraphicObject</type> with a particular UniqueID exists,
+ the associated image/graphic is available.</p>
+
+ @see GraphicObject
+ @see GraphicProvider
+ @see MediaProperties
+*/
+
+service GraphicObject : XGraphicObject
+{
+ /** Creates an <type>GraphicObject</type>
+ */
+ create();
+
+ /** Creates an <type>GraphicObject</type> with <code>uniqueId</code>
+ @param uniqueId
+ If another <type>XGraphicObject</type> with <code>uniqueId</code> exists, this GraphicObject
+ is populated with the other <type>GraphicObject</type>'s data.
+ */
+ createWithId( [in] string uniqueId );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicProvider.idl b/offapi/com/sun/star/graphic/GraphicProvider.idl
new file mode 100755
index 000000000000..b8109919a349
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicProvider.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_GraphicProvider_idl
+#define com_sun_star_graphic_GraphicProvider_idl
+
+#include <com/sun/star/graphic/XGraphicProvider.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Central service of the Graphic API that gives access to graphics
+ of any kind
+
+ <p>This service allows to load graphics from and to store graphics
+ to any location. The one and only interface that has to be implemented
+ is the <type>XGraphicProvider</type> interface, that exposes the necessary
+ methods for loading and storing the graphic contents and descriptors</p>
+
+ @see XGraphicProvider
+*/
+published service GraphicProvider
+{
+ interface ::com::sun::star::graphic::XGraphicProvider;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicRendererVCL.idl b/offapi/com/sun/star/graphic/GraphicRendererVCL.idl
new file mode 100755
index 000000000000..10cc215629d4
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicRendererVCL.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_GraphicRendererVCL_idl
+#define com_sun_star_graphic_GraphicRendererVCL_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/graphic/XGraphicRenderer.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service that describes the necessary interfaces and properties
+ to render a graphic container of <type>XGraphic</type> type
+
+ <p>To render a <type>XGraphic</type> container, just create an
+ instance of this service, set the appropriate properties and use
+ the <type>XGraphicRenderer</type> interface to initiate the rendering
+ process itself</p>
+ */
+service GraphicRendererVCL
+{
+ /** Interface to initiate the rendering process
+ */
+ interface ::com::sun::star::graphic::XGraphicRenderer;
+
+ /** The property interface by which the properties of all
+ supported services are exchanged
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** Holds the device onto which the <type>XGraphic</type>
+ container should be rendered
+
+ <p>In case of using VCL Devices, this property should
+ hold a <type scope="com::sun::star::awt">XDevice</type>
+ interface</p>
+ */
+ [property] any Device;
+
+ /** Specifies the destination rectangle, into which the graphic
+ content is to be rendered onto the device
+ */
+ [property] ::com::sun::star::awt::Rectangle DestinationRect;
+
+
+ /** Additional properties for rendering, unspecified at the moment
+ */
+ [optional, property] any RenderData;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicType.idl b/offapi/com/sun/star/graphic/GraphicType.idl
new file mode 100755
index 000000000000..133b2621887d
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicType.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_graphic_GraphicType_idl__
+#define __com_sun_star_graphic_GraphicType_idl__
+
+module com { module sun { module star { module graphic {
+
+/** Constants that describe the type of graphic
+*/
+published constants GraphicType
+{
+ //-------------------------------------------------------------------------
+ /** Graphic is empty
+ */
+ const byte EMPTY = 0;
+
+ //-------------------------------------------------------------------------
+ /** Graphic is represented through single pixels
+ */
+ const byte PIXEL = 1;
+
+ //-------------------------------------------------------------------------
+ /** Graphic is represented through vectors
+ */
+ const byte VECTOR = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/graphic/MediaProperties.idl b/offapi/com/sun/star/graphic/MediaProperties.idl
new file mode 100755
index 000000000000..889db82278fd
--- /dev/null
+++ b/offapi/com/sun/star/graphic/MediaProperties.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_MediaProperties_idl
+#define com_sun_star_graphic_MediaProperties_idl
+
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XStream.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This service describes the properties that are used
+ when using the <type>XGraphicProvider</type> interface methods
+*/
+published service MediaProperties
+{
+ /** Property that describes the location of the source or target
+ of the graphic as URL.
+
+ <p>A URL can be used instead of the
+ <member>InputStream</member> or <member>OutputStream</member>
+ property</p>
+
+ <p>In addition to the normal protocols like file:// or http://
+ you can use private URL's as follows to get access to graphics
+ lying inside the resource system within an Office context:
+
+ <ul>
+ <li>private:resource/projectshortname/bitmap/12345</li>
+ <li>private:resource/projectshortname/bitmapex/12345</li>
+ <li>private:resource/projectshortname/image/12345</li>
+ <li>private:resource/projectshortname/imagelist/12345</li>
+ <li>private:resource/projectshortname/imagelist/12345/12</li>
+ </ul>
+And additionally, GraphicObject scheme url's like
+ <ul> <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li> </ul>
+ can be used to access graphics held by the GraphicCache implementation.
+ </p>
+
+ <p>Yet more, you can access graphics in the application-wide image
+ repository by specifying URLs of the form
+ <code>private:graphicrepository/<em>&lt;path_in_repository&gt;</em></code>.
+</p>
+ */
+ [optional, property ] string URL;
+
+ /** This property is only used for loading graphics or querying
+ graphic descriptors
+
+ <p>A <member>InputStream</member> can be used instead of the
+ <member>URL</member> property</p>
+
+ @see com::sun::star::io::XInputStream
+ */
+ [optional, property ] ::com::sun::star::io::XInputStream InputStream;
+
+ /** This property is only used for storing graphics
+
+ <p>A <member>OutputStream</member> can be used instead of the
+ <member>URL</member> property</p>
+
+ @see com::sun::star::io::XStream
+ */
+ [optional, property ] ::com::sun::star::io::XStream OutputStream;
+
+ /** This property is only used for storing graphics and describes the
+ format into which the graphic is to be converted
+
+ <p>At the moment, the following mime types are supported for storing
+ graphics:</p>
+
+ <ul>
+ <li>image/bmp</li>
+ <li>image/gif</li>
+ <li>image/jpeg</li>
+ <li>image/png</li>
+ <li>image/tiff</li>
+ <li>image/svg+xml</li>
+ <li>image/x-cmu-raster</li>
+ <li>image/x-emf</li>
+ <li>image/x-eps</li>
+ <li>image/x-met</li>
+ <li>image/x-pict</li>
+ <li>image/x-portable-bitmap</li>
+ <li>image/x-portable-pixmap</li>
+ <li>image/x-wmf</li>
+ <li>image/x-svm</li>
+ <li>image/x-xpixmap</li>
+ <li>image/x-vclgraphic</li>
+ </ul>
+ */
+ [optional, property ] string MimeType;
+
+ /** Additional properties that will be passed to the
+ appropriate filter module.
+ */
+ [optional, property] ::com::sun::star::beans::PropertyValues FilterData;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphic.idl b/offapi/com/sun/star/graphic/XGraphic.idl
new file mode 100755
index 000000000000..999d815be2ae
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphic.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#define com_sun_star_graphic_XGraphic_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/graphic/GraphicType.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface acts as a container for the loaded graphic.
+
+ <p>The interface itself can be retrieved by using the appropriate
+ methods of <type>XGraphicProvider</type> interface.
+ <type>XGraphicProvider</type> also offers a method to store
+ the graphic content at a specific location</p>
+
+ <p>To render the graphic content onto a specific device, you
+ have to create a <type>XGraphicRenderer</type> interface and pass
+ this interface appropriately</p>
+
+ @see XGraphicProvider
+ @see XGraphicRenderer
+ */
+published interface XGraphic : ::com::sun::star::uno::XInterface
+{
+ /** Get the type of the contained graphic
+
+ @returns
+ The type of the contained graphic
+
+ @see GraphicType
+ */
+ byte getType();
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphicObject.idl b/offapi/com/sun/star/graphic/XGraphicObject.idl
new file mode 100644
index 000000000000..adc5d5ee5e1e
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicObject.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_XGraphicObject_idl
+#define com_sun_star_graphic_XGraphicObject_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module graphic
+{
+interface XGraphic;
+/** <code>XGraphicObject</code> objects represent in-memory image and graphic
+ objects.
+
+ <p>Such objects are accessable using GraphicObject scheme urls like
+ <ul>
+ <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li>
+ </ul>
+ The numeric portion of the url is formed from <member>UniqueID</member>.
+ As long as at least one instance of <code>XGraphicObject</code> with a particular UniqueID exists,
+ the associated image/graphic is available.</p>
+
+ @see XGraphicObject
+ @see GraphicProvider
+ @see MediaProperties
+*/
+
+interface XGraphicObject : ::com::sun::star::uno::XInterface
+{
+ /** is the associated image/graphic for this object.
+ */
+ [attribute ] XGraphic Graphic;
+
+ /** is the id that can be used to form the <code>vnd.sun.star.GraphicObject</code> url to address this object.
+ */
+ [attribute, readonly ] string UniqueID;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphicProvider.idl b/offapi/com/sun/star/graphic/XGraphicProvider.idl
new file mode 100755
index 000000000000..de5a193961df
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicProvider.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_XGraphicProvider_idl
+#define com_sun_star_graphic_XGraphicProvider_idl
+
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface acts as the main interface to handle graphic
+ content. It is used to load graphics, store graphics and
+ to get information about unloaded graphics
+ */
+published interface XGraphicProvider : ::com::sun::star::uno::XInterface
+{
+ /** Calling this method returns a
+ <type scope="com::sun::star::beans">XPropertySet</type>
+ interface that gives access to the properties of the
+ unloaded graphic
+
+ <p>In most cases, this method will be used to query the
+ mime type of the graphic and, in the case of pixel graphics,
+ the resulting size after loading</p>
+
+ @param MediaProperties
+ A sequence of property values to describe the location
+ of the graphic, for which the attributes should be returned
+
+ @returns
+ A <type scope="com::sun::star::beans">XPropertySet</type> interface
+ to get access to the different graphic properties
+
+ @see MediaProperties
+ @see GraphicDescriptor
+ @see com::sun::star::beans::PropertyValues
+ */
+ ::com::sun::star::beans::XPropertySet queryGraphicDescriptor( [in] ::com::sun::star::beans::PropertyValues MediaProperties )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException );
+
+
+
+ /** Calling this method returns a <type>XGraphic</type> interface
+ that holds the graphic content after loading the graphic
+
+ @param MediaProperties
+ A sequence of property values to describe the location
+ of the graphic from which the graphic is to be loaded
+
+ @returns
+ The <type>XGraphic</type> interface
+
+ @see MediaProperties
+ @see XGraphic
+ @see com::sun::star::beans::PropertyValues
+ */
+ XGraphic queryGraphic( [in] ::com::sun::star::beans::PropertyValues MediaProperties )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException );
+
+ /** Store the graphic content, represented through the <type>XGraphic</type>
+ interface at the specified location
+
+ @param Graphic
+ The graphic that should be stored
+
+ @param MediaProperties
+ A sequence of property values to describe the destination
+ location of the graphic
+
+ @see XGraphic
+ @see MediaProperties
+ @see com::sun::star::beans::PropertyValues
+ */
+ void storeGraphic( [in] ::com::sun::star::graphic::XGraphic Graphic,
+ [in] ::com::sun::star::beans::PropertyValues MediaProperties )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphicRenderer.idl b/offapi/com/sun/star/graphic/XGraphicRenderer.idl
new file mode 100755
index 000000000000..f49746c4e5d5
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicRenderer.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_XGraphicRenderer_idl
+#define com_sun_star_graphic_XGraphicRenderer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interfaces exposes just one method to render
+ a <type>XGraphic</type> container
+ */
+interface XGraphicRenderer : ::com::sun::star::uno::XInterface
+{
+ /** Renders the <type>XGraphic</type> container
+
+ @param Graphic
+ The graphic container to be rendered
+
+ @see XGraphic
+ */
+ void render( [in] ::com::sun::star::graphic::XGraphic Graphic );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphicTransformer.idl b/offapi/com/sun/star/graphic/XGraphicTransformer.idl
new file mode 100644
index 000000000000..47fe2d9bbd54
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicTransformer.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef com_sun_star_graphic_XGraphicTransformer_idl
+#define com_sun_star_graphic_XGraphicTransformer_idl
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface is allowing to transform a <type>XGraphic</type>
+
+ <p>To transform a <type>XGraphic</type>, just the corresponding
+ method has to be used, a new XGraphic instance will be returned
+ </p>
+*/
+interface XGraphicTransformer : ::com::sun::star::uno::XInterface
+{
+ /** transforms a Graphic
+
+ @returns
+ The transformed graphic
+ */
+ com::sun::star::graphic::XGraphic colorChange( [ in ] com::sun::star::graphic::XGraphic In,
+ [ in ] long ColorFrom, [ in ] byte tolerance, [ in ] long ColorTo, [ in ] byte AlphaTo )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XPrimitive2D.idl b/offapi/com/sun/star/graphic/XPrimitive2D.idl
new file mode 100644
index 000000000000..377bcb5b7802
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive2D.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_graphic_XPrimitive2D_idl__
+#define __com_sun_star_graphic_XPrimitive2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+
+module com { module sun { module star { module graphic {
+
+/** XPrimitive2D interface
+
+ This is the basic interface for 2D graphic primitives. They need to be able
+ - to provide a decomposition consisting of simpler graphic primitives
+ - to provide a 2D bound rectangle as a 2D range
+ */
+interface XPrimitive2D : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list of simpler primitives
+
+ @param aViewParameters
+ 2D View-specific parameter set. The defined but not mandatory
+ parameters include:
+
+ ::com::sun::star::geometry::AffineMatrix2D Transformation
+
+ A transformation matrix which maps between world coordinates (which
+ is equal to object's local coordinates) to view coordinates. If not
+ defined, an empty transformation is implied.
+
+ ::com::sun::star::geometry::RealRectangle2D Viewport
+
+ Defines the visible part of the view in world coordinates. May be used
+ to optimize decompositions, e.g. for 3d scenes only the visible part
+ needs to be created. If not given, an empty Viewport is implied which
+ means all is visible.
+
+ double Time
+
+ Defines the point in time for which the geometry is defined. This may
+ lead to varied results for animated objects. This value is defined in the
+ range [0.0 .. n[, negative values are not allowed. If not given, a value of
+ 0.0 is implied.
+ */
+ sequence< XPrimitive2D > getDecomposition( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+
+ /** Retrieve bound rect of primitive
+
+ This method calculates the actual bound rect of the area in
+ <em>world coordinates<em>. Note that for view-dependent primitives,
+ the necessary pixel adjustments are taken into account. For that reason
+ the ViewParameters need to be given.
+
+ @param aViewParameters
+ 2D View-specific parameter set, same as in getDecomposition.
+ */
+ ::com::sun::star::geometry::RealRectangle2D getRange( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XPrimitive3D.idl b/offapi/com/sun/star/graphic/XPrimitive3D.idl
new file mode 100644
index 000000000000..5083ed338a76
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive3D.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_graphic_XPrimitive3D_idl__
+#define __com_sun_star_graphic_XPrimitive3D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle3D_idl__
+#include <com/sun/star/geometry/RealRectangle3D.idl>
+#endif
+
+module com { module sun { module star { module graphic {
+
+/** XPrimitive3D interface
+
+ This is the basic interface for graphic 3D primitives. They need to be able
+ - to provide a decomposition consisting of simpler graphic primitives
+ - to provide a 3D bound rectangle as a 3D range
+ */
+interface XPrimitive3D : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list of simpler primitives
+
+ @param aViewParameters
+ 3D View-specific parameter set. The defined but not mandatory
+ parameters include:
+
+ double Time
+
+ Defines the point in time for which the geometry is defined. This may
+ lead to varied results for animated objects. This value is defined in the
+ range [0.0 .. n[, negative values are not allowed. If not given, a value of
+ 0.0 is implied.
+ */
+ sequence< XPrimitive3D > getDecomposition( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+
+ /** Retrieve bound rect of primitive
+
+ This method calculates the actual bound rect of the area in
+ <em>world coordinates<em>. Note that for view-dependent primitives,
+ the necessary pixel adjustments are taken into account. For that reason
+ the ViewParameters need to be given.
+
+ @param aViewParameters
+ 3D View-specific parameter set, same as in getDecomposition.
+ */
+ ::com::sun::star::geometry::RealRectangle3D getRange( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl b/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl
new file mode 100644
index 000000000000..846d0c3d5154
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_graphic_XPrimitiveFactory2D_idl__
+#define __com_sun_star_graphic_XPrimitiveFactory2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//////////////////////////////////////////////////////////////////////////////
+// predefines
+
+module com { module sun { module star { module drawing {
+ interface XShape;
+ interface XDrawPage;
+}; }; }; };
+
+//////////////////////////////////////////////////////////////////////////////
+
+module com { module sun { module star { module graphic {
+
+interface XPrimitive2D;
+
+/** XPrimitiveFactory2D interface
+
+ Use this interface to generate XPrimitive2D instances
+ */
+interface XPrimitiveFactory2D : ::com::sun::star::uno::XInterface
+{
+ /** Create primitives from <type>::com::sun::star::drawing::XShape</type>
+
+ @param xShape
+ The XShape, for which the primitives are to be
+ generated. Specifying an invalid or empty shape here will
+ result in an empty return value.
+
+ @param aParms
+ Sequence of factory parameters, whose semantics depend on the
+ shape to be generated.
+
+ @return a sequence of primitives, that consists of the
+ geometrical representation from the given XShape.
+ */
+ sequence< XPrimitive2D > createPrimitivesFromXShape(
+ [in] ::com::sun::star::drawing::XShape xShape,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aParms );
+
+ /** Create primitives from <type>::com::sun::star::drawing::XDrawPage</type>
+
+ @param xDrawPage
+ The XDrawPage, for which the primitives are to be
+ generated. Specifying an invalid or empty page here will
+ result in an empty return value.
+
+ @param aParms
+ Sequence of factory parameters, whose semantics depend on the
+ page to be generated.
+
+ @return a sequence of primitives, that consists of the
+ geometrical representation for the given XDrawPage.
+ */
+ sequence< XPrimitive2D > createPrimitivesFromXDrawPage(
+ [in] ::com::sun::star::drawing::XDrawPage xDrawPage,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aParms );
+
+};
+
+}; }; }; };
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif
+
+// eof
diff --git a/offapi/com/sun/star/graphic/makefile.mk b/offapi/com/sun/star/graphic/makefile.mk
new file mode 100755
index 000000000000..4ee0031ab5db
--- /dev/null
+++ b/offapi/com/sun/star/graphic/makefile.mk
@@ -0,0 +1,62 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+TARGET=cssgraphic
+PACKAGE=com$/sun$/star$/graphic
+
+PRJNAME=offapi
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+#-------------------------------------------------------------------
+
+IDLFILES= \
+ Graphic.idl \
+ GraphicColorMode.idl \
+ GraphicDescriptor.idl \
+ GraphicProvider.idl \
+ GraphicRendererVCL.idl \
+ GraphicType.idl \
+ MediaProperties.idl \
+ XPrimitive2D.idl \
+ XPrimitive3D.idl \
+ XPrimitiveFactory2D.idl \
+ XGraphic.idl \
+ XGraphicProvider.idl \
+ XGraphicRenderer.idl \
+ XGraphicObject.idl \
+ GraphicObject.idl \
+ XGraphicTransformer.idl
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk