summaryrefslogtreecommitdiff
path: root/src/render/Texture.hpp
blob: f287089bffab7c3ed1c1bb90d24254401fbec916 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include "../defines.hpp"

enum TEXTURETYPE
{
    TEXTURE_INVALID,  // Invalid
    TEXTURE_RGBA,     // 4 channels
    TEXTURE_RGBX,     // discard A
    TEXTURE_EXTERNAL, // EGLImage
};

class CTexture {
  public:
    CTexture();
    CTexture(wlr_texture*);

    void        destroyTexture();
    void        allocate();

    TEXTURETYPE m_iType   = TEXTURE_RGBA;
    GLenum      m_iTarget = GL_TEXTURE_2D;
    GLuint      m_iTexID  = 0;
    Vector2D    m_vSize;
};