Removed legacy resource tracking / logging
[platform/core/uifw/dali-core.git] / dali / internal / render / gl-resources / native-frame-buffer-texture.h
1 #ifndef __DALI_INTERNAL_FRAME_BUFFER_NATIVE_IMAGE_TEXTURE_H__
2 #define __DALI_INTERNAL_FRAME_BUFFER_NATIVE_IMAGE_TEXTURE_H__
3
4 //
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 //
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //     http://floralicense.org/license/
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19
20 // EXTERNAL INCLUDES
21 #include <string>
22
23 // INTERNAL INCLUDES
24 #include <dali/internal/render/gl-resources/texture.h>
25 #include <dali/internal/render/gl-resources/frame-buffer-texture.h>
26 #include <dali/integration-api/bitmap.h>
27 #include <dali/integration-api/debug.h>
28
29 namespace Dali
30 {
31
32 namespace Internal
33 {
34
35 /**
36  * Frame Buffer Texture created from NativeImage.
37  * Used as a frame buffer for RenderTask
38  */
39 class NativeFrameBufferTexture : public FrameBufferTexture
40 {
41 public:
42   /**
43    * Creates a new texture object
44    * @param[in] nativeImage The NativeImage
45    * @param     context The GL context
46    */
47   NativeFrameBufferTexture( NativeImagePtr nativeImage, Context& context);
48
49   /**
50    * Destructor.
51    */
52   virtual ~NativeFrameBufferTexture();
53
54   /**
55    * @copydoc Texture::IsFullyOpaque
56    */
57   virtual bool IsFullyOpaque() const;
58
59   /**
60    * @copydoc Texture::HasAlphaChannel
61    */
62   virtual bool HasAlphaChannel() const;
63
64   /**
65    * @copydoc Texture::Init
66    */
67   virtual bool Init();
68
69 protected:
70   /**
71    * @copydoc Texture::CreateGlTexture
72    */
73   virtual bool CreateGlTexture();
74
75   /**
76    * @copydoc Texture::GlCleanup
77    */
78   virtual void GlCleanup();
79
80 private:
81   NativeImagePtr mNativeImage; ///< reference to NativeImage the Texture was created from
82
83 }; // class NativeFrameBufferTexture
84
85 }  //namespace Internal
86
87 } //namespace Dali
88
89 #endif // header
90