Merge branch 'dev' into spot-removal-tool

This commit is contained in:
Ingo Weyrich
2020-11-24 17:16:41 +01:00
257 changed files with 79066 additions and 10075 deletions

View File

@@ -238,6 +238,7 @@ public:
float innerLineWidth; // ...outerLineWidth = innerLineWidth+2
Datum datum;
State state; // set by the Subscriber
float opacity; // Percentage of opacity
Geometry ();
virtual ~Geometry() {}
@@ -330,6 +331,25 @@ public:
void drawToMOChannel (Cairo::RefPtr<Cairo::Context> &cr, unsigned short id, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) override;
};
class Ellipse : public Geometry
{
public:
rtengine::Coord center;
int radYT; // Ellipse half-radius for top y-axis
int radY; // Ellipse half-radius for bottom y-axis
int radXL; // Ellipse half-radius for left x-axis
int radX; // Ellipse half-radius for right x-axis
bool filled;
bool radiusInImageSpace; /// If true, the radius depend on the image scale; if false, it is a fixed 'screen' size
Ellipse ();
Ellipse (const rtengine::Coord& center, int radYT, int radY, int radXL, int radX, bool filled = false, bool radiusInImageSpace = false);
void drawOuterGeometry (Cairo::RefPtr<Cairo::Context> &cr, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) override;
void drawInnerGeometry (Cairo::RefPtr<Cairo::Context> &cr, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) override;
void drawToMOChannel (Cairo::RefPtr<Cairo::Context> &cr, unsigned short id, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) override;
};
class OPIcon : public Geometry // OP stands for "On Preview"
{
@@ -494,7 +514,7 @@ inline Geometry::Geometry () :
innerLineColor (char (255), char (255), char (255)), outerLineColor (
char (0), char (0), char (0)), flags (
F_VISIBLE | F_HOVERABLE | F_AUTO_COLOR), innerLineWidth (1.5f), datum (
IMAGE), state (NORMAL) {
IMAGE), state (NORMAL), opacity(100.) {
}
inline RGBAColor::RGBAColor () :
@@ -538,6 +558,10 @@ inline Line::Line () :
begin (10, 10), end (100, 100) {
}
inline Ellipse::Ellipse () :
center (100, 100), radYT (5), radY (5), radXL (10), radX (10), filled (false), radiusInImageSpace (false) {
}
inline Circle::Circle (rtengine::Coord& center, int radius, bool filled,
bool radiusInImageSpace) :
center (center), radius (radius), filled (filled), radiusInImageSpace (
@@ -558,5 +582,10 @@ inline Line::Line (int beginX, int beginY, int endX, int endY) :
begin (beginX, beginY), end (endX, endY) {
}
#endif
inline Ellipse::Ellipse (const rtengine::Coord& center, int radYT, int radY, int radXL, int radX,
bool filled, bool radiusInImageSpace) :
center (center), radYT (radYT), radY (radY), radXL (radXL), radX (radX), filled (filled),
radiusInImageSpace (radiusInImageSpace) {
}
#endif