• Tomaž Vajngerl's avatar
    tdf#100451 convert texture buffer to 1-bit and 4-bit palette buffer · c2fc93ca
    Tomaž Vajngerl yazdı
    OpenGL doesn't support palettes so when the texture is created,
    the bitmap buffer is converted to 24-bit RGB. This works nice for
    showing the bitmaps on screen. The problem arises when we want to
    read the bitmap buffer back (like in a PDF export) as we have to
    convert that back to 1-bit or 4-bit palette bitmap buffer. For 4-bit
    this was not implemented yet, on the other hand for 1-bit it was
    implemented but it didn't take palette into account so the bitmap
    was not correct (inverted).
    
    This commit introduces a ScanlineWriter which handles writing
    RGB colors to 1-bit and 4-bit palette scanlines. The class sets
    up the masks and shifts needed to place the color information
    at the correct place in a byte. It also automatically converts a
    RGB to palette index.
    
    Change-Id: Ie66ca8cecff40c1252072ba95196ef65ba787f4c
    Reviewed-on: https://gerrit.libreoffice.org/26532Reviewed-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
    Tested-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
    c2fc93ca
Adı
Son kayıt (commit)
Son güncelleme
..
win Loading commit data...
x11 Loading commit data...
DeviceInfo.cxx Loading commit data...
FixedTextureAtlas.cxx Loading commit data...
LineRenderUtils.cxx Loading commit data...
PackedTextureAtlas.cxx Loading commit data...
README.deprecated Loading commit data...
README.opengl Loading commit data...
RenderList.cxx Loading commit data...
areaHashCRC64TFragmentShader.glsl Loading commit data...
areaScaleFastFragmentShader.glsl Loading commit data...
areaScaleFragmentShader.glsl Loading commit data...
blendedTextureFragmentShader.glsl Loading commit data...
blendedTextureVertexShader.glsl Loading commit data...
combinedFragmentShader.glsl Loading commit data...
combinedTextureFragmentShader.glsl Loading commit data...
combinedTextureVertexShader.glsl Loading commit data...
combinedVertexShader.glsl Loading commit data...
convolutionFragmentShader.glsl Loading commit data...
diffTextureFragmentShader.glsl Loading commit data...
dumbVertexShader.glsl Loading commit data...
framebuffer.cxx Loading commit data...
gdiimpl.cxx Loading commit data...
greyscaleFragmentShader.glsl Loading commit data...
invert50FragmentShader.glsl Loading commit data...
lineFragmentShader.glsl Loading commit data...
lineVertexShader.glsl Loading commit data...
linearGradientFragmentShader.glsl Loading commit data...
maskFragmentShader.glsl Loading commit data...
maskedTextureFragmentShader.glsl Loading commit data...
maskedTextureVertexShader.glsl Loading commit data...
opengl_blacklist_windows.xml Loading commit data...
program.cxx Loading commit data...
radialGradientFragmentShader.glsl Loading commit data...
replaceColorFragmentShader.glsl Loading commit data...
salbmp.cxx Loading commit data...
scale.cxx Loading commit data...
solidFragmentShader.glsl Loading commit data...
texture.cxx Loading commit data...
textureFragmentShader.glsl Loading commit data...
textureVertexShader.glsl Loading commit data...
transformedTextureVertexShader.glsl Loading commit data...