office-gobmx/vcl/source/window/bufferdevice.hxx
Miklos Vajna 4b191691fb tdf#127022 vcl: fix Windows RTL menu bar
Regression from commit e8d5b8beb5
(tdf#113714 vcl menu bar window: avoid flicker, 2019-05-20), the problem
was that while the original render context has RTL set up correctly, the
intermediate virtual device had it disabled all the time.

Change-Id: Ic063c4a6c0537891c0bfceb8927edb97cf1c6e86
Reviewed-on: https://gerrit.libreoffice.org/85624
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2019-12-20 19:31:18 +01:00

36 lines
1 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef INCLUDED_VCL_SOURCE_WINDOW_BUFFERDEVICE_HXX
#define INCLUDED_VCL_SOURCE_WINDOW_BUFFERDEVICE_HXX
#include <vcl/virdev.hxx>
#include <vcl/window.hxx>
namespace vcl
{
/// Buffers drawing on a vcl::RenderContext using a VirtualDevice.
class VCL_DLLPUBLIC BufferDevice
{
ScopedVclPtr<VirtualDevice> m_pBuffer;
VclPtr<vcl::Window> m_pWindow;
vcl::RenderContext& m_rRenderContext;
public:
BufferDevice(const VclPtr<vcl::Window>& pWindow, vcl::RenderContext& rRenderContext);
~BufferDevice();
vcl::RenderContext* operator->();
vcl::RenderContext& operator*();
};
}
#endif // INCLUDED_VCL_SOURCE_WINDOW_BUFFERDEVICE_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */