Skip to content

Commit

Permalink
refactor: simpler gradient render task declarations (synfig#3301)
Browse files Browse the repository at this point in the history
and add proper SYNFIG_EXPORT for MSVC builds
  • Loading branch information
rodolforg authored Oct 22, 2024
1 parent bd2bf9f commit 46013ff
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 36 deletions.
15 changes: 6 additions & 9 deletions synfig-core/src/modules/mod_gradient/conicalgradient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,30 +58,27 @@ SYNFIG_LAYER_SET_VERSION(ConicalGradient,"0.2");

/* === M E T H O D S ======================================================= */

class TaskConicalGradient: public rendering::Task, public rendering::TaskInterfaceTransformation
class TaskConicalGradient: public rendering::Task
{
public:
typedef etl::handle<TaskConicalGradient> Handle;
static Token token;
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

Point center;
Angle angle;
CompiledGradient compiled_gradient;
rendering::Holder<rendering::TransformationAffine> transformation;

TaskConicalGradient() { }
virtual rendering::Transformation::Handle get_transformation() const override
{ return transformation.handle(); }
};


class TaskConicalGradientSW: public TaskConicalGradient, public rendering::TaskPaintPixelSW
{
public:
typedef etl::handle<TaskConicalGradientSW> Handle;
static Token token;
virtual Token::Handle get_token() const override { return token.handle(); }
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

mutable Real pw = 0;
mutable Real ph = 0;
Expand Down Expand Up @@ -116,9 +113,9 @@ class TaskConicalGradientSW: public TaskConicalGradient, public rendering::TaskP
}
};

rendering::Task::Token TaskConicalGradient::token(
SYNFIG_EXPORT rendering::Task::Token TaskConicalGradient::token(
DescAbstract<TaskConicalGradient>("TaskConicalGradient") );
rendering::Task::Token TaskConicalGradientSW::token(
SYNFIG_EXPORT rendering::Task::Token TaskConicalGradientSW::token(
DescReal<TaskConicalGradientSW, TaskConicalGradient>("TaskConicalGradientSW") );


Expand Down
15 changes: 6 additions & 9 deletions synfig-core/src/modules/mod_gradient/lineargradient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,28 +56,25 @@ SYNFIG_LAYER_SET_VERSION(LinearGradient,"0.1");

/* === M E T H O D S ======================================================= */

class TaskLinearGradient: public rendering::Task, public rendering::TaskInterfaceTransformation
class TaskLinearGradient: public rendering::Task
{
public:
typedef etl::handle<TaskLinearGradient> Handle;
static Token token;
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

LinearGradient::Params params;
rendering::Holder<rendering::TransformationAffine> transformation;

TaskLinearGradient() { }
virtual rendering::Transformation::Handle get_transformation() const override
{ return transformation.handle(); }
};


class TaskLinearGradientSW: public TaskLinearGradient, public rendering::TaskPaintPixelSW
{
public:
typedef etl::handle<TaskLinearGradientSW> Handle;
static Token token;
virtual Token::Handle get_token() const override { return token.handle(); }
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

mutable Real supersample = 0.;

Expand All @@ -99,9 +96,9 @@ class TaskLinearGradientSW: public TaskLinearGradient, public rendering::TaskPai
}
};

rendering::Task::Token TaskLinearGradient::token(
SYNFIG_EXPORT rendering::Task::Token TaskLinearGradient::token(
DescAbstract<TaskLinearGradient>("TaskLinearGradient") );
rendering::Task::Token TaskLinearGradientSW::token(
SYNFIG_EXPORT rendering::Task::Token TaskLinearGradientSW::token(
DescReal<TaskLinearGradientSW, TaskLinearGradient>("TaskLinearGradientSW") );

inline void
Expand Down
15 changes: 6 additions & 9 deletions synfig-core/src/modules/mod_gradient/radialgradient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,30 +59,27 @@ SYNFIG_LAYER_SET_VERSION(RadialGradient,"0.2");

/* === M E T H O D S ======================================================= */

class TaskRadialGradient: public rendering::Task, public rendering::TaskInterfaceTransformation
class TaskRadialGradient: public rendering::Task
{
public:
typedef etl::handle<TaskRadialGradient> Handle;
static Token token;
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

Point center;
Real radius;
CompiledGradient compiled_gradient;
rendering::Holder<rendering::TransformationAffine> transformation;

TaskRadialGradient() { }
virtual rendering::Transformation::Handle get_transformation() const override
{ return transformation.handle(); }
};


class TaskRadialGradientSW: public TaskRadialGradient, public rendering::TaskPaintPixelSW
{
public:
typedef etl::handle<TaskRadialGradientSW> Handle;
static Token token;
virtual Token::Handle get_token() const override { return token.handle(); }
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

mutable Real supersample = 0.;

Expand All @@ -106,9 +103,9 @@ class TaskRadialGradientSW: public TaskRadialGradient, public rendering::TaskPai
}
};

rendering::Task::Token TaskRadialGradient::token(
SYNFIG_EXPORT rendering::Task::Token TaskRadialGradient::token(
DescAbstract<TaskRadialGradient>("TaskRadialGradient") );
rendering::Task::Token TaskRadialGradientSW::token(
SYNFIG_EXPORT rendering::Task::Token TaskRadialGradientSW::token(
DescReal<TaskRadialGradientSW, TaskRadialGradient>("TaskRadialGradientSW") );


Expand Down
15 changes: 6 additions & 9 deletions synfig-core/src/modules/mod_gradient/spiralgradient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,32 +58,29 @@ SYNFIG_LAYER_SET_VERSION(SpiralGradient,"0.2");

/* === M E T H O D S ======================================================= */

class TaskSpiralGradient: public rendering::Task, public rendering::TaskInterfaceTransformation
class TaskSpiralGradient: public rendering::Task
{
public:
typedef etl::handle<TaskSpiralGradient> Handle;
static Token token;
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

Point center;
Real radius;
Angle angle;
bool clockwise;
CompiledGradient compiled_gradient;
rendering::Holder<rendering::TransformationAffine> transformation;

TaskSpiralGradient() : clockwise(false) { }
virtual rendering::Transformation::Handle get_transformation() const override
{ return transformation.handle(); }
};


class TaskSpiralGradientSW: public TaskSpiralGradient, public rendering::TaskPaintPixelSW
{
public:
typedef etl::handle<TaskSpiralGradientSW> Handle;
static Token token;
virtual Token::Handle get_token() const override { return token.handle(); }
SYNFIG_EXPORT static Token token;
Token::Handle get_token() const override { return token.handle(); }

mutable Real pw = 0;

Expand Down Expand Up @@ -119,9 +116,9 @@ class TaskSpiralGradientSW: public TaskSpiralGradient, public rendering::TaskPai
}
};

rendering::Task::Token TaskSpiralGradient::token(
SYNFIG_EXPORT rendering::Task::Token TaskSpiralGradient::token(
DescAbstract<TaskSpiralGradient>("TaskSpiralGradient") );
rendering::Task::Token TaskSpiralGradientSW::token(
SYNFIG_EXPORT rendering::Task::Token TaskSpiralGradientSW::token(
DescReal<TaskSpiralGradientSW, TaskSpiralGradient>("TaskSpiralGradientSW") );


Expand Down

0 comments on commit 46013ff

Please sign in to comment.