Files
ZombieGame-Rawr/inc/IBaseInterface.h
github-classroom[bot] 294e9ab735 Initial commit
2025-05-08 08:33:11 +00:00

30 lines
1.9 KiB
C++

#pragma once
class IBaseInterface
{
public:
IBaseInterface();
virtual ~IBaseInterface();
//RENDERER
virtual void Draw_Polygon(const Elite::Vector2* points, int count, const Elite::Vector3& color, float depth) = 0;
void Draw_Polygon(const Elite::Vector2* points, int count, const Elite::Vector3& color);
virtual void Draw_SolidPolygon(const Elite::Vector2* points, int count, const Elite::Vector3& color, float depth, bool triangulate = false) = 0;
void Draw_SolidPolygon(const Elite::Vector2* points, int count, const Elite::Vector3& color);
virtual void Draw_Circle(const Elite::Vector2& center, float radius, const Elite::Vector3& color, float depth) = 0;
void Draw_Circle(const Elite::Vector2& center, float radius, const Elite::Vector3& color);
virtual void Draw_SolidCircle(const Elite::Vector2& center, float32 radius, const Elite::Vector2& axis, const Elite::Vector3& color, float depth) = 0;
void Draw_SolidCircle(const Elite::Vector2& center, float32 radius, const Elite::Vector2& axis, const Elite::Vector3& color);
virtual void Draw_Segment(const Elite::Vector2& p1, const Elite::Vector2& p2, const Elite::Vector3& color, float depth) = 0;
void Draw_Segment(const Elite::Vector2& p1, const Elite::Vector2& p2, const Elite::Vector3& color);
virtual void Draw_Direction(const Elite::Vector2& p, Elite::Vector2 dir, float length, const Elite::Vector3& color, float depth = 0.9f) = 0;
virtual void Draw_Transform(const b2Transform& xf, float depth) = 0;
void Draw_Transform(const b2Transform& xf);
virtual void Draw_Point(const Elite::Vector2& p, float size, const Elite::Vector3& color, float depth) = 0;
void Draw_Point(const Elite::Vector2& p, float size, const Elite::Vector3& color);
//void Draw_String(int x, int y, const char* string, ...) = 0;
//virtual void Draw_String(const Elite::Vector2& pw, const char* string, ...) = 0;
virtual float NextDepthSlice() = 0;
};