Merge branch 'devel/master' into tizen
[platform/core/uifw/dali-core.git] / dali / internal / render / renderers / render-sampler.h
index d5c94ba..c5040ae 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_RENDER_SAMPLER_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -18,8 +18,7 @@
  */
 
 #include <dali/public-api/actors/sampling.h>
-#include <dali/devel-api/rendering/sampler.h>
-#include <dali/internal/render/renderers/render-sampler.h>
+#include <dali/public-api/rendering/sampler.h>
 
 namespace Dali
 {
@@ -27,9 +26,10 @@ namespace Internal
 {
 namespace Render
 {
-class Sampler
+
+struct Sampler
 {
-public:
+
   typedef Dali::FilterMode::Type FilterMode;
   typedef Dali::WrapMode::Type   WrapMode;
 
@@ -37,89 +37,44 @@ public:
    * Constructor
    */
   Sampler()
-  : mMinFilter( Dali::FilterMode::DEFAULT),
-    mMagFilter( Dali::FilterMode::DEFAULT ),
-    mUWrapMode( Dali::WrapMode::DEFAULT ),
-    mVWrapMode( Dali::WrapMode::DEFAULT )
+  :mMinificationFilter(FilterMode::DEFAULT),
+   mMagnificationFilter(FilterMode::DEFAULT),
+   mSWrapMode(WrapMode::DEFAULT),
+   mTWrapMode(WrapMode::DEFAULT),
+   mRWrapMode(WrapMode::DEFAULT)
   {}
 
   /**
    * Destructor
    */
-  virtual ~Sampler(){}
-
-  /**
-   * Set the filter modes for minify and magnify filters
-   * @param[in] bufferIndex The buffer index to use
-   * @param[in] minFilter The minify filter
-   * @param[in] magFilter The magnify filter
-   */
-  void SetFilterMode(FilterMode minFilter, FilterMode magFilter )
-  {
-    mMinFilter = minFilter;
-    mMagFilter = magFilter;
-  }
-
-  /**
-   * @param[in] bufferIndex The buffer index to use
-   */
-  void SetWrapMode(WrapMode uWrap, WrapMode vWrap )
-  {
-    mUWrapMode = uWrap;
-    mVWrapMode = vWrap;
-  }
-
-public:
-
-  /**
-   * Get the filter mode
-   * @return The minify filter mode
-   */
-  virtual FilterMode GetMinifyFilterMode() const
-  {
-    return mMinFilter;
-  }
-
-  /**
-   * Get the filter mode
-   * @return The magnify filter mode
-   */
-  virtual FilterMode GetMagnifyFilterMode() const
-  {
-    return mMagFilter;
-  }
+  ~Sampler()
+  {}
 
-  /**
-   * Get the horizontal wrap mode
-   * @return The horizontal wrap mode
-   */
-  virtual WrapMode GetUWrapMode() const
+  bool operator==(const Sampler& rhs) const
   {
-    return mUWrapMode;
+    return ( ( mMinificationFilter == rhs.mMinificationFilter ) &&
+             ( mMagnificationFilter == rhs.mMagnificationFilter ) &&
+             ( mSWrapMode == rhs.mSWrapMode ) &&
+             ( mTWrapMode == rhs.mTWrapMode ) &&
+             ( mRWrapMode == rhs.mRWrapMode ) );
   }
 
-  /**
-   * Get the vertical wrap mode
-   * @return The vertical wrap mode
-   */
-  virtual WrapMode GetVWrapMode() const
+  bool operator!=(const Sampler& rhs) const
   {
-    return mVWrapMode;
+    return !(*this == rhs);
   }
 
-private:
-
-  FilterMode  mMinFilter;    ///< The minify filter
-  FilterMode  mMagFilter;    ///< The magnify filter
-  WrapMode  mUWrapMode;    ///< The horizontal wrap mode
-  WrapMode  mVWrapMode;    ///< The vertical wrap mode
+  FilterMode  mMinificationFilter   : 4;    ///< The minify filter
+  FilterMode  mMagnificationFilter  : 4;    ///< The magnify filter
+  WrapMode    mSWrapMode            : 4;    ///< The horizontal wrap mode
+  WrapMode    mTWrapMode            : 4;    ///< The vertical wrap mode
+  WrapMode    mRWrapMode            : 4;    ///< The vertical wrap mode
 };
 
 } // namespace Render
 
-
-
 } // namespace Internal
+
 } // namespace Dali