1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef com_sun_star_graphic_MediaProperties_idl
29#define com_sun_star_graphic_MediaProperties_idl
30
31#include <com/sun/star/beans/PropertyValues.idl>
32#include <com/sun/star/io/XInputStream.idl>
33#include <com/sun/star/io/XStream.idl>
34
35module com { module sun { module star { module graphic
36{
37
38/** This service describes the properties that are used
39	when using the <type>XGraphicProvider</type> interface methods
40*/
41published service MediaProperties
42{
43	/** Property that describes the location of the source or target
44		of the graphic as URL.
45
46		<p>A URL can be used instead of the
47		<member>InputStream</member> or <member>OutputStream</member>
48		property</p>
49
50		<p>In addition to the normal protocols like file:// or http://
51		you can use private URL's as follows to get access to graphics
52		lying inside the resource system within an Office context:
53
54		<ul>
55			<li>private:resource/projectshortname/bitmap/12345</li>
56			<li>private:resource/projectshortname/bitmapex/12345</li>
57			<li>private:resource/projectshortname/image/12345</li>
58			<li>private:resource/projectshortname/imagelist/12345</li>
59			<li>private:resource/projectshortname/imagelist/12345/12</li>
60		</ul>
61And additionally, GraphicObject scheme url's like
62            <ul> <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li> </ul>
63              can be used to access graphics held by the GraphicCache implementation.
64        </p>
65
66        <p>Yet more, you can access graphics in the application-wide image
67        repository by specifying URLs of the form
68        <code>private:graphicrepository/<em>&lt;path_in_repository&gt;</em></code>.
69</p>
70	*/
71	[optional, property ] string URL;
72
73	/** This property is only used for loading graphics or querying
74		graphic descriptors
75
76		<p>A <member>InputStream</member> can be used instead of the
77		<member>URL</member> property</p>
78
79		@see com::sun::star::io::XInputStream
80	*/
81	[optional, property ] ::com::sun::star::io::XInputStream InputStream;
82
83	/** This property is only used for storing graphics
84
85		<p>A <member>OutputStream</member> can be used instead of the
86		<member>URL</member> property</p>
87
88		@see com::sun::star::io::XStream
89	*/
90	[optional, property ] ::com::sun::star::io::XStream OutputStream;
91
92	/** This property is only used for storing graphics and describes the
93		format into which the graphic is to be converted
94
95		<p>At the moment, the following mime types are supported for storing
96		graphics:</p>
97
98		<ul>
99			<li>image/bmp</li>
100			<li>image/gif</li>
101			<li>image/jpeg</li>
102			<li>image/png</li>
103			<li>image/tiff</li>
104			<li>image/svg+xml</li>
105			<li>image/x-cmu-raster</li>
106			<li>image/x-emf</li>
107			<li>image/x-eps</li>
108			<li>image/x-met</li>
109			<li>image/x-pict</li>
110			<li>image/x-portable-bitmap</li>
111			<li>image/x-portable-pixmap</li>
112			<li>image/x-wmf</li>
113			<li>image/x-svm</li>
114			<li>image/x-xpixmap</li>
115			<li>image/x-vclgraphic</li>
116		</ul>
117	*/
118	[optional, property ] string MimeType;
119
120	/** Additional properties that will be passed to the
121	appropriate filter module.
122	*/
123    [optional, property] ::com::sun::star::beans::PropertyValues FilterData;
124};
125
126} ; } ; } ; } ;
127
128#endif
129