1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski#ifndef com_sun_star_graphic_GraphicDescriptor_idl
25*b1cdbd2cSJim Jagielski#define com_sun_star_graphic_GraphicDescriptor_idl
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski#include <com/sun/star/graphic/GraphicType.idl>
28*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/XPropertySet.idl>
29*b1cdbd2cSJim Jagielski#include <com/sun/star/awt/Size.idl>
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module graphic
32*b1cdbd2cSJim Jagielski{
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski/** This service describes all graphic properties that are available
35*b1cdbd2cSJim Jagielski	via the <type scope="com::sun::star::beans">XPropertySet</type> interface
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski	@see XPropertySet
38*b1cdbd2cSJim Jagielski*/
39*b1cdbd2cSJim Jagielskipublished service GraphicDescriptor
40*b1cdbd2cSJim Jagielski{
41*b1cdbd2cSJim Jagielski    /** The property interface by which the properties of all
42*b1cdbd2cSJim Jagielski        supported services are exchanged
43*b1cdbd2cSJim Jagielski    */
44*b1cdbd2cSJim Jagielski    interface ::com::sun::star::beans::XPropertySet;
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski	/** The type of the graphic
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim Jagielski		@see GraphicType
49*b1cdbd2cSJim Jagielski	*/
50*b1cdbd2cSJim Jagielski	[property] byte GraphicType;
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim Jagielski	/** The MimeType of the loaded graphic
53*b1cdbd2cSJim Jagielski
54*b1cdbd2cSJim Jagielski		<p> The mime can be the original mime type of the graphic
55*b1cdbd2cSJim Jagielski		source the graphic container was constructed from or it
56*b1cdbd2cSJim Jagielski		can be the internal mime type image/x-vclgraphic, in which
57*b1cdbd2cSJim Jagielski		case the original mime type is not available anymore</p>
58*b1cdbd2cSJim Jagielski
59*b1cdbd2cSJim Jagielski		<p> Currently, the following mime types are supported for
60*b1cdbd2cSJim Jagielski		loaded graphics:</p>
61*b1cdbd2cSJim Jagielski		<ul>
62*b1cdbd2cSJim Jagielski			<li>image/bmp</li>
63*b1cdbd2cSJim Jagielski			<li>image/gif</li>
64*b1cdbd2cSJim Jagielski			<li>image/jpeg</li>
65*b1cdbd2cSJim Jagielski			<li>image/x-photo-cd</li>
66*b1cdbd2cSJim Jagielski			<li>image/x-pcx</li>
67*b1cdbd2cSJim Jagielski			<li>image/png</li>
68*b1cdbd2cSJim Jagielski			<li>image/tiff</li>
69*b1cdbd2cSJim Jagielski			<li>image/x-xbitmap</li>
70*b1cdbd2cSJim Jagielski			<li>image/x-xpixmap</li>
71*b1cdbd2cSJim Jagielski			<li>image/x-portable-bitmap</li>
72*b1cdbd2cSJim Jagielski			<li>image/x-portable-graymap</li>
73*b1cdbd2cSJim Jagielski			<li>image/x-portable-pixmap</li>
74*b1cdbd2cSJim Jagielski			<li>image/x-cmu-raster</li>
75*b1cdbd2cSJim Jagielski			<li>image/x-targa</li>
76*b1cdbd2cSJim Jagielski			<li>image/x-photoshop</li>
77*b1cdbd2cSJim Jagielski			<li>image/x-eps</li>
78*b1cdbd2cSJim Jagielski			<li>image/x-dxf</li>
79*b1cdbd2cSJim Jagielski			<li>image/x-met</li>
80*b1cdbd2cSJim Jagielski			<li>image/x-pict</li>
81*b1cdbd2cSJim Jagielski			<li>image/x-sgf</li>
82*b1cdbd2cSJim Jagielski			<li>image/x-svm</li>
83*b1cdbd2cSJim Jagielski			<li>image/x-wmf</li>
84*b1cdbd2cSJim Jagielski			<li>image/x-sgv</li>
85*b1cdbd2cSJim Jagielski			<li>image/x-emf</li>
86*b1cdbd2cSJim Jagielski			<li>image/x-vclgraphic</li>
87*b1cdbd2cSJim Jagielski		</ul>
88*b1cdbd2cSJim Jagielski
89*b1cdbd2cSJim Jagielski	*/
90*b1cdbd2cSJim Jagielski	[property] string MimeType;
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielski	/** The Size of the graphic in pixel.
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski		<p> This property may not be available in case of
95*b1cdbd2cSJim Jagielski		vector graphics or if the pixel size can not be
96*b1cdbd2cSJim Jagielski		determined correctly for some formats without loading
97*b1cdbd2cSJim Jagielski		the whole graphic</p>
98*b1cdbd2cSJim Jagielski	*/
99*b1cdbd2cSJim Jagielski	[optional, property] ::com::sun::star::awt::Size SizePixel;
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim Jagielski	/** The Size of the graphic in 100th mm.
102*b1cdbd2cSJim Jagielski
103*b1cdbd2cSJim Jagielski		<p> This property may not be available in case of
104*b1cdbd2cSJim Jagielski		pixel graphics or if the logical size can not be
105*b1cdbd2cSJim Jagielski		determined correctly for some formats without loading
106*b1cdbd2cSJim Jagielski		the whole graphic</p>
107*b1cdbd2cSJim Jagielski	*/
108*b1cdbd2cSJim Jagielski	[optional, property] ::com::sun::star::awt::Size Size100thMM;
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski	/** The number of bits per pixel used for the pixel graphic
111*b1cdbd2cSJim Jagielski
112*b1cdbd2cSJim Jagielski		<p> This property is not available for vector
113*b1cdbd2cSJim Jagielski		graphics and may not be available for some kinds
114*b1cdbd2cSJim Jagielski		of pixel graphics</p>
115*b1cdbd2cSJim Jagielski	*/
116*b1cdbd2cSJim Jagielski	[optional, property] byte BitsPerPixel;
117*b1cdbd2cSJim Jagielski
118*b1cdbd2cSJim Jagielski	/** Indicates that it is a transparent graphic
119*b1cdbd2cSJim Jagielski
120*b1cdbd2cSJim Jagielski		<p>This property is always <TRUE/> for vector graphics.
121*b1cdbd2cSJim Jagielski		The status of this flag is not always clear if the
122*b1cdbd2cSJim Jagielski		graphic was not loaded at all, e.g. in case of just
123*b1cdbd2cSJim Jagielski		querying for the <type>GraphicDescriptor</type>.</p>
124*b1cdbd2cSJim Jagielski	*/
125*b1cdbd2cSJim Jagielski	[optional, property] boolean Transparent;
126*b1cdbd2cSJim Jagielski
127*b1cdbd2cSJim Jagielski	/** Indicates that it is a pixel graphic with an alpha channel
128*b1cdbd2cSJim Jagielski
129*b1cdbd2cSJim Jagielski		<p>The status of this flag is not always clear if the
130*b1cdbd2cSJim Jagielski		graphic was not loaded at all, e.g. in case of just
131*b1cdbd2cSJim Jagielski		querying for the <type>GraphicDescriptor</type></p>
132*b1cdbd2cSJim Jagielski	*/
133*b1cdbd2cSJim Jagielski	[optional, property] boolean Alpha;
134*b1cdbd2cSJim Jagielski
135*b1cdbd2cSJim Jagielski	/** Indicates that it is a graphic that consists of several
136*b1cdbd2cSJim Jagielski		frames that can be played as an animation
137*b1cdbd2cSJim Jagielski
138*b1cdbd2cSJim Jagielski		<p>The status of this flag is not always clear if the
139*b1cdbd2cSJim Jagielski		graphic was not loaded at all, e.g. in case of just
140*b1cdbd2cSJim Jagielski		querying for the <type>GraphicDescriptor</type></p>
141*b1cdbd2cSJim Jagielski	*/
142*b1cdbd2cSJim Jagielski	[optional, property] boolean Animated;
143*b1cdbd2cSJim Jagielski};
144*b1cdbd2cSJim Jagielski
145*b1cdbd2cSJim Jagielski} ; } ; } ; } ;
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim Jagielski#endif
148