1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-11 00:52:13 +00:00
CLK/Outputs/OpenGL/Primitives/Rectangle.hpp

39 lines
738 B
C++
Raw Normal View History

//
// Rectangle.hpp
// Clock Signal
//
// Created by Thomas Harte on 11/07/2018.
// Copyright © 2018 Thomas Harte. All rights reserved.
//
#pragma once
2019-01-26 00:19:23 +00:00
#include "../OpenGL.hpp"
#include "Shader.hpp"
#include <memory>
2023-05-10 21:02:18 +00:00
namespace Outputs::Display::OpenGL {
/*!
Provides a wrapper for drawing a solid, single-colour rectangle.
*/
class Rectangle {
public:
/*!
Instantiates an instance of Rectange with the coordinates given.
*/
Rectangle(float x, float y, float width, float height);
/*!
Draws this rectangle in the colour supplied.
*/
void draw(float red, float green, float blue);
private:
Shader pixel_shader_;
GLuint drawing_vertex_array_ = 0, drawing_array_buffer_ = 0;
GLint colour_uniform_;
};
}