X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Frenderers%2Frender-texture.h;h=771fca072acc8cdd1f26ee8dc64aac114580284c;hb=21bce453b5df47f6a307410c89dd4d5c17790a2f;hp=2833a4d2c7147351394d03e132298b3b15282db1;hpb=9bd1e7c8beed5e94d9b2e552e315ec7caf7718db;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/renderers/render-texture.h b/dali/internal/render/renderers/render-texture.h old mode 100644 new mode 100755 index 2833a4d..771fca0 --- a/dali/internal/render/renderers/render-texture.h +++ b/dali/internal/render/renderers/render-texture.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_RENDER_TEXTURE_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +21,13 @@ #include // INTERNAL INCLUDES +#include // Dali::ImageDimensions #include #include #include #include #include #include -#include namespace Dali { @@ -37,95 +37,37 @@ namespace Render { struct Sampler; -/** - * This class is the mapping between texture id, sampler and sampler uniform name - */ class Texture { public: - /** - * Constructor - */ - Texture() - : mSampler( 0 ), - mTextureId( Integration::InvalidResourceId ) - {} - - /** - * Constructor - */ - Texture( Integration::ResourceId textureId, Render::Sampler* sampler ) - : mSampler( sampler ), - mTextureId( textureId) - {} - - /** - * Destructor - */ - ~Texture() - {} - - /* - * Get the Render::Sampler used by the texture - * @Return The Render::Sampler being used or 0 if using the default - */ - inline const Render::Sampler* GetSampler() const - { - return mSampler; - } - -public: // called from RenderThread - - /** - * Get the texture ID - * @return the id of the associated texture - */ - inline Integration::ResourceId GetTextureId() const - { - return mTextureId; - } - -private: - - Render::Sampler* mSampler; - Integration::ResourceId mTextureId; -}; - - -//TODO : Remove the old Render::Texture class (see above) once it is no longer needed by Image -class NewTexture -{ -public: - typedef Dali::TextureType::Type Type; /** * Constructor * @param[in] type The type of the texture * @param[in] format The format of the pixel data - * @param[in] width The width of the texture - * @param[in] height The height of the texture + * @param[in] size The size of the texture */ - NewTexture( Type type, Pixel::Format format, unsigned int width, unsigned int height ); + Texture( Type type, Pixel::Format format, ImageDimensions size ); /** * Constructor from native image * @param[in] nativeImageInterface The native image */ - NewTexture( NativeImageInterfacePtr nativeImageInterface ); + Texture( NativeImageInterfacePtr nativeImageInterface ); /** * Destructor */ - ~NewTexture(); + ~Texture(); /** * Creates the texture in the GPU. * Creates the texture and reserves memory for the first mipmap level * @param[in] context The GL context */ - void Initialize(Context& context); + void Initialize( Context& context ); /** * Deletes the texture from the GPU @@ -144,7 +86,7 @@ public: * @param[in] pixelData A pixel data object * @param[in] params Upload parameters. See UploadParams */ - void Upload( Context& context, PixelDataPtr pixelData, const Internal::NewTexture::UploadParams& params ); + void Upload( Context& context, PixelDataPtr pixelData, const Internal::Texture::UploadParams& params ); /** * Bind the texture to the given texture unit and applies the given sampler @@ -177,30 +119,21 @@ public: } /** - * Get the width of the texture - * @return Width of the texture - */ - unsigned int GetWidth() const - { - return mWidth; - } - - /** - * Get the height of the texture - * @return Height of the texture + * Get the type of the texture + * @return Type of the texture */ - unsigned int GetHeight() const + Type GetType() const { - return mHeight; + return mType; } /** - * Get the type of the texture - * @return Type of the texture + * Check if the texture is a native image + * @return if the texture is a native image */ - Type GetType() const + bool IsNativeImage() const { - return mType; + return mNativeImage; } private: @@ -212,17 +145,20 @@ private: */ void ApplySampler( Context& context, Render::Sampler* sampler ); + NativeImageInterfacePtr mNativeImage; ///< Pointer to native image + Render::Sampler mSampler; ///< The current sampler state GLuint mId; ///< Id of the texture GLuint mTarget; ///< Specifies the target to which the texture is bound. - Type mType; ///< Type of the texture - Render::Sampler mSampler; ///< The current sampler state - NativeImageInterfacePtr mNativeImage; ///< Pointer to native image - GLenum mInternalFormat; ///< The format of the pixel data + GLint mGlInternalFormat; ///< The gl internal format of the pixel data + GLenum mGlFormat; ///< The gl format of the pixel data GLenum mPixelDataType; ///< The data type of the pixel data - unsigned int mWidth; ///< Widht of the texture - unsigned int mHeight; ///< Height of the texture + uint16_t mWidth; ///< Width of the texture + uint16_t mHeight; ///< Height of the texture + uint16_t mMaxMipMapLevel; ///< Maximum mipmap level + Type mType:3; ///< Type of the texture bool mHasAlpha : 1; ///< Whether the format has an alpha channel bool mIsCompressed : 1; ///< Whether the format is compressed + };