Qt5 fixes

This commit is contained in:
Uwe Rathmann 2022-10-07 16:17:52 +02:00
parent f20abaddd2
commit 9d640d3f06
3 changed files with 63 additions and 36 deletions

View File

@ -6,6 +6,31 @@
#include "Gradient.h"
#include <cassert>
Gradient::Gradient( const Gradient& other ) noexcept
: m_stops( other.m_stops )
, m_values{ other.m_values[0], other.m_values[1], other.m_values[2],
other.m_values[3], other.m_values[4], other.m_values[5] }
, m_type( other.m_type )
, m_spread( other.m_spread )
{
}
Gradient& Gradient::operator=( const Gradient& other ) noexcept
{
m_type = other.m_type;
m_spread = other.m_spread;
m_stops = other.m_stops;
m_values[0] = other.m_values[0];
m_values[1] = other.m_values[1];
m_values[2] = other.m_values[2];
m_values[3] = other.m_values[3];
m_values[4] = other.m_values[4];
m_values[5] = other.m_values[5];
return *this;
}
bool Gradient::operator==( const Gradient& other ) const noexcept
{
if ( m_type != other.m_type )
@ -210,12 +235,12 @@ void RadialGradient::setFocalPoint( qreal x, qreal y ) noexcept
m_values[4] = y;
}
constexpr void RadialGradient::setCenterRadius( qreal radius ) noexcept
void RadialGradient::setCenterRadius( qreal radius ) noexcept
{
m_values[2] = radius;
}
constexpr void RadialGradient::setFocalRadius( qreal radius ) noexcept
void RadialGradient::setFocalRadius( qreal radius ) noexcept
{
m_values[5] = radius;
}

View File

@ -22,8 +22,10 @@ class ConicGradient;
class Gradient
{
public:
constexpr Gradient() noexcept = default;
Gradient( const Gradient& ) noexcept = default;
Gradient() noexcept = default;
Gradient( const Gradient& ) noexcept;
Gradient& operator=( const Gradient& ) noexcept;
bool operator==( const Gradient& ) const noexcept;
bool operator!=( const Gradient& ) const noexcept;
@ -60,8 +62,8 @@ class Gradient
friend class RadialGradient;
friend class ConicGradient;
constexpr Gradient( QGradient::Type ) noexcept;
constexpr Gradient( QGradient::Type,
Gradient( QGradient::Type ) noexcept;
Gradient( QGradient::Type,
qreal, qreal, qreal, qreal, qreal, qreal ) noexcept;
QVector< QskGradientStop > m_stops;
@ -80,9 +82,9 @@ class Gradient
class LinearGradient : public Gradient
{
public:
constexpr LinearGradient() noexcept;
constexpr LinearGradient( const QPointF&, const QPointF& ) noexcept;
constexpr LinearGradient( qreal x1, qreal y1, qreal x2, qreal y2 ) noexcept;
LinearGradient() noexcept;
LinearGradient( const QPointF&, const QPointF& ) noexcept;
LinearGradient( qreal x1, qreal y1, qreal x2, qreal y2 ) noexcept;
void setStart(const QPointF& start) noexcept;
void setStart( qreal x, qreal y ) noexcept;
@ -104,15 +106,15 @@ QDebug operator<<( QDebug, const Gradient& );
class RadialGradient : public Gradient
{
public:
constexpr RadialGradient() noexcept;
RadialGradient() noexcept;
constexpr RadialGradient( const QPointF& center, qreal radius ) noexcept;
constexpr RadialGradient( qreal cx, qreal cy, qreal radius ) noexcept;
RadialGradient( const QPointF& center, qreal radius ) noexcept;
RadialGradient( qreal cx, qreal cy, qreal radius ) noexcept;
constexpr RadialGradient( const QPointF& center, qreal centerRadius,
RadialGradient( const QPointF& center, qreal centerRadius,
const QPointF& focalPoint, qreal focalRadius = 0.0 ) noexcept;
constexpr RadialGradient(qreal cx, qreal cy, qreal centerRadius,
RadialGradient(qreal cx, qreal cy, qreal centerRadius,
qreal fx, qreal fy, qreal focalRadius = 0.0 ) noexcept;
constexpr QPointF center() const noexcept;
@ -124,18 +126,18 @@ class RadialGradient : public Gradient
void setFocalPoint( qreal x, qreal y ) noexcept;
constexpr qreal centerRadius() const noexcept;
constexpr void setCenterRadius( qreal radius ) noexcept;
void setCenterRadius( qreal radius ) noexcept;
constexpr qreal focalRadius() const noexcept;
constexpr void setFocalRadius( qreal radius ) noexcept;
void setFocalRadius( qreal radius ) noexcept;
};
class ConicGradient : public Gradient
{
public:
constexpr ConicGradient() noexcept;
constexpr ConicGradient( const QPointF&, qreal degrees ) noexcept;
constexpr ConicGradient( qreal cx, qreal cy, qreal degrees ) noexcept;
ConicGradient() noexcept;
ConicGradient( const QPointF&, qreal degrees ) noexcept;
ConicGradient( qreal cx, qreal cy, qreal degrees ) noexcept;
constexpr QPointF center() const noexcept;
void setCenter(const QPointF& center) noexcept;
@ -145,12 +147,12 @@ class ConicGradient : public Gradient
void setDegrees(qreal ) noexcept;
};
constexpr Gradient::Gradient( QGradient::Type type ) noexcept
inline Gradient::Gradient( QGradient::Type type ) noexcept
: m_type( type )
{
}
constexpr Gradient::Gradient( QGradient::Type type,
inline Gradient::Gradient( QGradient::Type type,
qreal v1, qreal v2, qreal v3,
qreal v4 = 0.0, qreal v5 = 0.0, qreal v6 = 0.0 ) noexcept
: m_values{ v1, v2, v3, v4, v5, v6 }
@ -183,18 +185,18 @@ inline constexpr QGradient::Spread Gradient::spread() const noexcept
return m_spread;
}
inline constexpr LinearGradient::LinearGradient() noexcept
inline LinearGradient::LinearGradient() noexcept
: Gradient( QGradient::LinearGradient, 0.0, 0.0, 1.0, 1.0 )
{
}
inline constexpr LinearGradient::LinearGradient(
inline LinearGradient::LinearGradient(
const QPointF& start, const QPointF& stop ) noexcept
: LinearGradient( start.x(), start.y(), stop.x(), stop.y() )
{
}
inline constexpr LinearGradient::LinearGradient(
inline LinearGradient::LinearGradient(
qreal x1, qreal y1, qreal x2, qreal y2 ) noexcept
: Gradient( QGradient::LinearGradient, x1, y1, x2, y2 )
{
@ -210,12 +212,12 @@ inline constexpr QPointF LinearGradient::stop() const noexcept
return QPointF( m_values[2], m_values[3] );
}
inline constexpr RadialGradient::RadialGradient() noexcept
inline RadialGradient::RadialGradient() noexcept
: Gradient( QGradient::RadialGradient, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 )
{
}
inline constexpr RadialGradient::RadialGradient(
inline RadialGradient::RadialGradient(
const QPointF& center, qreal radius,
const QPointF& focalPoint, qreal focalRadius ) noexcept
: RadialGradient( center.x(), center.y(), radius,
@ -223,19 +225,19 @@ inline constexpr RadialGradient::RadialGradient(
{
}
inline constexpr RadialGradient::RadialGradient(
inline RadialGradient::RadialGradient(
const QPointF& center, qreal radius ) noexcept
: RadialGradient( center.x(), center.y(), radius )
{
}
inline constexpr RadialGradient::RadialGradient(
inline RadialGradient::RadialGradient(
qreal cx, qreal cy, qreal radius ) noexcept
: RadialGradient( cx, cy, radius, cx, cy, 0.0 )
{
}
inline constexpr RadialGradient::RadialGradient(
inline RadialGradient::RadialGradient(
qreal cx, qreal cy, qreal radius,
qreal fx, qreal fy, qreal focalRadius ) noexcept
: Gradient( QGradient::RadialGradient, cx, cy, radius, fx, fy, focalRadius )
@ -262,18 +264,18 @@ inline constexpr qreal RadialGradient::focalRadius() const noexcept
return m_values[5];
}
inline constexpr ConicGradient::ConicGradient() noexcept
inline ConicGradient::ConicGradient() noexcept
: Gradient( QGradient::ConicalGradient, 0.0, 0.0, 0.0 )
{
}
inline constexpr ConicGradient::ConicGradient(
inline ConicGradient::ConicGradient(
const QPointF& center, qreal degrees ) noexcept
: ConicGradient( center.x(), center.y(), degrees )
{
}
inline constexpr ConicGradient::ConicGradient(
inline ConicGradient::ConicGradient(
qreal cx, qreal cy, qreal degrees ) noexcept
: Gradient( QGradient::ConicalGradient, cx, cy, degrees )
{

View File

@ -601,8 +601,8 @@ namespace
auto p = program();
m_centerPointId = p->uniformLocation( "translationPoint" );
m_focalPointId = p->uniformLocation( "focalToCenter" );
m_focalPointId = p->uniformLocation( "translationPoint" );
m_focalToCenterId = p->uniformLocation( "focalToCenter" );
m_centerRadiusId = p->uniformLocation( "centerRadius" );
m_focalRadiusId = p->uniformLocation( "focalRadius" );
}
@ -613,14 +613,14 @@ namespace
auto p = program();
p->setUniformValue( m_centerPointId, material->m_center );
p->setUniformValue( m_focalToCenterId, material->m_focalToCenter );
p->setUniformValue( m_centerRadiusId, material->m_centerRadius);
p->setUniformValue( m_focalRadiusId, material->m_focalRadius);
p->setUniformValue( m_focalPointId, material->m_focalPoint);
}
private:
int m_centerPointId = -1;
int m_focalToCenterId = -1;
int m_focalPointId = -1;
int m_centerRadiusId = -1;
int m_focalRadiusId = -1;