Browse Source

Fix ImageKnob after last couple of changes

Signed-off-by: falkTX <falktx@falktx.com>
pull/272/head
falkTX 4 years ago
parent
commit
030aee3a15
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 25 additions and 21 deletions
  1. +22
    -0
      dgl/OpenGL.hpp
  2. +3
    -2
      dgl/src/ImageWidgets.cpp
  3. +0
    -19
      dgl/src/OpenGL.cpp

+ 22
- 0
dgl/OpenGL.hpp View File

@@ -117,6 +117,28 @@ struct OpenGLGraphicsContext : GraphicsContext

// -----------------------------------------------------------------------

static inline
GLenum asOpenGLImageFormat(const ImageFormat format)
{
switch (format)
{
case kImageFormatNull:
break;
case kImageFormatBGR:
return GL_BGR;
case kImageFormatBGRA:
return GL_BGRA;
case kImageFormatRGB:
return GL_RGB;
case kImageFormatRGBA:
return GL_RGBA;
}

return 0x0;
}

// -----------------------------------------------------------------------

/**
OpenGL Image class.



+ 3
- 2
dgl/src/ImageWidgets.cpp View File

@@ -358,13 +358,14 @@ void ImageKnob::onDisplay()
const uint& v1(fIsImgVertical ? fImgLayerWidth : fImgLayerHeight);
const uint& v2(fIsImgVertical ? fImgLayerHeight : fImgLayerWidth);

const uint layerDataSize = v1 * v2 * ((fImage.getFormat() == GL_BGRA || fImage.getFormat() == GL_RGBA) ? 4 : 3);
const uint layerDataSize = v1 * v2 * ((fImage.getFormat() == kImageFormatBGRA ||
fImage.getFormat() == kImageFormatRGBA) ? 4 : 3);
/* */ imageDataOffset = layerDataSize * uint(normValue * float(fImgLayerCount-1));
}

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
static_cast<GLsizei>(getWidth()), static_cast<GLsizei>(getHeight()), 0,
fImage.getFormat(), fImage.getType(), fImage.getRawData() + imageDataOffset);
asOpenGLImageFormat(fImage.getFormat()), GL_UNSIGNED_BYTE, fImage.getRawData() + imageDataOffset);

fIsReady = true;
}


+ 0
- 19
dgl/src/OpenGL.cpp View File

@@ -270,25 +270,6 @@ template class Rectangle<ushort>;
// -----------------------------------------------------------------------
// OpenGLImage

static GLenum asOpenGLImageFormat(const ImageFormat format)
{
switch (format)
{
case kImageFormatNull:
break;
case kImageFormatBGR:
return GL_BGR;
case kImageFormatBGRA:
return GL_BGRA;
case kImageFormatRGB:
return GL_RGB;
case kImageFormatRGBA:
return GL_RGBA;
}

return 0x0;
}

static void setupOpenGLImage(const OpenGLImage& image, GLuint textureId)
{
DISTRHO_SAFE_ASSERT_RETURN(image.isValid(),);


Loading…
Cancel
Save