Branch libreoffice-5-0-4
[LibreOffice.git] / include / svtools / imageresourceaccess.hxx
blobfbfbeb0bdc429f3bedda99eeb8184cd276a594c5
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SVTOOLS_IMAGERESOURCEACCESS_HXX
21 #define INCLUDED_SVTOOLS_IMAGERESOURCEACCESS_HXX
23 #include <svtools/svtdllapi.h>
25 #include <com/sun/star/io/XInputStream.hpp>
26 #include <com/sun/star/uno/XComponentContext.hpp>
28 class SvStream;
30 namespace svt
35 //= GraphicAccess
37 /** helper class for obtaining streams (which also can be used with the ImageProducer)
38 from a resource
40 namespace GraphicAccess
42 /** determines whether the given URL denotes an image within a resource
43 ( or an image specified by a vnd.sun.star.GraphicObject scheme URL )
45 SVT_DLLPUBLIC bool isSupportedURL( const OUString& _rURL );
47 /** for a given URL of an image within a resource ( or an image specified by a vnd.sun.star.GraphicObject scheme URL ), this method retrieves
48 an SvStream for this image.
50 This method works for arbitrary URLs denoting an image, since the
51 com::sun::star::graphics::GraphicsProvider service is used
52 to resolve the URL. However, obtaining the stream is expensive (since
53 the image must be copied), so you are strongly encouraged to only use it
54 when you know that the image is small enough.
56 SVT_DLLPUBLIC SvStream* getImageStream(
57 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext,
58 const OUString& _rImageResourceURL
61 /** for a given URL of an image within a resource ( or an image specified by a vnd.sun.star.GraphicObject scheme URL ), this method retrieves
62 an com::sun::star::io::XInputStream for this image.
64 SVT_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >
65 getImageXStream(
66 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext,
67 const OUString& _rImageResourceURL
72 } // namespace svt
75 #endif // DBA14_ INCLUDED_SVTOOLS_IMAGERESOURCEACCESS_HXX
77 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */