Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29aa74c5 authored by Rebecca Schultz Zavin's avatar Rebecca Schultz Zavin
Browse files

Add colorkey to gl clear operation

parent d06abf0c
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -354,11 +354,13 @@ GLuint LayerBase::createTexture() const
    return textureName;
    return textureName;
}
}


void LayerBase::clearWithOpenGL(const Region& clip) const
void LayerBase::clearWithOpenGL(const Region& clip, GLclampx red,
                                GLclampx green, GLclampx blue,
                                GLclampx alpha) const
{
{
    const DisplayHardware& hw(graphicPlane(0).displayHardware());
    const DisplayHardware& hw(graphicPlane(0).displayHardware());
    const uint32_t fbHeight = hw.getHeight();
    const uint32_t fbHeight = hw.getHeight();
    glColor4x(0,0,0,0);
    glColor4x(red,green,blue,alpha);
    glDisable(GL_TEXTURE_2D);
    glDisable(GL_TEXTURE_2D);
    glDisable(GL_BLEND);
    glDisable(GL_BLEND);
    glDisable(GL_DITHER);
    glDisable(GL_DITHER);
@@ -377,6 +379,11 @@ void LayerBase::clearWithOpenGL(const Region& clip) const
    }
    }
}
}


void LayerBase::clearWithOpenGL(const Region& clip) const
{
    clearWithOpenGL(clip,0,0,0,0);
}

void LayerBase::drawWithOpenGL(const Region& clip, const Texture& texture) const
void LayerBase::drawWithOpenGL(const Region& clip, const Texture& texture) const
{
{
    const DisplayHardware& hw(graphicPlane(0).displayHardware());
    const DisplayHardware& hw(graphicPlane(0).displayHardware());
+3 −1
Original line number Original line Diff line number Diff line
@@ -252,6 +252,8 @@ protected:
              bool          dirty;
              bool          dirty;
          };
          };


          void clearWithOpenGL(const Region& clip, GLclampx r, GLclampx g,
                               GLclampx b, GLclampx alpha) const;
          void clearWithOpenGL(const Region& clip) const;
          void clearWithOpenGL(const Region& clip) const;
          void drawWithOpenGL(const Region& clip, const Texture& texture) const;
          void drawWithOpenGL(const Region& clip, const Texture& texture) const;
          void loadTexture(Texture* texture, GLint textureName, 
          void loadTexture(Texture* texture, GLint textureName, 
+5 −1
Original line number Original line Diff line number Diff line
@@ -600,7 +600,11 @@ LayerBuffer::OverlaySource::~OverlaySource()


void LayerBuffer::OverlaySource::onDraw(const Region& clip) const
void LayerBuffer::OverlaySource::onDraw(const Region& clip) const
{
{
    mLayer.clearWithOpenGL(clip);
    GLclampx color = 0x000018; //dark blue
    GLclampx red = 0;
    GLclampx green = 0;
    GLclampx blue = 0x1818;
    mLayer.clearWithOpenGL(clip, red, green, blue, 0);
}
}


void LayerBuffer::OverlaySource::onTransaction(uint32_t flags)
void LayerBuffer::OverlaySource::onTransaction(uint32_t flags)