show OverlayRegion when FormActivated
[platform/framework/native/uifw.git] / inc / FUiEffectsIEffectResourceProvider.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18  * @file        FUiEffectsIEffectResourceProvider.h
19  * @brief       This is the header file for the %IEffectResourceProvider interface.
20  *
21  * This header file contains the declarations of the %IEffectResourceProvider interface.
22  */
23
24 #ifndef _FUI_EFFECTS_IEFFECT_RESOURCE_PROVIDER_H_
25 #define _FUI_EFFECTS_IEFFECT_RESOURCE_PROVIDER_H_
26
27 namespace Tizen { namespace Ui { namespace Effects
28 {
29
30 class Effect;
31
32 /**
33  * @interface  IEffectResourceProvider
34  * @brief This interface implements the listener for events on %Effect to provide the effects with resources.
35  *
36  * @since 2.0
37  *
38  * The %IEffectResourceProvider interface provides methods for notifying applications about the resources needed by the effects.
39  * Applications have to provide the effects with appropriate resources.
40  */
41 class _OSP_EXPORT_ IEffectResourceProvider
42 {
43 public:
44         /**
45          * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
46          *
47          * @since 2.0
48          */
49         virtual ~IEffectResourceProvider(void) { }
50
51         /**
52          * Called when the effect requires an image that is specified by its ID.
53          *
54          * @since 2.0
55          *
56          * @return                      An error code
57          * @param [in,out]      effect                   The effect that needs a bitmap.
58          * @param [in]          bitmapId                 The bitmap ID needed.
59          * @remarks In general, EffectManager::SetBitmap should be used to provide this instance with a bitmap in this callback.
60          * @see  Effect::SetBitmap()
61          */
62         virtual result SetBitmap(Effect& effect, long bitmapId) = 0;
63
64 protected:
65         //
66         // This method is for internal use only. Using this method can cause behavioral, security-related,
67         // and consistency-related issues in the application.
68         //
69         //
70         // This method is reserved and may change its name at any time without prior notice.
71         //
72         // @since 2.0
73         //
74         virtual void IEffectResourceProvider_Reserved1(void) {}
75
76         //
77         // This method is for internal use only. Using this method can cause behavioral, security-related,
78         // and consistency-related issues in the application.
79         //
80         //
81         // This method is reserved and may change its name at any time without prior notice.
82         //
83         // @since 2.0
84         //
85         virtual void IEffectResourceProvider_Reserved2(void) {}
86
87         //
88         // This method is for internal use only. Using this method can cause behavioral, security-related,
89         // and consistency-related issues in the application.
90         //
91         //
92         // This method is reserved and may change its name at any time without prior notice.
93         //
94         // @since 2.0
95         //
96         virtual void IEffectResourceProvider_Reserved3(void) {}
97
98         //
99         // This method is for internal use only. Using this method can cause behavioral, security-related,
100         // and consistency-related issues in the application.
101         //
102         //
103         // This method is reserved and may change its name at any time without prior notice.
104         //
105         // @since 2.0
106         //
107         virtual void IEffectResourceProvider_Reserved4(void) {}
108
109         //
110         // This method is for internal use only. Using this method can cause behavioral, security-related,
111         // and consistency-related issues in the application.
112         //
113         //
114         // This method is reserved and may change its name at any time without prior notice.
115         //
116         // @since 2.0
117         //
118         virtual void IEffectResourceProvider_Reserved5(void) {}
119 }; // IEffectResourceProvider
120
121 }}} // Tizen::Ui::Effects
122
123 #endif // _FUI_EFFECTS_IEFFECT_RESOURCE_PROVIDER_H_
124