Ocean
WIC.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_MEDIA_WIC_WIC_H
9 #define META_OCEAN_MEDIA_WIC_WIC_H
10 
11 #include "ocean/media/Media.h"
12 
13 #ifndef _WINDOWS
14  #error This library is available on windows platforms only!
15 #endif // _WINDOWS
16 
17 
18 namespace Ocean
19 {
20 
21 namespace Media
22 {
23 
24 namespace WIC
25 {
26 
27 /**
28  * @ingroup media
29  * @defgroup mediawic Ocean Media Windows Imaging Component (WIC) Library
30  * @{
31  * The Ocean Media WIC Library provides media functionalities based on the Microsoft's Windows Imaging Component.
32  * The library is available on Windows platforms.
33  * @}
34  */
35 
36 /**
37  * @namespace Ocean::Media::WIC Namespace of the Media WIC library.<p>
38  * The Namespace Ocean::Media::WIC is used in the entire Ocean Media WIC Library.
39  */
40 
41 // Defines OCEAN_MEDIA_WIC_EXPORT for dll export and import.
42 #if defined(_WINDOWS) && defined(OCEAN_RUNTIME_SHARED)
43  #ifdef USE_OCEAN_MEDIA_WIC_EXPORT
44  #define OCEAN_MEDIA_WIC_EXPORT __declspec(dllexport)
45  #else
46  #define OCEAN_MEDIA_WIC_EXPORT __declspec(dllimport)
47  #endif
48 #else
49  #define OCEAN_MEDIA_WIC_EXPORT
50 #endif
51 
52 /**
53  * Returns the name of this media WIC library.
54  * @ingroup mediawic
55  */
56 OCEAN_MEDIA_WIC_EXPORT std::string nameWICLibrary();
57 
58 #if defined(OCEAN_RUNTIME_STATIC) || defined(_ANDROID)
59 
60 /**
61  * Registers this media library at the global library manager.
62  * This function calls WICLibrary::registerLibrary() only.
63  * @ingroup mediawic
64  */
66 
67 /**
68  * Unregisters this media library at the global library manager.
69  * This function calls WICLibrary::unregisterLibrary() only.
70  * @return True, if succeeded
71  * @ingroup mediawic
72  */
74 
75 #endif // OCEAN_RUNTIME_STATIC
76 
77 } // namespace WIC
78 
79 } // namespace Media
80 
81 } // namespace Ocean
82 
83 #endif // META_OCEAN_MEDIA_WIC_WIC_H
bool unregisterWICLibrary()
Unregisters this media library at the global library manager.
OCEAN_MEDIA_WIC_EXPORT std::string nameWICLibrary()
Returns the name of this media WIC library.
void registerWICLibrary()
Registers this media library at the global library manager.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15