My Project
Loading...
Searching...
No Matches
graphic_primitive.h
Go to the documentation of this file.
1#ifndef GRAPHIC_PRIMITIVE_H
2#define GRAPHIC_PRIMITIVE_H
3
4#include <tuple>
5
15{
16public:
18 enum class Color {RED, GREEN, BLUE};
21
25 virtual ~graphic_primitive();
27 virtual void set_line_color(Color color) = 0;
29 virtual void set_background_color(Color color) = 0;
31 virtual void set_coordinates(int x, int y) = 0;
33 virtual std::tuple<int, int> get_coordinates() = 0;
35 virtual void draw() = 0;
36};
37
38#endif // GRAPHIC_PRIMITIVE_H
Interface for graphic primitives.
Definition graphic_primitive.h:15
Color
Acceptable colors.
Definition graphic_primitive.h:18
graphic_primitive()
Constructor.
Definition graphic_primitive.cpp:3
virtual void set_background_color(Color color)=0
Set the background color of the shape.
virtual void set_line_color(Color color)=0
Set line color.
Type
Acceptable shape types.
Definition graphic_primitive.h:20
virtual std::tuple< int, int > get_coordinates()=0
Returns the coordinates of a figure.
virtual void set_coordinates(int x, int y)=0
Setting new coordinates for the figure.
virtual void draw()=0
Drawing a figure.
virtual ~graphic_primitive()
Destructor.
Definition graphic_primitive.cpp:8