Kaydet (Commit) a33e0379 authored tarafından Miklos Vajna's avatar Miklos Vajna

tdf#92982 vcl rendercontext: move buffer from PaintHelper to ImplFrameData

With this, code that wants to take a persistent render context (e.g.
vcl::Cursor) will be able to do so. This commit just moves the buffer,
though: it's still created / deleted by PaintHelper.

Having it in ImplFrameData means that we'll have one buffer / one
system window: i.e. toplevel window and its sub-widgets share a buffer.

Change-Id: Ic37220a2a483a7389aa04cd4313b6fc61a5408bf
üst 00269d39
...@@ -729,11 +729,8 @@ private: ...@@ -729,11 +729,8 @@ private:
This function is kind of recursive - it may be called from the This function is kind of recursive - it may be called from the
PaintHelper destructor; and on the other hand it creates PaintHelper PaintHelper destructor; and on the other hand it creates PaintHelper
that (when destructed) calls other ImplCallPaint()'s. that (when destructed) calls other ImplCallPaint()'s.
@param rBuffer VirtualDevice for double-buffering. It is only passed
here, the actual handling happens in the PaintHelper.
*/ */
SAL_DLLPRIVATE void ImplCallPaint(const VclPtr<VirtualDevice>& rBuffer, const vcl::Region* pRegion, sal_uInt16 nPaintFlags); SAL_DLLPRIVATE void ImplCallPaint(const vcl::Region* pRegion, sal_uInt16 nPaintFlags);
SAL_DLLPRIVATE void ImplCallOverlapPaint(); SAL_DLLPRIVATE void ImplCallOverlapPaint();
SAL_DLLPRIVATE void ImplPostPaint(); SAL_DLLPRIVATE void ImplPostPaint();
......
...@@ -179,6 +179,7 @@ struct ImplFrameData ...@@ -179,6 +179,7 @@ struct ImplFrameData
::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard > mxSelection; ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard > mxSelection;
bool mbInternalDragGestureRecognizer; bool mbInternalDragGestureRecognizer;
VclPtr<VirtualDevice> mpBuffer; ///< Buffer for the double-buffering
}; };
struct ImplAccessibleInfos struct ImplAccessibleInfos
......
This diff is collapsed.
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