Merge remote-tracking branch 'origin/master' into Font-Update

Former-commit-id: ae0244334123a3442c7675df80b1a501a6837257
This commit is contained in:
Lynix
2014-12-17 14:00:20 +01:00
28 changed files with 652 additions and 64 deletions

View File

@@ -3,6 +3,7 @@
// For conditions of distribution and use, see copyright notice in Config.hpp
#include <Nazara/Core/StringStream.hpp>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <stdexcept>
@@ -235,7 +236,7 @@ inline void NzColor::ToCMYK(const NzColor& color, float* cyan, float* magenta, f
float c, m, y;
ToCMY(color, &c, &m, &y);
float k = std::min(std::min(std::min(1.f, c), m), y);
float k = std::min({1.f, c, m, y});
if (NzNumberEquals(k, 1.f))
{
@@ -260,8 +261,8 @@ inline void NzColor::ToHSL(const NzColor& color, nzUInt8* hue, nzUInt8* saturati
float g = color.g / 255.f;
float b = color.b / 255.f;
float min = std::min(std::min(r, g), b); // Min. value of RGB
float max = std::max(std::max(r, g), b); // Max. value of RGB
float min = std::min({r, g, b}); // Min. value of RGB
float max = std::max({r, g, b}); // Max. value of RGB
float deltaMax = max - min; //Delta RGB value

View File

@@ -21,32 +21,34 @@ class NzSparsePtr
NzSparsePtr();
NzSparsePtr(T* ptr);
NzSparsePtr(VoidPtr ptr, unsigned int stride);
NzSparsePtr(VoidPtr ptr, int stride);
template<typename U> NzSparsePtr(const NzSparsePtr<U>& ptr);
NzSparsePtr(const NzSparsePtr& ptr) = default;
~NzSparsePtr() = default;
VoidPtr GetPtr() const;
unsigned int GetStride() const;
int GetStride() const;
void Reset();
void Reset(T* ptr);
void Reset(VoidPtr ptr, unsigned int stride);
void Reset(VoidPtr ptr, int stride);
void Reset(const NzSparsePtr& ptr);
template<typename U> void Reset(const NzSparsePtr<U>& ptr);
void SetPtr(VoidPtr ptr);
void SetStride(unsigned int stride);
void SetStride(int stride);
operator bool() const;
operator T*() const;
T& operator*() const;
T& operator->() const;
T& operator[](unsigned int index) const;
T& operator[](int index) const;
NzSparsePtr operator+(unsigned int count) const;
NzSparsePtr operator-(unsigned int count) const;
NzSparsePtr operator+(int count) const;
NzSparsePtr operator-(int count) const;
NzSparsePtr& operator+=(unsigned int count);
NzSparsePtr& operator-=(unsigned int count);
NzSparsePtr& operator+=(int count);
NzSparsePtr& operator-=(int count);
NzSparsePtr& operator++();
NzSparsePtr operator++(int);
@@ -65,7 +67,7 @@ class NzSparsePtr
private:
BytePtr m_ptr;
unsigned int m_stride;
int m_stride;
};
#include <Nazara/Core/SparsePtr.inl>

View File

@@ -17,11 +17,18 @@ NzSparsePtr<T>::NzSparsePtr(T* ptr)
}
template<typename T>
NzSparsePtr<T>::NzSparsePtr(VoidPtr ptr, unsigned int stride)
NzSparsePtr<T>::NzSparsePtr(VoidPtr ptr, int stride)
{
Reset(ptr, stride);
}
template<typename T>
template<typename U>
NzSparsePtr<T>::NzSparsePtr(const NzSparsePtr<U>& ptr)
{
Reset(ptr);
}
template<typename T>
typename NzSparsePtr<T>::VoidPtr NzSparsePtr<T>::GetPtr() const
{
@@ -29,7 +36,7 @@ typename NzSparsePtr<T>::VoidPtr NzSparsePtr<T>::GetPtr() const
}
template<typename T>
unsigned int NzSparsePtr<T>::GetStride() const
int NzSparsePtr<T>::GetStride() const
{
return m_stride;
}
@@ -49,7 +56,7 @@ void NzSparsePtr<T>::Reset(T* ptr)
}
template<typename T>
void NzSparsePtr<T>::Reset(VoidPtr ptr, unsigned int stride)
void NzSparsePtr<T>::Reset(VoidPtr ptr, int stride)
{
SetPtr(ptr);
SetStride(stride);
@@ -62,6 +69,16 @@ void NzSparsePtr<T>::Reset(const NzSparsePtr& ptr)
SetStride(ptr.GetStride());
}
template<typename T>
template<typename U>
void NzSparsePtr<T>::Reset(const NzSparsePtr<U>& ptr)
{
static_assert(std::is_convertible<U*, T*>::value, "Source type pointer cannot be implicitely converted to target type pointer");
SetPtr(static_cast<T*>(ptr.GetPtr()));
SetStride(ptr.GetStride());
}
template<typename T>
void NzSparsePtr<T>::SetPtr(VoidPtr ptr)
{
@@ -69,7 +86,7 @@ void NzSparsePtr<T>::SetPtr(VoidPtr ptr)
}
template<typename T>
void NzSparsePtr<T>::SetStride(unsigned int stride)
void NzSparsePtr<T>::SetStride(int stride)
{
m_stride = stride;
}
@@ -99,34 +116,36 @@ T& NzSparsePtr<T>::operator->() const
}
template<typename T>
T& NzSparsePtr<T>::operator[](unsigned int index) const
T& NzSparsePtr<T>::operator[](int index) const
{
return *reinterpret_cast<T*>(m_ptr + index*m_stride);
}
template<typename T>
NzSparsePtr<T> NzSparsePtr<T>::operator+(unsigned int count) const
NzSparsePtr<T> NzSparsePtr<T>::operator+(int count) const
{
return NzSparsePtr(m_ptr + count*m_stride, m_stride);
}
template<typename T>
NzSparsePtr<T> NzSparsePtr<T>::operator-(unsigned int count) const
NzSparsePtr<T> NzSparsePtr<T>::operator-(int count) const
{
return NzSparsePtr(m_ptr - count*m_stride, m_stride);
}
template<typename T>
NzSparsePtr<T>& NzSparsePtr<T>::operator+=(unsigned int count)
NzSparsePtr<T>& NzSparsePtr<T>::operator+=(int count)
{
m_ptr += count*m_stride;
return *this;
}
template<typename T>
NzSparsePtr<T>& NzSparsePtr<T>::operator-=(unsigned int count)
NzSparsePtr<T>& NzSparsePtr<T>::operator-=(int count)
{
m_ptr -= count*m_stride;
return *this;
}
@@ -134,6 +153,7 @@ template<typename T>
NzSparsePtr<T>& NzSparsePtr<T>::operator++()
{
m_ptr += m_stride;
return *this;
}