Kaydet (Commit) ab0f8e61 authored tarafından Noel Grandin's avatar Noel Grandin

pass X11SalGraphics around by std::unique_ptr

Change-Id: Id2fcf829e3ca0edcfcdd3d4daf31188ae5317b27
Reviewed-on: https://gerrit.libreoffice.org/59427
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 582aa811
......@@ -35,7 +35,7 @@ public:
X11OpenGLSalVirtualDevice( SalGraphics const *pGraphics,
long nDX, long nDY,
const SystemGraphicsData *pData,
X11SalGraphics* pNewGraphics);
std::unique_ptr<X11SalGraphics> pNewGraphics);
virtual ~X11OpenGLSalVirtualDevice() override;
// SalGeometryProvider
......
......@@ -59,7 +59,7 @@ public:
/// Gtk vclplug needs to pass GtkSalGraphics to X11SalVirtualDevice, so create it, and pass as pNewGraphics.
static std::unique_ptr<SalVirtualDevice> CreateX11VirtualDevice(SalGraphics const * pGraphics, long &nDX, long &nDY,
DeviceFormat eFormat, const SystemGraphicsData* pData, X11SalGraphics* pNewGraphics);
DeviceFormat eFormat, const SystemGraphicsData* pData, std::unique_ptr<X11SalGraphics> pNewGraphics);
virtual std::unique_ptr<SalVirtualDevice>
CreateVirtualDevice( SalGraphics* pGraphics,
......
......@@ -45,7 +45,7 @@ class X11SalVirtualDevice : public SalVirtualDevice
public:
X11SalVirtualDevice(SalGraphics const *pGraphics, long &nDX, long &nDY,
DeviceFormat eFormat, const SystemGraphicsData *pData, X11SalGraphics* pNewGraphics);
DeviceFormat eFormat, const SystemGraphicsData *pData, std::unique_ptr<X11SalGraphics> pNewGraphics);
virtual ~X11SalVirtualDevice() override;
......
......@@ -35,8 +35,8 @@ void X11SalGraphics::Init( X11OpenGLSalVirtualDevice *pDevice )
X11OpenGLSalVirtualDevice::X11OpenGLSalVirtualDevice( SalGraphics const * pGraphics,
long nDX, long nDY,
const SystemGraphicsData *pData,
X11SalGraphics* pNewGraphics) :
mpGraphics(pNewGraphics),
std::unique_ptr<X11SalGraphics> pNewGraphics) :
mpGraphics(std::move(pNewGraphics)),
mbGraphics( false ),
mnXScreen( 0 )
{
......
......@@ -32,24 +32,25 @@
#include <salinst.hxx>
#include <o3tl/make_unique.hxx>
#include <vcl/opengl/OpenGLHelper.hxx>
#include <opengl/x11/salvd.hxx>
std::unique_ptr<SalVirtualDevice> X11SalInstance::CreateX11VirtualDevice(SalGraphics const * pGraphics,
long &nDX, long &nDY, DeviceFormat eFormat, const SystemGraphicsData *pData,
X11SalGraphics* pNewGraphics)
std::unique_ptr<X11SalGraphics> pNewGraphics)
{
assert(pNewGraphics);
if (OpenGLHelper::isVCLOpenGLEnabled())
return std::unique_ptr<SalVirtualDevice>(new X11OpenGLSalVirtualDevice( pGraphics, nDX, nDY, pData, pNewGraphics ));
return std::unique_ptr<SalVirtualDevice>(new X11OpenGLSalVirtualDevice( pGraphics, nDX, nDY, pData, std::move(pNewGraphics) ));
else
return std::unique_ptr<SalVirtualDevice>(new X11SalVirtualDevice(pGraphics, nDX, nDY, eFormat, pData, pNewGraphics));
return std::unique_ptr<SalVirtualDevice>(new X11SalVirtualDevice(pGraphics, nDX, nDY, eFormat, pData, std::move(pNewGraphics)));
}
std::unique_ptr<SalVirtualDevice> X11SalInstance::CreateVirtualDevice(SalGraphics* pGraphics,
long &nDX, long &nDY, DeviceFormat eFormat, const SystemGraphicsData *pData)
{
return CreateX11VirtualDevice(pGraphics, nDX, nDY, eFormat, pData, new X11SalGraphics());
return CreateX11VirtualDevice(pGraphics, nDX, nDY, eFormat, pData, o3tl::make_unique<X11SalGraphics>());
}
void X11SalGraphics::Init( X11SalVirtualDevice *pDevice, SalColormap* pColormap,
......@@ -88,8 +89,8 @@ void X11SalGraphics::Init( X11SalVirtualDevice *pDevice, SalColormap* pColormap,
X11SalVirtualDevice::X11SalVirtualDevice(SalGraphics const * pGraphics, long &nDX, long &nDY,
DeviceFormat eFormat, const SystemGraphicsData *pData,
X11SalGraphics* pNewGraphics) :
pGraphics_(pNewGraphics),
std::unique_ptr<X11SalGraphics> pNewGraphics) :
pGraphics_(std::move(pNewGraphics)),
m_nXScreen(0),
bGraphics_(false)
{
......
......@@ -338,7 +338,7 @@ std::unique_ptr<SalVirtualDevice> GtkInstance::CreateVirtualDevice( SalGraphics
GtkSalGraphics *pGtkSalGraphics = dynamic_cast<GtkSalGraphics*>(pG);
assert(pGtkSalGraphics);
return CreateX11VirtualDevice(pG, nDX, nDY, eFormat, pGd,
new GtkSalGraphics(pGtkSalGraphics->GetGtkFrame(),
o3tl::make_unique<GtkSalGraphics>(pGtkSalGraphics->GetGtkFrame(),
pGtkSalGraphics->GetGtkWidget(),
pGtkSalGraphics->GetScreenNumber()));
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment