Files
dae16-VerhulstBram-GameProject/Engine/structs.h
Bram Verhulst eb4c7b4d76 Update Screen system
Added FuelScreen (Working buttons)
Added SellScreen (Nothing working)
2024-04-04 00:07:45 +02:00

92 lines
1.8 KiB
C++

#pragma once
#include <string>
struct Window
{
explicit Window( const std::string& title = "Title", float width = 320.0f,
float height = 180.0f, bool isVSyncOn = true );
std::string title;
float width;
float height;
bool isVSyncOn;
};
struct Point2f
{
Point2f( );
explicit Point2f( float x, float y );
//Point2f(int x, int y); //Stupid fix for it giving an error
//operator
Point2f operator+( const Point2f& other ) const;
Point2f operator+=( const Point2f& other ) const;
Point2f operator*( float other ) const;
Point2f operator*( int other ) const;
Point2f operator*( const Point2f& other ) const;
Point2f operator/( float other ) const;
Point2f operator-( const Point2f& other ) const;
float x;
float y;
};
Point2f operator/(float right, const Point2f& left);
Point2f operator*(float right, const Point2f& left);
std::ostream& operator<<(std::ostream& os, const Point2f& p);
struct Rectf
{
Rectf( );
explicit Rectf( float left, float bottom, float width, float height );
Rectf(Point2f pos, Point2f size);
//explicit Rectf( int left, int bottom, int width, int height ); //Stupid fix for it giving an error (same as Point2f)
Point2f BottomLeft() const { return Point2f{ left, bottom }; }
float left;
float bottom;
float width;
float height;
};
struct Color4f
{
Color4f( );
explicit Color4f( float r, float g, float b, float a );
float r;
float g;
float b;
float a;
};
struct Circlef
{
Circlef( );
explicit Circlef( const Point2f& center, float radius );
explicit Circlef( float centerX, float centerY, float radius );
Point2f center;
float radius;
};
struct Ellipsef
{
Ellipsef( );
explicit Ellipsef( const Point2f& center, float radiusX, float radiusY );
explicit Ellipsef( float centerX, float centerY, float radiusX, float radiusY );
Point2f center;
float radiusX;
float radiusY;
};