svdpntv.cxx (f6e50924) svdpntv.cxx (a56bd57b)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 898 unchanged lines hidden (view full) ---

907 if(bPaintFormLayer)
908 {
909 ImpFormLayerDrawing(rPaintWindow);
910 }
911
912 // look for active TextEdit. As long as this cannot be painted to a VDev,
913 // it cannot get part of buffering. In that case, output evtl. prerender
914 // early and paint text edit to window.
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 898 unchanged lines hidden (view full) ---

907 if(bPaintFormLayer)
908 {
909 ImpFormLayerDrawing(rPaintWindow);
910 }
911
912 // look for active TextEdit. As long as this cannot be painted to a VDev,
913 // it cannot get part of buffering. In that case, output evtl. prerender
914 // early and paint text edit to window.
915 const bool bTextEditActive(IsTextEdit() && GetTextEditPageView());
916
917 if(bTextEditActive)
915 if(IsTextEdit() && GetSdrPageView())
918 {
916 {
919 // output PreRendering and destroy it so that it is not used for FormLayer
920 // or overlay
921 rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion());
922
923 // draw old text edit stuff before overlay to have it as part of the background
924 // ATM. This will be changed to have the text editing on the overlay, bit it
925 // is not an easy thing to do, see BegTextEdit and the OutlinerView stuff used...
926 if(bTextEditActive)
927 {
928 ImpTextEditDrawing(rPaintWindow);
929 }
930
931 // draw Overlay directly to window. This will save the contents of the window
932 // in the RedrawRegion to the overlay background buffer, too.
933 // This may lead to problems when reading from the screen is slow from the
934 // graphics driver/graphiccard combination.
935 rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion(), false);
917 static_cast< SdrView* >(this)->TextEditDrawing(rPaintWindow);
936 }
918 }
937 else
938 {
939 // draw Overlay, also to PreRender device if exists
940 rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion(), true);
941
919
942 // output PreRendering
943 rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion());
944 }
920 // draw Overlay, also to PreRender device if exists
921 rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion());
922
923 // output PreRendering
924 rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion());
945 }
946}
947
948////////////////////////////////////////////////////////////////////////////////////////////////////
949
950SdrPaintWindow* SdrPaintView::BeginDrawLayers(OutputDevice* pOut, const Region& rReg, bool bDisableIntersect)
951{
952 // #i74769# use BeginCompleteRedraw() as common base

--- 68 unchanged lines hidden (view full) ---

1021 {
1022 // forget prepared SdrPageWindow
1023 mpPageView->setPreparedPageWindow(0);
1024 }
1025}
1026
1027////////////////////////////////////////////////////////////////////////////////////////////////////
1028
925 }
926}
927
928////////////////////////////////////////////////////////////////////////////////////////////////////
929
930SdrPaintWindow* SdrPaintView::BeginDrawLayers(OutputDevice* pOut, const Region& rReg, bool bDisableIntersect)
931{
932 // #i74769# use BeginCompleteRedraw() as common base

--- 68 unchanged lines hidden (view full) ---

1001 {
1002 // forget prepared SdrPageWindow
1003 mpPageView->setPreparedPageWindow(0);
1004 }
1005}
1006
1007////////////////////////////////////////////////////////////////////////////////////////////////////
1008
1029void SdrPaintView::ImpTextEditDrawing(SdrPaintWindow& rPaintWindow) const
1030{
1031 // draw old text edit stuff
1032 if(IsTextEdit())
1033 {
1034 SdrPageView* pPageView = GetTextEditPageView();
1035
1036 if(pPageView)
1037 {
1038 // paint TextEdit directly to the destination OutDev
1039 const Region& rRedrawRegion = rPaintWindow.GetRedrawRegion();
1040 const Rectangle aCheckRect(rRedrawRegion.GetBoundRect());
1041 pPageView->PaintOutlinerView(&rPaintWindow.GetOutputDevice(), aCheckRect);
1042 }
1043 }
1044}
1045
1046void SdrPaintView::ImpFormLayerDrawing(SdrPaintWindow& rPaintWindow) const
1047{
1048 if(mpPageView)
1049 {
1050 SdrPageWindow* pKnownTarget = mpPageView->FindPageWindow(rPaintWindow);
1051
1052 if(pKnownTarget)
1053 {

--- 491 unchanged lines hidden ---
1009void SdrPaintView::ImpFormLayerDrawing(SdrPaintWindow& rPaintWindow) const
1010{
1011 if(mpPageView)
1012 {
1013 SdrPageWindow* pKnownTarget = mpPageView->FindPageWindow(rPaintWindow);
1014
1015 if(pKnownTarget)
1016 {

--- 491 unchanged lines hidden ---