summaryrefslogtreecommitdiffstats
path: root/vcl/unx/generic/gdi/salvd.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/generic/gdi/salvd.cxx')
-rw-r--r--vcl/unx/generic/gdi/salvd.cxx28
1 files changed, 20 insertions, 8 deletions
diff --git a/vcl/unx/generic/gdi/salvd.cxx b/vcl/unx/generic/gdi/salvd.cxx
index 8aa87bfc8d46..d86677beb12d 100644
--- a/vcl/unx/generic/gdi/salvd.cxx
+++ b/vcl/unx/generic/gdi/salvd.cxx
@@ -36,20 +36,20 @@
#include <opengl/x11/salvd.hxx>
SalVirtualDevice* X11SalInstance::CreateX11VirtualDevice(SalGraphics* pGraphics,
- long &nDX, long &nDY, sal_uInt16 nBitCount, const SystemGraphicsData *pData,
+ long &nDX, long &nDY, DeviceFormat eFormat, const SystemGraphicsData *pData,
X11SalGraphics* pNewGraphics)
{
assert(pNewGraphics);
if (OpenGLHelper::isVCLOpenGLEnabled())
- return new X11OpenGLSalVirtualDevice( pGraphics, nDX, nDY, nBitCount, pData, pNewGraphics );
+ return new X11OpenGLSalVirtualDevice( pGraphics, nDX, nDY, eFormat, pData, pNewGraphics );
else
- return new X11SalVirtualDevice(pGraphics, nDX, nDY, nBitCount, pData, pNewGraphics);
+ return new X11SalVirtualDevice(pGraphics, nDX, nDY, eFormat, pData, pNewGraphics);
}
SalVirtualDevice* X11SalInstance::CreateVirtualDevice(SalGraphics* pGraphics,
- long &nDX, long &nDY, sal_uInt16 nBitCount, const SystemGraphicsData *pData)
+ long &nDX, long &nDY, DeviceFormat eFormat, const SystemGraphicsData *pData)
{
- return CreateX11VirtualDevice(pGraphics, nDX, nDY, nBitCount, pData, new X11SalGraphics());
+ return CreateX11VirtualDevice(pGraphics, nDX, nDY, eFormat, pData, new X11SalGraphics());
}
void X11SalGraphics::Init( X11SalVirtualDevice *pDevice, SalColormap* pColormap,
@@ -89,7 +89,7 @@ void X11SalGraphics::Init( X11SalVirtualDevice *pDevice, SalColormap* pColormap,
}
X11SalVirtualDevice::X11SalVirtualDevice(SalGraphics* pGraphics, long &nDX, long &nDY,
- sal_uInt16 nBitCount, const SystemGraphicsData *pData,
+ DeviceFormat eFormat, const SystemGraphicsData *pData,
X11SalGraphics* pNewGraphics) :
pGraphics_(pNewGraphics),
m_nXScreen(0),
@@ -98,8 +98,20 @@ X11SalVirtualDevice::X11SalVirtualDevice(SalGraphics* pGraphics, long &nDX, long
SalColormap* pColormap = nullptr;
bool bDeleteColormap = false;
- if( !nBitCount && pGraphics )
- nBitCount = pGraphics->GetBitCount();
+ sal_uInt16 nBitCount;
+ switch (eFormat)
+ {
+ case DeviceFormat::BITMASK:
+ nBitCount = 1;
+ break;
+ case DeviceFormat::GRAYSCALE:
+ nBitCount = 8;
+ break;
+ default:
+ nBitCount = pGraphics->GetBitCount();
+ break;
+
+ }
pDisplay_ = vcl_sal::getSalDisplay(GetGenericData());
nDepth_ = nBitCount;