-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbubble_ellipse.hpp
More file actions
25 lines (22 loc) · 975 Bytes
/
Copy pathbubble_ellipse.hpp
File metadata and controls
25 lines (22 loc) · 975 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once
#include "bubble.hpp"
class BubbleEllipse : public Bubble {
protected:
int centerx, centery;
int radiusx, radiusy;
public:
BubbleEllipse(int _centerx, int _centery, int _radiusx, int _radiusy,
CFont *_font, Color *_bgcolor);
virtual ~BubbleEllipse() = default;
BubbleEllipse(const BubbleEllipse&) = default;
BubbleEllipse& operator=(const BubbleEllipse&) = default;
virtual void writeImage() const override;
virtual void writeXML(std::ostream& str, uint16_t indent = 0) const override;
virtual void writeJSON(std::ostream& str, uint16_t indent = 2) const override;
virtual void writeYAML(std::ostream& str, uint16_t indent = 2) const override;
virtual void draw(DrawMode mode = ALL) const override;
virtual bool contains(int x, int y) const override;
virtual int renderText() const override;
virtual void setPosition(int x, int y) override;
int ellipseWidth(float a, float b, float y) const;
};