-#ifndef __DALI_INTERNAL_SCENE_GRAPH_NODE_DATA_PROVIDER_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_NODE_DATA_PROVIDER_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_NODE_DATA_PROVIDER_H
+#define DALI_INTERNAL_SCENE_GRAPH_NODE_DATA_PROVIDER_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
*
*/
+#include <dali/internal/render/data-providers/uniform-map-data-provider.h>
+
namespace Dali
{
struct Vector4;
/**
* An interface to provide data for a Renderer
*/
-class NodeDataProvider
+class NodeDataProvider : UniformMapDataProvider
{
public:
/**
* Constructor. Nothing to do as a pure interface.
*/
- NodeDataProvider() { }
+ NodeDataProvider() = default;
/**
- * @param bufferId to use
+ * @param bufferIndex to use
* @return a reference to the model matrix
*/
- virtual const Matrix& GetModelMatrix( unsigned int bufferId ) = 0;
+ virtual const Matrix& GetModelMatrix( BufferIndex bufferIndex ) const = 0;
/**
- * @param bufferId to use
+ * @param bufferIndex to use
* @return a reference to the color
*/
- virtual const Vector4& GetRenderColor( unsigned int bufferId ) = 0;
+ virtual const Vector4& GetRenderColor( BufferIndex bufferIndex ) const = 0;
+
+ /**
+ * @copydoc Dali::Internal::SceneGraph::UniformMapDataProvider::GetUniformMapChanged()
+ */
+ bool GetUniformMapChanged( BufferIndex bufferIndex ) const override = 0;
/**
- * @param[in] bufferIndex The buffer index to use
- * @return the actor size
+ * @copydoc Dali::Internal::SceneGraph::UniformMapDataProvider::GetUniformMap()
*/
- virtual const Vector3& GetRenderSize( unsigned int bufferIndex ) = 0;
+ const CollectedUniformMap& GetUniformMap( BufferIndex bufferIndex ) const override = 0;
protected:
/**
* Virtual destructor, this is an interface, no deletion through this interface
*/
- virtual ~NodeDataProvider() { }
+ ~NodeDataProvider() override = default;
};
} // SceneGraph
} // Internal
} // Dali
-#endif // __DALI_INTERNAL_SCENE_GRAPH_NODE_DATA_PROVIDER_H__
+#endif // DALI_INTERNAL_SCENE_GRAPH_NODE_DATA_PROVIDER_H