1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef com_sun_star_graphic_MediaProperties_idl
25#define com_sun_star_graphic_MediaProperties_idl
26
27#include <com/sun/star/beans/PropertyValues.idl>
28#include <com/sun/star/io/XInputStream.idl>
29#include <com/sun/star/io/XStream.idl>
30
31module com { module sun { module star { module graphic
32{
33
34/** This service describes the properties that are used
35	when using the <type>XGraphicProvider</type> interface methods
36*/
37published service MediaProperties
38{
39	/** Property that describes the location of the source or target
40		of the graphic as URL.
41
42		<p>A URL can be used instead of the
43		<member>InputStream</member> or <member>OutputStream</member>
44		property</p>
45
46		<p>In addition to the normal protocols like file:// or http://
47		you can use private URL's as follows to get access to graphics
48		lying inside the resource system within an Office context:
49
50		<ul>
51			<li>private:resource/projectshortname/bitmap/12345</li>
52			<li>private:resource/projectshortname/bitmapex/12345</li>
53			<li>private:resource/projectshortname/image/12345</li>
54			<li>private:resource/projectshortname/imagelist/12345</li>
55			<li>private:resource/projectshortname/imagelist/12345/12</li>
56		</ul>
57And additionally, GraphicObject scheme url's like
58            <ul> <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li> </ul>
59              can be used to access graphics held by the GraphicCache implementation.
60        </p>
61
62        <p>Yet more, you can access graphics in the application-wide image
63        repository by specifying URLs of the form
64        <code>private:graphicrepository/<em>&lt;path_in_repository&gt;</em></code>.
65</p>
66	*/
67	[optional, property ] string URL;
68
69	/** This property is only used for loading graphics or querying
70		graphic descriptors
71
72		<p>A <member>InputStream</member> can be used instead of the
73		<member>URL</member> property</p>
74
75		@see com::sun::star::io::XInputStream
76	*/
77	[optional, property ] ::com::sun::star::io::XInputStream InputStream;
78
79	/** This property is only used for storing graphics
80
81		<p>A <member>OutputStream</member> can be used instead of the
82		<member>URL</member> property</p>
83
84		@see com::sun::star::io::XStream
85	*/
86	[optional, property ] ::com::sun::star::io::XStream OutputStream;
87
88	/** This property is only used for storing graphics and describes the
89		format into which the graphic is to be converted
90
91		<p>At the moment, the following mime types are supported for storing
92		graphics:</p>
93
94		<ul>
95			<li>image/bmp</li>
96			<li>image/gif</li>
97			<li>image/jpeg</li>
98			<li>image/png</li>
99			<li>image/tiff</li>
100			<li>image/svg+xml</li>
101			<li>image/x-cmu-raster</li>
102			<li>image/x-emf</li>
103			<li>image/x-eps</li>
104			<li>image/x-met</li>
105			<li>image/x-pict</li>
106			<li>image/x-portable-bitmap</li>
107			<li>image/x-portable-pixmap</li>
108			<li>image/x-wmf</li>
109			<li>image/x-svm</li>
110			<li>image/x-xpixmap</li>
111			<li>image/x-vclgraphic</li>
112		</ul>
113	*/
114	[optional, property ] string MimeType;
115
116	/** Additional properties that will be passed to the
117	appropriate filter module.
118	*/
119    [optional, property] ::com::sun::star::beans::PropertyValues FilterData;
120};
121
122} ; } ; } ; } ;
123
124#endif
125