// Copyright (c) 2021 Dominic Masters
// 
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT

#pragma once
#include "../libs.h"

/**
 * Structure detailing information about a texture.
 * Because we plan to upload the pixels of a texture into the GPU, we don't
 * store the pixels in memory because we don't need to!
 */
typedef struct {
  /** Width (in pixels) of the texture */
  int32_t width;
  /** Height (in pixels) of the texture */
  int32_t height;
  /** Texture ID on the GPU */
  GLuint id;
} texture_t;

/** Information about a single pixel. */
typedef struct {
  /** RGBA Color values */
  uint8_t r, g, b, a;
} pixel_t;