You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ja...@apache.org on 2013/02/03 14:24:38 UTC

svn commit: r1441909 [34/45] - in /openoffice/branches/l10n: ./ ext_libraries/apr-util/ ext_libraries/apr/ ext_libraries/hunspell/ ext_sources/ extras/l10n/source/ast/ extras/l10n/source/da/ extras/l10n/source/eu/ extras/l10n/source/gd/ extras/l10n/sou...

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdedxv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdedxv.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdedxv.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdedxv.cxx Sun Feb  3 13:23:59 2013
@@ -19,19 +19,13 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svx.hxx"
 
 #include <com/sun/star/i18n/WordType.hpp>
-
 #include <svtools/accessibilityoptions.hxx>
-
 #include <svx/svdedxv.hxx>
 #include <svl/solar.hrc>
-
-//#include <tools/string.h>
 #include <svl/itemiter.hxx>
 #include <vcl/msgbox.hxx>
 #include <vcl/hatch.hxx>
@@ -41,7 +35,6 @@
 #include <tools/config.hxx>
 #include <vcl/cursor.hxx>
 #include <editeng/unotext.hxx>
-
 #include <editeng/editeng.hxx>
 #include <editeng/editobj.hxx>
 #include <editeng/outlobj.hxx>
@@ -54,26 +47,25 @@
 #include "svx/svditer.hxx"
 #include "svx/svdpagv.hxx"
 #include "svx/svdpage.hxx"
-#include "svx/svdetc.hxx"   // fuer GetDraftFillColor
+#include "svx/svdetc.hxx"
 #include "svx/svdotable.hxx"
 #include <svx/selectioncontroller.hxx>
 #ifdef DBG_UTIL
 #include <svdibrow.hxx>
 #endif
-
 #include <svx/svdoutl.hxx>
-#include <svx/svddrgv.hxx>  // fuer SetSolidDragging()
-#include "svx/svdstr.hrc"   // Namen aus der Resource
-#include "svx/svdglob.hxx"  // StringCache
+#include <svx/svddrgv.hxx>
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
 #include "svx/globl3d.hxx"
 #include <editeng/outliner.hxx>
 #include <editeng/adjitem.hxx>
-
-// #98988#
 #include <svtools/colorcfg.hxx>
-#include <vcl/svapp.hxx> //add CHINA001 
+#include <vcl/svapp.hxx>
 #include <svx/sdrpaintwindow.hxx>
 #include <svx/sdrundomanager.hxx>
+#include <svx/sdr/overlay/overlaytools.hxx>
+#include <drawinglayer/processor2d/processor2dtools.hxx>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -364,44 +356,35 @@ void SdrObjEditView::ImpPaintOutlinerVie
 
 	if(bTextFrame && !bFitToSize) 
 	{
-		aPixRect.Left()--;
-		aPixRect.Top()--;
-		aPixRect.Right()++;
-		aPixRect.Bottom()++;
-		sal_uInt16 nPixSiz(rOutlView.GetInvalidateMore() - 1);
-			
-		{ 
-			// xPixRect Begrenzen, wegen Treiberproblem bei zu weit hinausragenden Pixelkoordinaten
-			Size aMaxXY(rTargetDevice.GetOutputSizePixel());
-			long a(2 * nPixSiz);
-			long nMaxX(aMaxXY.Width() + a);
-			long nMaxY(aMaxXY.Height() + a);
-
-			if (aPixRect.Left  ()<-a) aPixRect.Left()=-a;
-			if (aPixRect.Top   ()<-a) aPixRect.Top ()=-a;
-			if (aPixRect.Right ()>nMaxX) aPixRect.Right ()=nMaxX;
-			if (aPixRect.Bottom()>nMaxY) aPixRect.Bottom()=nMaxY;
-		}
-
-		Rectangle aOuterPix(aPixRect);
-		aOuterPix.Left()-=nPixSiz;
-		aOuterPix.Top()-=nPixSiz;
-		aOuterPix.Right()+=nPixSiz;
-		aOuterPix.Bottom()+=nPixSiz;
-
-		bool bMerk(rTargetDevice.IsMapModeEnabled());
-		rTargetDevice.EnableMapMode(sal_False);
-		PolyPolygon aPolyPoly( 2 );
-
-		svtools::ColorConfig aColorConfig;
-		Color aHatchCol( aColorConfig.GetColorValue( svtools::FONTCOLOR ).nColor );
-		const Hatch aHatch( HATCH_SINGLE, aHatchCol, 3, 450 );
-
-		aPolyPoly.Insert( aOuterPix );
-		aPolyPoly.Insert( aPixRect );
-		rTargetDevice.DrawHatch( aPolyPoly, aHatch );
+        // completely reworked to use primitives; this ensures same look and functionality
+        const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+        drawinglayer::processor2d::BaseProcessor2D* pProcessor = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
+            rTargetDevice, 
+            aViewInformation2D);
 
-		rTargetDevice.EnableMapMode(bMerk);
+        if(pProcessor)
+        {
+            const bool bMerk(rTargetDevice.IsMapModeEnabled());
+            const basegfx::B2DRange aRange(aPixRect.Left(), aPixRect.Top(), aPixRect.Right(), aPixRect.Bottom());
+            const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
+            const Color aHilightColor(aSvtOptionsDrawinglayer.getHilightColor());
+            const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
+            const sal_uInt16 nPixSiz(rOutlView.GetInvalidateMore() - 1);
+            const drawinglayer::primitive2d::Primitive2DReference xReference(
+                new drawinglayer::primitive2d::OverlayRectanglePrimitive(
+                    aRange,
+                    aHilightColor.getBColor(),
+                    fTransparence,
+                    std::max(6, nPixSiz - 2), // grow
+                    0.0, // shrink
+                    0.0));
+            const drawinglayer::primitive2d::Primitive2DSequence aSequence(&xReference, 1);
+
+            rTargetDevice.EnableMapMode(false);
+            pProcessor->process(aSequence);
+            rTargetDevice.EnableMapMode(bMerk);
+            delete pProcessor;
+        }
 	}
 		
 	rOutlView.ShowCursor();

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdhdl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdhdl.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdhdl.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdhdl.cxx Sun Feb  3 13:23:59 2013
@@ -56,7 +56,7 @@
 #include <svx/sdr/overlay/overlaybitmapex.hxx>
 #include <svx/sdr/overlay/overlayline.hxx>
 #include <svx/sdr/overlay/overlaytriangle.hxx>
-#include <svx/sdr/overlay/overlayhatchrect.hxx>
+#include <svx/sdr/overlay/overlayrectangle.hxx>
 #include <svx/sdrpagewindow.hxx>
 #include <svx/sdrpaintwindow.hxx>
 #include <vcl/svapp.hxx>
@@ -96,18 +96,10 @@ public:
 #define INDIVIDUAL_COUNT    (4)
 
 SdrHdlBitmapSet::SdrHdlBitmapSet(sal_uInt16 nResId)
-:   maMarkersBitmap(),
+:   maMarkersBitmap(ResId(nResId, *ImpGetResMgr())), // just use ressource with alpha channel
     // 14 kinds (BitmapMarkerKind) use index [0..5], 4 extra
     maRealMarkers((KIND_COUNT * INDEX_COUNT) + INDIVIDUAL_COUNT)
 {
-	// #101928# change color used for transparent parts to 0x00ff00ff (ImageList standard)
-	const Color aColTransparent(0x00ff00ff);
-	const Bitmap aBitmap(ResId(nResId, *ImpGetResMgr()));
-    const Bitmap aMask(aBitmap.CreateMask(aColTransparent));
-
-    // create a real BitmapEx with an AlphaMask
-    maMarkersBitmap = BitmapEx(aBitmap, aMask);
-    // maMarkersBitmap = BitmapEx(aBitmap, aColTransparent);
 }
 
 SdrHdlBitmapSet::~SdrHdlBitmapSet()
@@ -171,15 +163,15 @@ const BitmapEx& SdrHdlBitmapSet::GetBitm
                 }
 		    	case 2: 
                 {
-                    return impGetOrCreateTargetBitmap(nIndex, Rectangle(Point(72, 78), Size(13, 13))); 
+                    return impGetOrCreateTargetBitmap(nIndex, Rectangle(Point(72, 79), Size(13, 13))); 
                 }
 			    case 3: 
                 {
-                    return impGetOrCreateTargetBitmap(nIndex, Rectangle(Point(85, 78), Size(13, 13))); 
+                    return impGetOrCreateTargetBitmap(nIndex, Rectangle(Point(85, 79), Size(13, 13))); 
                 }
     			case 4: 
                 {
-                    return impGetOrCreateTargetBitmap(nIndex, Rectangle(Point(98, 78), Size(13, 13))); 
+                    return impGetOrCreateTargetBitmap(nIndex, Rectangle(Point(98, 79), Size(13, 13))); 
                 }
                 default: // case 5: 
                 {
@@ -189,17 +181,19 @@ const BitmapEx& SdrHdlBitmapSet::GetBitm
 		}
 
 		case Circ_7x7: 
+		case Customshape_7x7:
 		{
 			return impGetOrCreateTargetBitmap((4 * INDEX_COUNT) + nInd, Rectangle(Point(27, nYPos), Size(7, 7)));
 		}
 
 		case Circ_9x9: 
-		case Customshape1:
+		case Customshape_9x9:
 		{
 			return impGetOrCreateTargetBitmap((5 * INDEX_COUNT) + nInd, Rectangle(Point(34, nYPos), Size(9, 9)));
 		}
 
 		case Circ_11x11: 
+		case Customshape_11x11:
 		{
 			return impGetOrCreateTargetBitmap((6 * INDEX_COUNT) + nInd, Rectangle(Point(43, nYPos), Size(11, 11)));
 		}
@@ -252,14 +246,14 @@ const BitmapEx& SdrHdlBitmapSet::GetBitm
 		case Anchor: // #101688# AnchorTR for SW
 		case AnchorTR: 
 		{
-			return impGetOrCreateTargetBitmap((KIND_COUNT * INDEX_COUNT) + 2, Rectangle(Point(24, 68), Size(24, 23)));
+			return impGetOrCreateTargetBitmap((KIND_COUNT * INDEX_COUNT) + 2, Rectangle(Point(24, 68), Size(24, 24)));
 		}
 
 		// #98388# add AnchorPressed to be able to aninate anchor control
 		case AnchorPressed: 
 		case AnchorPressedTR: 
 		{
-			return impGetOrCreateTargetBitmap((KIND_COUNT * INDEX_COUNT) + 3, Rectangle(Point(48, 68), Size(24, 23)));
+			return impGetOrCreateTargetBitmap((KIND_COUNT * INDEX_COUNT) + 3, Rectangle(Point(48, 68), Size(24, 24)));
 		}
 	}
 
@@ -551,7 +545,7 @@ void SdrHdl::CreateB2dIAObject()
 			// for SJ and the CustomShapeHandles:
 			case HDL_CUSTOMSHAPE1:
 			{
-				eKindOfMarker = Customshape1;
+				eKindOfMarker = (b1PixMore) ? Customshape_9x9 : Customshape_7x7;
 				eColIndex = Yellow;
 				break;
 			}
@@ -626,6 +620,10 @@ BitmapMarkerKind SdrHdl::GetNextBigger(B
 		case Circ_9x9:			eRetval = Circ_11x11;		break;
 		//case Circ_11x11:		eRetval = ;	break;
 		
+		case Customshape_7x7:		eRetval = Customshape_9x9;	    break;
+		case Customshape_9x9:		eRetval = Customshape_11x11;    break;
+		//case Customshape_11x11:	eRetval = ;	break;
+		
 		case Elli_7x9:			eRetval = Elli_9x11;		break;
 		//case Elli_9x11:			eRetval = ;	break;
 		
@@ -685,7 +683,27 @@ BitmapEx SdrHdl::ImpGetBitmapEx(BitmapMa
 
 	if(pHdlList->GetHdlSize() > 3)
 	{
-		bForceBiggerSize = sal_True;
+        switch(eKindOfMarker)
+        {
+            case Anchor:
+            case AnchorPressed:
+            case AnchorTR:
+            case AnchorPressedTR:
+            {
+                // #121463# For anchor, do not simply make bigger because of HdlSize,
+                // do it dependent of IsSelected() which Writer can set in drag mode
+                if(IsSelected())
+                {
+                    bForceBiggerSize = sal_True;
+                }
+                break;
+            }
+            default:
+            {
+                bForceBiggerSize = sal_True;
+                break;
+            }
+        }
 	}
 	
 	// #101928# ...for high contrast, too.
@@ -1448,7 +1466,8 @@ void E3dVolumeMarker::CreateB2dIAObject(
 						if(rPageWindow.GetOverlayManager() && aWireframePoly.count())
 							{
 								::sdr::overlay::OverlayObject* pNewOverlayObject = new 
-								::sdr::overlay::OverlayPolyPolygonStriped(aWireframePoly);
+								::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                                    aWireframePoly);
 								DBG_ASSERT(pNewOverlayObject, "Got NO new IAO!");
 
 								// OVERLAYMANAGER
@@ -1697,17 +1716,21 @@ void ImpTextframeHdl::CreateB2dIAObject(
 						{
                             const basegfx::B2DPoint aTopLeft(maRect.Left(), maRect.Top());
                             const basegfx::B2DPoint aBottomRight(maRect.Right(), maRect.Bottom());
-                            const svtools::ColorConfig aColorConfig;
-                            const Color aHatchCol( aColorConfig.GetColorValue( svtools::FONTCOLOR ).nColor );
+                            const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
+                            const Color aHilightColor(aSvtOptionsDrawinglayer.getHilightColor());
+                            const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
 
-                            ::sdr::overlay::OverlayHatchRect* pNewOverlayObject = new ::sdr::overlay::OverlayHatchRect(
+                            ::sdr::overlay::OverlayRectangle* pNewOverlayObject = new ::sdr::overlay::OverlayRectangle(
                                 aTopLeft,
                                 aBottomRight,
-                                aHatchCol,
+                                aHilightColor,
+                                fTransparence,
                                 3.0,
                                 3.0,
-                                45 * F_PI180,
-                                nDrehWink * -F_PI18000);
+                                nDrehWink * -F_PI18000,
+                                500,
+                                true); // allow animation; the Handle is not shown at text edit time
+
                             pNewOverlayObject->setHittable(false);
 
                             // OVERLAYMANAGER
@@ -2084,7 +2107,7 @@ SdrHdlList::SdrHdlList(SdrMarkView* pV)
 	bRotateShear = sal_False; 
 	bMoveOutside = sal_False; 
 	bDistortShear = sal_False; 
-	bFineHandles = sal_False;
+	bFineHandles = sal_True;    // new default: Handles are fine handles
 }
 
 SdrHdlList::~SdrHdlList() 

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdmodel.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdmodel.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdmodel.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdmodel.cxx Sun Feb  3 13:23:59 2013
@@ -2170,18 +2170,6 @@ const ::com::sun::star::uno::Sequence< s
 	return *pSeq;
 }
 
-void SdrModel::SetDrawingLayerPoolDefaults()
-{
-	const String aNullStr;
-	const Color aNullLineCol(COL_DEFAULT_SHAPE_STROKE);
-	const Color aNullFillCol(COL_DEFAULT_SHAPE_FILLING);
-	const XHatch aNullHatch(aNullLineCol);
-
-	pItemPool->SetPoolDefaultItem( XFillColorItem(aNullStr,aNullFillCol) );
-	pItemPool->SetPoolDefaultItem( XFillHatchItem(pItemPool,aNullHatch) );
-	pItemPool->SetPoolDefaultItem( XLineColorItem(aNullStr,aNullLineCol) );
-}
-
 //
 // i120668, move from the header files, add delete action
 //

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdoashp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdoashp.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdoashp.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdoashp.cxx Sun Feb  3 13:23:59 2013
@@ -645,6 +645,7 @@ SdrObjCustomShape::SdrObjCustomShape() :
 	fObjectRotation( 0.0 ),
 	mpLastShadowGeometry(0L)
 {
+	bClosedObj = true; // custom shapes may be filled
 	bTextFrame = sal_True;
 }
 
@@ -1921,68 +1922,49 @@ void SdrObjCustomShape::NbcRotate( const
 
 void SdrObjCustomShape::NbcMirror( const Point& rRef1, const Point& rRef2 )
 {
-	// storing horizontal and vertical flipping without modifying the rotate angle
+    // TTTT: Fix for old mirroring, can be removed again in aw080
+    // storing horizontal and vertical flipping without modifying the rotate angle
+    // decompose other flipping to rotation and MirrorX.
+    long ndx = rRef2.X()-rRef1.X();
+    long ndy = rRef2.Y()-rRef1.Y();
 
-	sal_Bool bHorz = sal_False;
-	sal_Bool bVert = sal_False;
-	if ( rRef1.X() == rRef2.X() )
-		bHorz = sal_True;
-	if ( rRef1.Y() == rRef2.Y() )
-		bVert = sal_True;
-	if ( !bHorz && !bVert )
-		bHorz = bVert = sal_True;
-
-	if ( bHorz || bVert )
-	{
-		SdrCustomShapeGeometryItem aGeometryItem( (SdrCustomShapeGeometryItem&)GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY ) );
-
-		/////////////////
-		// "MirroredX" //
-		/////////////////
-		if ( bHorz )
-		{
-			const rtl::OUString	sMirroredX( RTL_CONSTASCII_USTRINGPARAM ( "MirroredX" ) );
-			com::sun::star::uno::Any* pAny = aGeometryItem.GetPropertyValueByName( sMirroredX );
-			if ( pAny )
-			{
-				sal_Bool bFlip = sal_Bool();
-				if ( *pAny >>= bFlip )
-				{
-					if ( bFlip )
-						bHorz = sal_False;
-				}
-			}
-			PropertyValue aPropVal;
-			aPropVal.Name = sMirroredX;
-			aPropVal.Value <<= bHorz;
-			aGeometryItem.SetPropertyValue( aPropVal );
-		}
+    if(!ndx) // MirroredX
+    {
+         SetMirroredX(!IsMirroredX());
+         SdrTextObj::NbcMirror( rRef1, rRef2 );
+    }
+    else
+    {
+        if(!ndy)  // MirroredY
+        {
+            SetMirroredY(!IsMirroredY());
+            SdrTextObj::NbcMirror( rRef1, rRef2 );
+        }
+        else // neither horizontal nor vertical
+        {
+            SetMirroredX(!IsMirroredX());
 
-		/////////////////
-		// "MirroredY" //
-		/////////////////
-		if ( bVert )
-		{
-			const rtl::OUString	sMirroredY( RTL_CONSTASCII_USTRINGPARAM ( "MirroredY" ) );
-			com::sun::star::uno::Any* pAny = aGeometryItem.GetPropertyValueByName( sMirroredY );
-			if ( pAny )
-			{
-				sal_Bool bFlip = sal_Bool();
-				if ( *pAny >>= bFlip )
-				{
-					if ( bFlip )
-						bVert = sal_False;
-				}
-			}
-			PropertyValue aPropVal;
-			aPropVal.Name = sMirroredY;
-			aPropVal.Value <<= bVert;
-			aGeometryItem.SetPropertyValue( aPropVal );
-		}
-		SetMergedItem( aGeometryItem );
-	}
-	SdrTextObj::NbcMirror( rRef1, rRef2 );
-	InvalidateRenderGeometry();
+            // call parent
+            SdrTextObj::NbcMirror( rRef1, rRef2 );
+
+            // update fObjectRotation
+            long nTextObjRotation = aGeo.nDrehWink;
+            double fWink = nTextObjRotation;
+            
+            fWink /= 100.0;
+            
+            bool bSingleFlip = (IsMirroredX()!= IsMirroredY());
+            
+            fObjectRotation = fmod( bSingleFlip ? -fWink : fWink, 360.0 );
+            
+            if ( fObjectRotation < 0 )
+            {
+                fObjectRotation = 360.0 + fObjectRotation;
+            }
+         }
+    }
+
+    InvalidateRenderGeometry();
 }
 
 void SdrObjCustomShape::Shear( const Point& rRef, long nWink, double tn, FASTBOOL bVShear )
@@ -1992,21 +1974,25 @@ void SdrObjCustomShape::Shear( const Poi
 }
 void SdrObjCustomShape::NbcShear( const Point& rRef, long nWink, double tn, FASTBOOL bVShear )
 {
-	long nDrehWink = aGeo.nDrehWink;
-	if ( nDrehWink )
-	{
-		aGeo.nDrehWink = -nDrehWink;
-		aGeo.RecalcSinCos();
-		NbcRotate( rRef, aGeo.nDrehWink, aGeo.nSin, aGeo.nCos );
-	}
-	SdrTextObj::NbcShear(rRef,nWink,tn,bVShear);
-	if ( nDrehWink )
-	{
-		aGeo.nDrehWink = nDrehWink;
-		aGeo.RecalcSinCos();
-		Rotate( rRef, aGeo.nDrehWink, aGeo.nSin, aGeo.nCos );
-	}
-	InvalidateRenderGeometry();
+    // TTTT: Fix for old mirroring, can be removed again in aw080
+     SdrTextObj::NbcShear(rRef,nWink,tn,bVShear);
+
+    // updating fObjectRotation
+    long nTextObjRotation = aGeo.nDrehWink;
+    double fWink = nTextObjRotation;
+
+    fWink /= 100.0;
+
+    bool bSingleFlip = (IsMirroredX()!= IsMirroredY());
+
+    fObjectRotation = fmod( bSingleFlip ? -fWink : fWink, 360.0 );
+
+    if ( fObjectRotation < 0 )
+    {
+        fObjectRotation = 360.0 + fObjectRotation;
+    }
+
+    InvalidateRenderGeometry();
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdobj.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdobj.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdobj.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdobj.cxx Sun Feb  3 13:23:59 2013
@@ -2414,6 +2414,33 @@ SdrObject* SdrObject::GetConnectedNode(F
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
+void extractLineContourFromPrimitive2DSequence(
+    const drawinglayer::primitive2d::Primitive2DSequence& rxSequence,
+    basegfx::B2DPolygonVector& rExtractedHairlines,
+    basegfx::B2DPolyPolygonVector& rExtractedLineFills)
+{
+    rExtractedHairlines.clear();
+    rExtractedLineFills.clear();
+
+    if(rxSequence.hasElements())
+    {
+        // use neutral ViewInformation
+        const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+
+        // create extractor, process and get result
+        drawinglayer::processor2d::LineGeometryExtractor2D aExtractor(aViewInformation2D);
+        aExtractor.process(rxSequence);
+
+        // copy line results
+        rExtractedHairlines = aExtractor.getExtractedHairlines();
+
+        // copy fill rsults
+        rExtractedLineFills = aExtractor.getExtractedLineFills();
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
 SdrObject* SdrObject::ImpConvertToContourObj(SdrObject* pRet, sal_Bool bForceLineDash) const
 {
 	bool bNoChange(true);
@@ -2426,37 +2453,28 @@ SdrObject* SdrObject::ImpConvertToContou
 
 		if(xSequence.hasElements())
 		{
-			// use neutral ViewInformation
-			const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
-
-			// create extractor, process and get result
-			drawinglayer::processor2d::LineGeometryExtractor2D aExtractor(aViewInformation2D);
-			aExtractor.process(xSequence);
+            basegfx::B2DPolygonVector aExtractedHairlines;
+            basegfx::B2DPolyPolygonVector aExtractedLineFills;
 
-			// #i102241# check for line results
-			const basegfx::B2DPolygonVector& rHairlineVector = aExtractor.getExtractedHairlines();
+            extractLineContourFromPrimitive2DSequence(xSequence, aExtractedHairlines, aExtractedLineFills);
 
-			if(!rHairlineVector.empty())
+			if(!aExtractedHairlines.empty())
 			{
 				// for SdrObject creation, just copy all to a single Hairline-PolyPolygon
-				for(sal_uInt32 a(0); a < rHairlineVector.size(); a++)
+				for(sal_uInt32 a(0); a < aExtractedHairlines.size(); a++)
 				{
-					aMergedHairlinePolyPolygon.append(rHairlineVector[a]);
+					aMergedHairlinePolyPolygon.append(aExtractedHairlines[a]);
 				}
 			}
 
-			// #i102241# check for fill rsults
-			const basegfx::B2DPolyPolygonVector& rLineFillVector(aExtractor.getExtractedLineFills());
-
-			if(!rLineFillVector.empty())
+			// check for fill rsults
+			if(!aExtractedLineFills.empty())
 			{
 				// merge to a single PolyPolygon (OR)
-				aMergedLineFillPolyPolygon = basegfx::tools::mergeToSinglePolyPolygon(rLineFillVector);
+				aMergedLineFillPolyPolygon = basegfx::tools::mergeToSinglePolyPolygon(aExtractedLineFills);
 			}
 		}
 
-		//  || aMergedHairlinePolyPolygon.Count() removed; the conversion is ONLY
-		// useful when new closed filled polygons are created
 		if(aMergedLineFillPolyPolygon.count() || (bForceLineDash && aMergedHairlinePolyPolygon.count()))
 		{
 			SfxItemSet aSet(pRet->GetMergedItemSet());

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdograf.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdograf.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdograf.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdograf.cxx Sun Feb  3 13:23:59 2013
@@ -737,7 +737,6 @@ void SdrGrafObj::ReleaseGraphicLink()
 
 void SdrGrafObj::TakeObjInfo(SdrObjTransformInfoRec& rInfo) const
 {
-	FASTBOOL bAnim = pGraphic->IsAnimated();
 	FASTBOOL bNoPresGrf = ( pGraphic->GetType() != GRAPHIC_NONE ) && !bEmptyPresObj;
 
 	rInfo.bResizeFreeAllowed = aGeo.nDrehWink % 9000 == 0 ||
@@ -745,10 +744,10 @@ void SdrGrafObj::TakeObjInfo(SdrObjTrans
 							   aGeo.nDrehWink % 27000 == 0;
 
 	rInfo.bResizePropAllowed = sal_True;
-	rInfo.bRotateFreeAllowed = bNoPresGrf && !bAnim;
-	rInfo.bRotate90Allowed = bNoPresGrf && !bAnim;
-	rInfo.bMirrorFreeAllowed = bNoPresGrf && !bAnim;
-	rInfo.bMirror45Allowed = bNoPresGrf && !bAnim;
+	rInfo.bRotateFreeAllowed = bNoPresGrf;
+	rInfo.bRotate90Allowed = bNoPresGrf;
+	rInfo.bMirrorFreeAllowed = bNoPresGrf;
+	rInfo.bMirror45Allowed = bNoPresGrf;
 	rInfo.bMirror90Allowed = !bEmptyPresObj;
 	rInfo.bTransparenceAllowed = sal_False;
 	rInfo.bGradientAllowed = sal_False;

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdoole2.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdoole2.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdoole2.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdoole2.cxx Sun Feb  3 13:23:59 2013
@@ -782,8 +782,7 @@ SdrOle2Obj::SdrOle2Obj( const svt::Embed
         SetResizeProtect(sal_True);
 
     // #108759# For math objects, set closed state to transparent
-    if( ImplIsMathObj( xObjRef.GetObject() ) )
-        SetClosedObj( false );
+    SetClosedObj(!ImplIsMathObj( xObjRef.GetObject() ));
 }
 
 // -----------------------------------------------------------------------------
@@ -805,8 +804,7 @@ SdrOle2Obj::SdrOle2Obj( const svt::Embed
         SetResizeProtect(sal_True);
 
     // #108759# For math objects, set closed state to transparent
-    if( ImplIsMathObj( xObjRef.GetObject() ) )
-        SetClosedObj( false );
+    SetClosedObj(!ImplIsMathObj( xObjRef.GetObject() ));
 }
 
 // -----------------------------------------------------------------------------
@@ -829,8 +827,7 @@ SdrOle2Obj::SdrOle2Obj( const svt::Embed
         SetResizeProtect(sal_True);
 
     // #108759# For math objects, set closed state to transparent
-    if( ImplIsMathObj( xObjRef.GetObject() ) )
-        SetClosedObj( false );
+    SetClosedObj(!ImplIsMathObj( xObjRef.GetObject() ));
 }
 
 // -----------------------------------------------------------------------------
@@ -1584,8 +1581,7 @@ void SdrOle2Obj::SetObjRef( const com::s
             SetResizeProtect(sal_True);
 
         // #108759# For math objects, set closed state to transparent
-        if( ImplIsMathObj( rNewObjRef ) )
-            SetClosedObj( false );
+        SetClosedObj(!ImplIsMathObj( rNewObjRef ));
 
         Connect();
     }
@@ -2117,8 +2113,7 @@ void SdrOle2Obj::GetObjRef_Impl()
 			}
 
             // #108759# For math objects, set closed state to transparent
-            if( ImplIsMathObj( xObjRef.GetObject() ) )
-                SetClosedObj( false );
+            SetClosedObj(!ImplIsMathObj( xObjRef.GetObject() ));
 		}
 
         if ( xObjRef.is() )

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdstr.src
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdstr.src?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdstr.src (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdstr.src Sun Feb  3 13:23:59 2013
@@ -2763,12 +2763,12 @@ Bitmap SIP_SA_PAGESHADOW35X35
 
 Bitmap SIP_SA_MARKERS
 {
-	File = "markers.bmp";
+	File = "markers.png";
 };
 
 Bitmap SIP_SA_FINE_MARKERS
 {
-	File = "markers2.bmp";
+	File = "markers2.png";
 };
 
 // #100499#
@@ -2780,7 +2780,7 @@ Bitmap BMP_SVXOLEOBJ
 // #101928#
 Bitmap SIP_SA_ACCESSIBILITY_MARKERS
 {
-	File = "markersACC.bmp";
+	File = "markersACC.png";
 };
 
 String STR_ObjNameSingulMEDIA

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdview.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdview.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdview.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdview.cxx Sun Feb  3 13:23:59 2013
@@ -19,22 +19,20 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svx.hxx"
-#include <editeng/eeitem.hxx>
 
-#include "svx/svdstr.hrc"   // Namen aus der Resource
-#include "svx/svdglob.hxx"  // StringCache
+#include <editeng/eeitem.hxx>
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
 #include <svx/svdpagv.hxx>
 #include <svx/svdmrkv.hxx>
 #include <svx/svdedxv.hxx>
 #include <svx/svdobj.hxx>
-#include <svx/svdopath.hxx> // fuer GetContext
-#include <svx/svdograf.hxx> // fuer GetContext
-#include <svx/svdomedia.hxx> // fuer GetContext
-#include <svx/svdetc.hxx>   // Fuer SdrEngineDefaults
+#include <svx/svdopath.hxx>
+#include <svx/svdograf.hxx>
+#include <svx/svdomedia.hxx>
+#include <svx/svdetc.hxx>
 
 #ifdef DBG_UTIL
 #include <svdibrow.hxx>
@@ -42,8 +40,8 @@
 
 #include "svx/svdoutl.hxx"
 #include "svx/svdview.hxx"
-#include "editeng/editview.hxx" // fuer GetField
-#include "editeng/flditem.hxx"  // fuer URLField
+#include "editeng/editview.hxx"
+#include "editeng/flditem.hxx"
 #include "svx/obj3d.hxx"
 #include "svx/svddrgmt.hxx"
 #include "svx/svdoutl.hxx"
@@ -54,6 +52,8 @@
 #include <svx/sdrpaintwindow.hxx>
 #include <svx/sdrpagewindow.hxx>
 #include <svx/sdrhittesthelper.hxx>
+#include <svx/sdr/contact/viewcontact.hxx>
+#include <drawinglayer/processor2d/contourextractor2d.hxx>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -96,7 +96,9 @@ SdrViewEvent::~SdrViewEvent()
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // helper class for all D&D overlays
 
-void SdrDropMarkerOverlay::ImplCreateOverlays(const SdrView& rView, const basegfx::B2DPolyPolygon& rPolyPolygon)
+void SdrDropMarkerOverlay::ImplCreateOverlays(
+    const SdrView& rView, 
+    const basegfx::B2DPolyPolygon& rLinePolyPolygon)
 {
 	for(sal_uInt32 a(0L); a < rView.PaintWindowCount(); a++)
 	{
@@ -105,9 +107,10 @@ void SdrDropMarkerOverlay::ImplCreateOve
 
 		if(pTargetOverlay)
 		{
-			::sdr::overlay::OverlayPolyPolygonStriped* pNew = new ::sdr::overlay::OverlayPolyPolygonStriped(
-				rPolyPolygon);
-			pTargetOverlay->add(*pNew);
+			::sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new ::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+				rLinePolyPolygon);
+
+            pTargetOverlay->add(*pNew);
 			maObjects.append(*pNew);
 		}
 	}
@@ -115,35 +118,37 @@ void SdrDropMarkerOverlay::ImplCreateOve
 
 SdrDropMarkerOverlay::SdrDropMarkerOverlay(const SdrView& rView, const SdrObject& rObject)
 {
-	ImplCreateOverlays(rView, rObject.TakeXorPoly());
+    ImplCreateOverlays(
+        rView, 
+        rObject.TakeXorPoly());
 }
 
 SdrDropMarkerOverlay::SdrDropMarkerOverlay(const SdrView& rView, const Rectangle& rRectangle)
 {
 	basegfx::B2DPolygon aB2DPolygon;
-	aB2DPolygon.append(basegfx::B2DPoint(rRectangle.Left(), rRectangle.Top()));
+
+    aB2DPolygon.append(basegfx::B2DPoint(rRectangle.Left(), rRectangle.Top()));
 	aB2DPolygon.append(basegfx::B2DPoint(rRectangle.Right(), rRectangle.Top()));
 	aB2DPolygon.append(basegfx::B2DPoint(rRectangle.Right(), rRectangle.Bottom()));
 	aB2DPolygon.append(basegfx::B2DPoint(rRectangle.Left(), rRectangle.Bottom()));
 	aB2DPolygon.setClosed(true);
 
-	basegfx::B2DPolyPolygon aB2DPolyPolygon;
-	aB2DPolyPolygon.append(aB2DPolygon);
-
-	ImplCreateOverlays(rView, aB2DPolyPolygon);
+	ImplCreateOverlays(
+        rView, 
+        basegfx::B2DPolyPolygon(aB2DPolygon));
 }
 
 SdrDropMarkerOverlay::SdrDropMarkerOverlay(const SdrView& rView, const Point& rStart, const Point& rEnd)
 {
 	basegfx::B2DPolygon aB2DPolygon;
-	aB2DPolygon.append(basegfx::B2DPoint(rStart.X(), rStart.Y()));
+
+    aB2DPolygon.append(basegfx::B2DPoint(rStart.X(), rStart.Y()));
 	aB2DPolygon.append(basegfx::B2DPoint(rEnd.X(), rEnd.Y()));
 	aB2DPolygon.setClosed(true);
 
-	basegfx::B2DPolyPolygon aB2DPolyPolygon;
-	aB2DPolyPolygon.append(aB2DPolygon);
-
-	ImplCreateOverlays(rView, aB2DPolyPolygon);
+	ImplCreateOverlays(
+        rView, 
+        basegfx::B2DPolyPolygon(aB2DPolygon));
 }
 
 SdrDropMarkerOverlay::~SdrDropMarkerOverlay()

Modified: openoffice/branches/l10n/main/svx/source/svdraw/svdxcgv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/svdraw/svdxcgv.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/svdraw/svdxcgv.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/svdraw/svdxcgv.cxx Sun Feb  3 13:23:59 2013
@@ -54,6 +54,12 @@
 #include <svl/style.hxx>
 #include <fmobj.hxx>
 #include <vcl/svgdata.hxx>
+#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
+#include <drawinglayer/geometry/viewinformation2d.hxx>
+#include <svx/sdr/contact/viewcontact.hxx>
+#include <svx/sdr/contact/objectcontactofobjlistpainter.hxx>
+#include <svx/sdr/contact/displayinfo.hxx>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -553,14 +559,42 @@ BitmapEx SdrExchangeView::GetMarkedObjBi
 
 		if( !aBmp )
 		{
-            const GDIMetaFile aGDIMetaFile(GetMarkedObjMetaFile(bNoVDevIfOneBmpMarked));
-    		const Rectangle aBound(GetMarkedObjBoundRect());
-           
-            aBmp = convertMetafileToBitmapEx(
-                aGDIMetaFile,
-                basegfx::B2DRange(
-                    aBound.Left(), aBound.Top(),
-                    aBound.Right(), aBound.Bottom()));
+            // choose conversion directly using primitives to bitmap to avoid
+            // rendering errors with tiled bitmap fills (these will be tiled in a
+            // in-between metafile, but tend to show 'gaps' since the target is *no*
+            // bitmap rendering)
+            ::std::vector< SdrObject* > aSdrObjects(GetMarkedObjects());
+            const sal_uInt32 nCount(aSdrObjects.size());
+
+            if(nCount)
+            {
+                // collect sub-primitives as group objects, thus no expensive append
+                // to existing sequence is needed
+                drawinglayer::primitive2d::Primitive2DSequence xPrimitives(nCount);
+
+                for(sal_uInt32 a(0); a < nCount; a++)
+                {
+                    xPrimitives[a] = new drawinglayer::primitive2d::GroupPrimitive2D(
+                        aSdrObjects[a]->GetViewContact().getViewIndependentPrimitive2DSequence());
+                }
+
+                // get logic range
+                const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+                const basegfx::B2DRange aRange(
+                    drawinglayer::primitive2d::getB2DRangeFromPrimitive2DSequence(
+                        xPrimitives, 
+                        aViewInformation2D));
+
+                if(!aRange.isEmpty())
+                {
+                    // if we have geometry and it has a range, convert to BitmapEx using
+                    // common tooling
+                    aBmp = convertPrimitive2DSequenceToBitmapEx(
+                        xPrimitives,
+                        aRange,
+                        500000);
+                }
+            }
 		}
 	}
 
@@ -716,9 +750,10 @@ Graphic SdrExchangeView::GetObjGraphic( 
 
 // -----------------------------------------------------------------------------
 
-void SdrExchangeView::DrawMarkedObj(OutputDevice& rOut) const
+::std::vector< SdrObject* > SdrExchangeView::GetMarkedObjects() const
 {
 	SortMarkedObjects();
+    ::std::vector< SdrObject* > aRetval;
 
     ::std::vector< ::std::vector< SdrMark* > >  aObjVectors( 2 );
     ::std::vector< SdrMark* >&                  rObjVector1 = aObjVectors[ 0 ];
@@ -745,9 +780,27 @@ void SdrExchangeView::DrawMarkedObj(Outp
         for( sal_uInt32 i = 0; i < rObjVector.size(); i++ )
         {
     		SdrMark*    pMark = rObjVector[ i ];
-            pMark->GetMarkedSdrObj()->SingleObjectPainter( rOut ); // #110094#-17
+            aRetval.push_back(pMark->GetMarkedSdrObj());
         }
     }
+
+    return aRetval;
+}
+
+// -----------------------------------------------------------------------------
+
+void SdrExchangeView::DrawMarkedObj(OutputDevice& rOut) const
+{
+    ::std::vector< SdrObject* > aSdrObjects(GetMarkedObjects());
+
+    if(aSdrObjects.size())
+    {
+        sdr::contact::ObjectContactOfObjListPainter aPainter(rOut, aSdrObjects, aSdrObjects[0]->GetPage());
+        sdr::contact::DisplayInfo aDisplayInfo;
+
+        // do processing
+        aPainter.ProcessDisplay(aDisplayInfo);
+    }
 }
 
 // -----------------------------------------------------------------------------
@@ -763,66 +816,45 @@ SdrModel* SdrExchangeView::GetMarkedObjM
 
 	if( !mxSelectionController.is() || !mxSelectionController->GetMarkedObjModel( pNeuPag ) )
 	{
-		::std::vector< ::std::vector< SdrMark* > >  aObjVectors( 2 );
-		::std::vector< SdrMark* >&                  rObjVector1 = aObjVectors[ 0 ];
-		::std::vector< SdrMark* >&                  rObjVector2 = aObjVectors[ 1 ];
-		const SdrLayerAdmin&                        rLayerAdmin = pMod->GetLayerAdmin();
-		const sal_uInt32                            nControlLayerId = rLayerAdmin.GetLayerID( rLayerAdmin.GetControlLayerName(), sal_False );
-		sal_uInt32                                  n, nCount, nCloneErrCnt = 0;
-
-		for( n = 0, nCount = GetMarkedObjectCount(); n < nCount; n++ )
-		{
-			SdrMark* pMark = GetSdrMarkByIndex( n );
-
-			// paint objects on control layer on top of all otherobjects
-			if( nControlLayerId == pMark->GetMarkedSdrObj()->GetLayer() )
-				rObjVector2.push_back( pMark );
-			else
-				rObjVector1.push_back( pMark );
-		}
+        ::std::vector< SdrObject* > aSdrObjects(GetMarkedObjects());
 
 		// #i13033#
 		// New mechanism to re-create the connections of cloned connectors
 		CloneList aCloneList;
+        sal_uInt32 nCloneErrCnt(0);
 
-		for( n = 0, nCount = aObjVectors.size(); n < nCount; n++ )
+		for( sal_uInt32 i(0); i < aSdrObjects.size(); i++ )
 		{
-			::std::vector< SdrMark* >& rObjVector = aObjVectors[ n ];
+			const SdrObject*    pObj = aSdrObjects[i];
+			SdrObject*          pNeuObj;
 
-			for( sal_uInt32 i = 0; i < rObjVector.size(); i++ )
+			if( pObj->ISA( SdrPageObj ) )
 			{
-   				const SdrMark*      pMark = rObjVector[ i ];
-				const SdrObject*    pObj = pMark->GetMarkedSdrObj();
-				SdrObject*          pNeuObj;
-
-				if( pObj->ISA( SdrPageObj ) )
-				{
-					// convert SdrPageObj's to a graphic representation, because
-					// virtual connection to referenced page gets lost in new model
-					pNeuObj = new SdrGrafObj( GetObjGraphic( pMod, pObj ), pObj->GetLogicRect() );
-					pNeuObj->SetPage( pNeuPag );
-					pNeuObj->SetModel( pNeuMod );
-				}
-				else
-				{
-					// #116235#
-    				// pNeuObj = pObj->Clone( pNeuPag, pNeuMod );
-    				pNeuObj = pObj->Clone();
-					pNeuObj->SetPage( pNeuPag );
-					pNeuObj->SetModel( pNeuMod );
-				}
+				// convert SdrPageObj's to a graphic representation, because
+				// virtual connection to referenced page gets lost in new model
+				pNeuObj = new SdrGrafObj( GetObjGraphic( pMod, pObj ), pObj->GetLogicRect() );
+				pNeuObj->SetPage( pNeuPag );
+				pNeuObj->SetModel( pNeuMod );
+			}
+			else
+			{
+				// #116235#
+    			// pNeuObj = pObj->Clone( pNeuPag, pNeuMod );
+    			pNeuObj = pObj->Clone();
+				pNeuObj->SetPage( pNeuPag );
+				pNeuObj->SetModel( pNeuMod );
+			}
 
-				if( pNeuObj )
-				{
-					SdrInsertReason aReason(SDRREASON_VIEWCALL);
-					pNeuPag->InsertObject(pNeuObj,CONTAINER_APPEND,&aReason);
+			if( pNeuObj )
+			{
+				SdrInsertReason aReason(SDRREASON_VIEWCALL);
+				pNeuPag->InsertObject(pNeuObj,CONTAINER_APPEND,&aReason);
 
-					// #i13033#
-					aCloneList.AddPair(pObj, pNeuObj);
-				}
-				else
-					nCloneErrCnt++;
+				// #i13033#
+				aCloneList.AddPair(pObj, pNeuObj);
 			}
+			else
+				nCloneErrCnt++;
 		}
 
 		// #i13033#

Modified: openoffice/branches/l10n/main/svx/source/table/svdotable.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/table/svdotable.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/table/svdotable.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/table/svdotable.cxx Sun Feb  3 13:23:59 2013
@@ -2427,7 +2427,7 @@ void SdrTableObj::AddToHdlList(SdrHdlLis
 
 	// add remaining handles
 	SdrHdl* pH=0;
-	rHdlList.AddHdl( pH = new TableBorderHdl( aRect ) ); pH->SetMoveOutside( true );
+	rHdlList.AddHdl( pH = new TableBorderHdl( aRect, !IsTextEditActive() ) ); pH->SetMoveOutside( true );
 	rHdlList.AddHdl( pH = new SdrHdl(aRect.TopLeft(),HDL_UPLFT) ); pH->SetMoveOutside( true );
 	rHdlList.AddHdl( pH = new SdrHdl(aRect.TopCenter(),HDL_UPPER) ); pH->SetMoveOutside( true );
 	rHdlList.AddHdl( pH = new SdrHdl(aRect.TopRight(),HDL_UPRGT) ); pH->SetMoveOutside( true );

Modified: openoffice/branches/l10n/main/svx/source/table/tablehandles.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/table/tablehandles.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/table/tablehandles.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/table/tablehandles.cxx Sun Feb  3 13:23:59 2013
@@ -42,7 +42,7 @@
 #include <svx/svdmrkv.hxx>
 #include <svx/svdpagv.hxx>
 #include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
-#include <svx/sdr/overlay/overlayhatchrect.hxx>
+#include <svx/sdr/overlay/overlayrectangle.hxx>
 #include <drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx>
 
 namespace sdr { namespace table {
@@ -252,11 +252,13 @@ drawinglayer::primitive2d::Primitive2DSe
 
 // ====================================================================
 
-TableBorderHdl::TableBorderHdl( const Rectangle& rRect )
-: SdrHdl( rRect.TopLeft(), HDL_MOVE )
-, maRectangle( rRect )
+TableBorderHdl::TableBorderHdl( 
+    const Rectangle& rRect, 
+    bool bAnimate)
+:   SdrHdl(rRect.TopLeft(), HDL_MOVE), 
+    maRectangle(rRect),
+    mbAnimate(bAnimate)
 {
-
 }
 
 Pointer TableBorderHdl::GetPointer() const
@@ -278,7 +280,6 @@ void TableBorderHdl::CreateB2dIAObject()
 		{
 			for(sal_uInt32 nWindow = 0; nWindow < pPageView->PageWindowCount(); nWindow++)
 			{
-				// const SdrPageViewWinRec& rPageViewWinRec = rPageViewWinList[b];
 				const SdrPageWindow& rPageWindow = *pPageView->GetPageWindow(nWindow);
 
 				if(rPageWindow.GetPaintWindow().OutputToWindow())
@@ -286,14 +287,24 @@ void TableBorderHdl::CreateB2dIAObject()
 					if(rPageWindow.GetOverlayManager())
 					{
 						const basegfx::B2DRange aRange(vcl::unotools::b2DRectangleFromRectangle(maRectangle));
-						sdr::overlay::OverlayObject* pOverlayObject = new sdr::overlay::OverlayHatchRect(
+                        const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
+                        const Color aHilightColor(aSvtOptionsDrawinglayer.getHilightColor());
+                        const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
+
+						sdr::overlay::OverlayObject* pOverlayObject = new sdr::overlay::OverlayRectangle(
 							aRange.getMinimum(),
 							aRange.getMaximum(),
-							Color(0x80, 0x80, 0x80),
+							aHilightColor,
+                            fTransparence,
 							6.0,
 							0.0,
-							45 * F_PI180,
-							0.0);
+							0.0,
+                            500,
+                            // make animation dependent from text edit active, because for tables
+                            // this handle is also used when text edit *is* active for it. This
+                            // interferes too much concerning repaint stuff (at least as long as
+                            // text edit is not yet on the overlay)
+                            getAnimate()); 
 
 						rPageWindow.GetOverlayManager()->add(*pOverlayObject);
 						maOverlayGroup.append(*pOverlayObject);

Modified: openoffice/branches/l10n/main/svx/source/table/tablehandles.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/table/tablehandles.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/table/tablehandles.hxx (original)
+++ openoffice/branches/l10n/main/svx/source/table/tablehandles.hxx Sun Feb  3 13:23:59 2013
@@ -74,16 +74,22 @@ private:
 class TableBorderHdl : public SdrHdl
 {
 public:
-	TableBorderHdl( const Rectangle& rRect );
+	TableBorderHdl( 
+        const Rectangle& rRect,
+        bool bAnimate);
 
 	virtual Pointer GetPointer() const;
+    bool getAnimate() const { return mbAnimate; }
 
 protected:
 	// create marker for this kind
 	virtual void CreateB2dIAObject();
 
 private:
-	Rectangle maRectangle;
+    Rectangle maRectangle;
+
+    /// bitfield
+    bool            mbAnimate : 1;
 };
 
 } // end of namespace table

Modified: openoffice/branches/l10n/main/svx/source/tbxctrls/extrusioncontrols.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/tbxctrls/extrusioncontrols.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/tbxctrls/extrusioncontrols.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/tbxctrls/extrusioncontrols.cxx Sun Feb  3 13:23:59 2013
@@ -28,11 +28,6 @@
 
 #include <string> // HACK: prevent conflict between STLPORT and Workshop headers
 
-#include <com/sun/star/util/XURLTransformer.hpp> 
-#include <com/sun/star/awt/MenuItemStyle.hpp>
-#include <com/sun/star/awt/XPopupMenuExtended.hpp>
-#include <com/sun/star/graphic/XGraphic.hpp>
-
 #include <vos/mutex.hxx>
 
 #include <svtools/toolbarmenu.hxx>

Modified: openoffice/branches/l10n/main/svx/source/tbxctrls/fontworkgallery.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/tbxctrls/fontworkgallery.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/tbxctrls/fontworkgallery.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/tbxctrls/fontworkgallery.cxx Sun Feb  3 13:23:59 2013
@@ -100,21 +100,18 @@ FontWorkGalleryDialog::FontWorkGalleryDi
 	maCtlFavorites.SetLineCount( nLineCount );
 	maCtlFavorites.SetExtraSpacing( 3 );
 
-	initfavorites( GALLERY_THEME_FONTWORK, maFavoritesHorizontal );
-	fillFavorites( GALLERY_THEME_FONTWORK, maFavoritesHorizontal );
+	initFavorites( GALLERY_THEME_FONTWORK );
+	fillFavorites( GALLERY_THEME_FONTWORK );
 }
 
-static void delete_bitmap( Bitmap* p ) { delete p; }
-
 // -----------------------------------------------------------------------
 FontWorkGalleryDialog::~FontWorkGalleryDialog()
 {
-	std::for_each( maFavoritesHorizontal.begin(), maFavoritesHorizontal.end(), delete_bitmap );
 }
 
 // -----------------------------------------------------------------------
 
-void FontWorkGalleryDialog::initfavorites(sal_uInt16 nThemeId, std::vector< Bitmap * >& rFavorites)
+void FontWorkGalleryDialog::initFavorites(sal_uInt16 nThemeId)
 {
 	// Ueber die Gallery werden die Favoriten eingelesen
 	sal_uIntPtr nFavCount = GalleryExplorer::GetSdrObjCount( nThemeId );
@@ -126,35 +123,32 @@ void FontWorkGalleryDialog::initfavorite
 	FmFormModel *pModel = NULL;
 	for( nModelPos = 0; nModelPos < nFavCount; nModelPos++ )
 	{
-		Bitmap* pThumb = new Bitmap;
-
-		if( GalleryExplorer::GetSdrObj( nThemeId, nModelPos, pModel, pThumb ) )
-		{
-/*
-			VirtualDevice aVDev;
-			Size aRenderSize( aThumbSize.Width() * 4, aThumbSize.Height() * 4 );
-			aVDev.SetOutputSizePixel( aRenderSize );
+		BitmapEx aThumb;
 
-			if( GalleryExplorer::DrawCentered( &aVDev, *pModel ) )
-			{
-				aThumb = aVDev.GetBitmap( Point(), aVDev.GetOutputSizePixel() );
+        GalleryExplorer::GetSdrObj(nThemeId, nModelPos, pModel, &aThumb);
 
-				Size aMS( 4, 4 );
-				BmpFilterParam aParam( aMS );
-				aThumb.Filter( BMP_FILTER_MOSAIC, &aParam );
-				aThumb.Scale( aThumbSize );
-			}
-*/
-		}
+        if(!!aThumb)
+        {
+            static const sal_uInt32 nLen(8);
+            static const Color aW(COL_WHITE);
+            static const Color aG(0xef, 0xef, 0xef);
+            VirtualDevice aVDev;
+            const Point aNull(0, 0);
+            const Size aSize(aThumb.GetSizePixel());
+
+            aVDev.SetOutputSizePixel(aSize);
+            aVDev.DrawCheckered(aNull, aSize, nLen, aW, aG);
+            aVDev.DrawBitmapEx(aNull, aThumb);
 
-		rFavorites.push_back( pThumb );
+            maFavoritesHorizontal.push_back(aVDev.GetBitmap(aNull, aSize));
+        }
 	}
 
 	// Gallery thema freigeben
 	GalleryExplorer::EndLocking(nThemeId);
 }
 
-void FontWorkGalleryDialog::fillFavorites( sal_uInt16 nThemeId, std::vector< Bitmap * >& rFavorites )
+void FontWorkGalleryDialog::fillFavorites(sal_uInt16 nThemeId)
 {
 	mnThemeId = nThemeId;
 
@@ -164,7 +158,7 @@ void FontWorkGalleryDialog::fillFavorite
 	aThumbSize.Width() -= 12;
 	aThumbSize.Height() -= 12;
 
-	std::vector< Bitmap * >::size_type nFavCount = rFavorites.size();
+	std::vector< Bitmap * >::size_type nFavCount = maFavoritesHorizontal.size();
 
 	// ValueSet Favoriten
 	if( nFavCount > (nColCount * nLineCount) )
@@ -182,7 +176,7 @@ void FontWorkGalleryDialog::fillFavorite
 		String aStr(SVX_RES(RID_SVXFLOAT3D_FAVORITE));
 		aStr += sal_Unicode(' ');
 		aStr += String::CreateFromInt32((sal_Int32)nFavorite);
-		Image aThumbImage( *rFavorites[nFavorite-1] );
+		Image aThumbImage( maFavoritesHorizontal[nFavorite-1] );
 		maCtlFavorites.InsertItem( (sal_uInt16)nFavorite, aThumbImage, aStr );
 	}
 }

Modified: openoffice/branches/l10n/main/svx/source/xoutdev/_xoutbmp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/xoutdev/_xoutbmp.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/xoutdev/_xoutbmp.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/xoutdev/_xoutbmp.cxx Sun Feb  3 13:23:59 2013
@@ -19,8 +19,6 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svx.hxx"
 
@@ -37,6 +35,7 @@
 #include "svx/xoutbmp.hxx"
 #include <svtools/FilterConfigItem.hxx>
 #include <svtools/filter.hxx>
+#include <vcl/dibtools.hxx>
 
 // -----------
 // - Defines -
@@ -53,186 +52,6 @@
 
 GraphicFilter* XOutBitmap::pGrfFilter = NULL;
 
-// -----------------------------------------------------------------------------
-
-BitmapEx XOutBitmap::CreateQuickDrawBitmapEx( const Graphic& rGraphic, const OutputDevice& rCompDev,
-											  const MapMode& rMapMode, const Size& rLogSize,
-											  const Point& rPoint, const Size& rSize )
-{
-	BitmapEx aRetBmp;
-
-	if( rGraphic.IsAlpha() )
-		aRetBmp = rGraphic.GetBitmapEx();
-	else
-	{
-		VirtualDevice	aVDev( rCompDev );
-		MapMode			aMap( rMapMode );
-
-		aMap.SetOrigin( Point() );
-		aVDev.SetMapMode( aMap );
-
-		Point	aPoint( aVDev.LogicToPixel( rPoint ) );
-		Size	aOldSize( aVDev.LogicToPixel( rSize ) );
-		Size	aAbsSize( aOldSize );
-		Size	aQSizePix( aVDev.LogicToPixel( rLogSize ) );
-
-		aVDev.SetMapMode( MapMode() );
-
-		if( aOldSize.Width() < 0 )
-			aAbsSize.Width() = -aAbsSize.Width();
-
-		if( aOldSize.Height() < 0 )
-			aAbsSize.Height() = -aAbsSize.Height();
-
-		if( aVDev.SetOutputSizePixel( aAbsSize ) )
-		{
-			Point		aNewOrg( -aPoint.X(), -aPoint.Y() );
-			const Point	aNullPoint;
-
-			// horizontale Spiegelung ggf. beruecksichtigen
-			if( aOldSize.Width() < 0 )
-			{
-				aNewOrg.X() -= aOldSize.Width();
-
-				// und jetzt noch einen abziehen
-				aNewOrg.X()--;
-			}
-
-			// vertikale Spiegelung ggf. beruecksichtigen
-			if( rSize.Height() < 0 )
-			{
-				aNewOrg.Y() -= aOldSize.Height();
-
-				// und jetzt noch einen abziehen
-				aNewOrg.Y()--;
-			}
-
-			if( rGraphic.GetType() != GRAPHIC_BITMAP )
-			{
-				rGraphic.Draw( &aVDev, aNewOrg, aQSizePix );
-
-				const Bitmap	aBmp( aVDev.GetBitmap( aNullPoint, aAbsSize ) );
-				Bitmap			aMask;
-
-				Graphic( rGraphic.GetGDIMetaFile().GetMonochromeMtf( COL_BLACK ) ).Draw( &aVDev, aNewOrg, aQSizePix );
-				aMask = aVDev.GetBitmap( aNullPoint, aAbsSize );
-				aRetBmp = BitmapEx( aBmp, aMask );
-			}
-			else
-			{
-				Bitmap	aBmp( rGraphic.GetBitmap() );
-
-// UNX has got problems with 1x1 bitmaps which are transparent (KA 02.11.1998)
-#ifdef UNX
-				const Size	aBmpSize( aBmp.GetSizePixel() );
-				sal_Bool		bFullTrans = sal_False;
-
-				if( aBmpSize.Width() == 1 && aBmpSize.Height() == 1 && rGraphic.IsTransparent() )
-				{
-					Bitmap				aTrans( rGraphic.GetBitmapEx().GetMask() );
-					BitmapReadAccess*	pMAcc = aBmp.AcquireReadAccess();
-
-					if( pMAcc )
-					{
-						if( pMAcc->GetColor( 0, 0 ) == BitmapColor( Color( COL_WHITE ) ) )
-							bFullTrans = sal_True;
-
-						aTrans.ReleaseAccess( pMAcc );
-					}
-				}
-
-				if( !bFullTrans )
-#endif // UNX
-
-				{
-					DitherBitmap( aBmp );
-					aVDev.DrawBitmap( aNewOrg, aQSizePix, aBmp );
-					aBmp = aVDev.GetBitmap( aNullPoint, aAbsSize );
-
-					if( !rGraphic.IsTransparent() )
-						aRetBmp = BitmapEx( aBmp );
-					else
-					{
-						Bitmap	aTrans( rGraphic.GetBitmapEx().GetMask() );
-
-						if( !aTrans )
-							aRetBmp = BitmapEx( aBmp, rGraphic.GetBitmapEx().GetTransparentColor() );
-						else
-						{
-							aVDev.DrawBitmap( aNewOrg, aQSizePix, aTrans );
-							aRetBmp = BitmapEx( aBmp, aVDev.GetBitmap( Point(), aAbsSize ) );
-						}
-					}
-				}
-			}
-		}
-	}
-
-	return aRetBmp;
-}
-
-// ------------------------------------------------------------------------
-
-void XOutBitmap::DrawQuickDrawBitmapEx( OutputDevice* pOutDev, const Point& rPt,
-										const Size& rSize, const BitmapEx& rBmpEx )
-{
-	const Size		aBmpSizePix( rBmpEx.GetSizePixel() );
-	const Size		aSizePix( pOutDev->LogicToPixel( rSize ) );
-
-	if ( ( aSizePix.Width() - aBmpSizePix.Width() ) || ( aSizePix.Height() - aBmpSizePix.Height() ) )
-		rBmpEx.Draw( pOutDev, rPt, rSize );
-	else
-		rBmpEx.Draw( pOutDev, rPt );
-}
-
-// ------------------------------------------------------------------------
-
-void XOutBitmap::DrawTiledBitmapEx( OutputDevice* pOutDev,
-									const Point& rStartPt, const Size& rGrfSize,
-									const Rectangle& rTileRect, const BitmapEx& rBmpEx )
-{
-	Rectangle		aClipRect( pOutDev->LogicToPixel( pOutDev->GetClipRegion().GetBoundRect() ) );
-	Rectangle		aPixRect( pOutDev->LogicToPixel( rTileRect ) );
-	const Size		aPixSize( pOutDev->LogicToPixel( rGrfSize ) );
-	const Point		aPixPoint( pOutDev->LogicToPixel( rStartPt ) );
-	Point  			aOrg;
-	const long		nWidth = aPixSize.Width();
-	const long 		nHeight = aPixSize.Height();
-	long			nXPos = aPixPoint.X() + ( ( aPixRect.Left() - aPixPoint.X() ) / nWidth ) * nWidth;
-	long			nYPos = aPixPoint.Y() + ( ( aPixRect.Top() - aPixPoint.Y() ) / nHeight ) * nHeight;
-	const long		nBottom = aPixRect.Bottom();
-	const long		nRight = aPixRect.Right();
-	const long		nLeft = nXPos;
-	const sal_Bool		bNoSize = ( aPixSize == rBmpEx.GetSizePixel() );
-
-	pOutDev->Push();
-	pOutDev->SetMapMode( MapMode() );
-
-	// ggf. neue ClipRegion berechnen und setzen
-	if ( pOutDev->IsClipRegion() )
-		aPixRect.Intersection( aClipRect );
-
-	pOutDev->SetClipRegion( aPixRect );
-
-	while( nYPos <= nBottom )
-	{
-		while( nXPos <= nRight )
-		{
-			if ( bNoSize )
-				rBmpEx.Draw( pOutDev, Point( nXPos, nYPos ) );
-			else
-				rBmpEx.Draw( pOutDev, Point( nXPos, nYPos ), aPixSize );
-
-			nXPos += nWidth;
-		}
-
-		nXPos = nLeft;
-		nYPos += nHeight;
-	}
-
-	pOutDev->Pop();
-}
-
 // ------------------------------------------------------------------------
 
 Animation XOutBitmap::MirrorAnimation( const Animation& rAnimation, sal_Bool bHMirr, sal_Bool bVMirr )
@@ -577,8 +396,8 @@ Bitmap XOutBitmap::DetectEdges( const Bi
 				const long			nHeight = aSize.Height();
 				const long			nHeight2 = nHeight - 2L;
 				const long			lThres2 = (long) cThreshold * cThreshold;
-				const sal_uInt8 nWhitePalIdx = pWriteAcc->GetBestPaletteIndex( Color( COL_WHITE ) );
-				const sal_uInt8 nBlackPalIdx = pWriteAcc->GetBestPaletteIndex( Color( COL_BLACK ) );
+				const sal_uInt8 nWhitePalIdx(static_cast< sal_uInt8 >(pWriteAcc->GetBestPaletteIndex(Color(COL_WHITE))));
+				const sal_uInt8 nBlackPalIdx(static_cast< sal_uInt8 >(pWriteAcc->GetBestPaletteIndex(Color(COL_BLACK))));
 				long				nSum1;
 				long				nSum2;
 				long				lGray;

Modified: openoffice/branches/l10n/main/svx/source/xoutdev/xattrbmp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/xoutdev/xattrbmp.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/xoutdev/xattrbmp.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/xoutdev/xattrbmp.cxx Sun Feb  3 13:23:59 2013
@@ -42,6 +42,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <vcl/salbtype.hxx>
 #include <vcl/bmpacc.hxx>
+#include <vcl/dibtools.hxx>
 
 using namespace ::com::sun::star;
 
@@ -154,7 +155,7 @@ XFillBitmapItem::XFillBitmapItem(SvStrea
 		    // Behandlung der alten Bitmaps
 		    Bitmap aBmp;
 
-		    rIn >> aBmp;
+            ReadDIB(aBmp, rIn, true);
             maGraphicObject = Graphic(aBmp);
 	    }
 	    else if(1 == nVer)
@@ -174,7 +175,7 @@ XFillBitmapItem::XFillBitmapItem(SvStrea
 		    {
 			    Bitmap aBmp;
 
-                rIn >> aBmp;
+                ReadDIB(aBmp, rIn, true);
                 maGraphicObject = Graphic(aBmp);
 		    }
 		    else if(XBITMAP_8X8 == iTmp)
@@ -201,7 +202,7 @@ XFillBitmapItem::XFillBitmapItem(SvStrea
         {
 		    BitmapEx aBmpEx;
 
-		    rIn >> aBmpEx;
+            ReadDIBBitmapEx(aBmpEx, rIn);
             maGraphicObject = Graphic(aBmpEx);
         }
     }
@@ -253,7 +254,7 @@ SvStream& XFillBitmapItem::Store( SvStre
 
 	if(!IsIndex())
 	{
-        rOut << maGraphicObject.GetGraphic().GetBitmapEx();
+        WriteDIBBitmapEx(maGraphicObject.GetGraphic().GetBitmapEx(), rOut);
 	}
 
 	return rOut;

Modified: openoffice/branches/l10n/main/svx/source/xoutdev/xpool.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/svx/source/xoutdev/xpool.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/svx/source/xoutdev/xpool.cxx (original)
+++ openoffice/branches/l10n/main/svx/source/xoutdev/xpool.cxx Sun Feb  3 13:23:59 2013
@@ -48,11 +48,11 @@ XOutdevItemPool::XOutdevItemPool(
 	const XubString aNullStr;
 	const Graphic aNullGraphic;
 	const basegfx::B2DPolyPolygon aNullPol;
-	const Color aNullLineCol(RGB_Color(COL_BLACK));
-	const Color aNullFillCol(RGB_COLORDATA( 153, 204, 255 ));
+	const Color aNullLineCol(COL_DEFAULT_SHAPE_STROKE); // #121448# Use defined default color
+	const Color aNullFillCol(COL_DEFAULT_SHAPE_FILLING); // #121448# Use defined default color
 	const Color aNullShadowCol(RGB_Color(COL_LIGHTGRAY));
 	const XDash aNullDash;
-	const XGradient aNullGrad(aNullLineCol, RGB_Color(COL_WHITE));
+	const XGradient aNullGrad(RGB_Color(COL_BLACK), RGB_Color(COL_WHITE));
 	const XHatch aNullHatch(aNullLineCol);
 
 	// get master pointer, evtl. add myself to the end of the pools

Modified: openoffice/branches/l10n/main/sw/inc/IDocumentMarkAccess.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/inc/IDocumentMarkAccess.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/inc/IDocumentMarkAccess.hxx (original)
+++ openoffice/branches/l10n/main/sw/inc/IDocumentMarkAccess.hxx Sun Feb  3 13:23:59 2013
@@ -241,8 +241,8 @@ class IDocumentMarkAccess
         // Returns the MarkType used to create the mark
         static MarkType SAL_DLLPUBLIC_EXPORT GetType(const ::sw::mark::IMark& rMark);
 
-        static const ::rtl::OUString SAL_DLLPUBLIC_EXPORT & GetCrossRefHeadingBookmarkNamePrefix();
-        static const bool SAL_DLLPUBLIC_EXPORT IsLegalPaMForCrossRefHeadingBookmark( const SwPaM& rPaM );
+        static SAL_DLLPUBLIC_EXPORT const ::rtl::OUString& GetCrossRefHeadingBookmarkNamePrefix();
+        static SAL_DLLPUBLIC_EXPORT bool IsLegalPaMForCrossRefHeadingBookmark( const SwPaM& );
     protected:
         virtual ~IDocumentMarkAccess() {};
 };

Modified: openoffice/branches/l10n/main/sw/inc/doc.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/inc/doc.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/inc/doc.hxx (original)
+++ openoffice/branches/l10n/main/sw/inc/doc.hxx Sun Feb  3 13:23:59 2013
@@ -602,8 +602,6 @@ private:
 
     sal_Bool    mbStartIdleTimer                 ;    // idle timer mode start/stop
 
-	bool		mbSetDrawDefaults				 ;	  // set draw pool defaults for freshly created documents
-
 	static SwAutoCompleteWord *pACmpltWords;	// Liste aller Worte fuers AutoComplete
 
 	//---------------- private Methoden ------------------------------
@@ -2121,13 +2119,6 @@ public:
     ::sw::UndoManager      & GetUndoManager();
     ::sw::UndoManager const& GetUndoManager() const;
     SfxObjectShell* CreateCopy(bool bCallInitNew) const;
-
-	/// must be called only in SwDocShell::InitNew, causes UpdateDrawDefaults to be called when drawing layer is created
-	void SetDrawDefaults();
-
-private:
-	/// method to set new graphics pool defaults, must only be called by SetDrawDefaults!
-	void UpdateDrawDefaults();
 };
 
 

Modified: openoffice/branches/l10n/main/sw/inc/fmtclds.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/inc/fmtclds.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/inc/fmtclds.hxx (original)
+++ openoffice/branches/l10n/main/sw/inc/fmtclds.hxx Sun Feb  3 13:23:59 2013
@@ -101,7 +101,7 @@ public:
 	SwFmtCol( const SwFmtCol& );
 	~SwFmtCol();
 	//i120133
-	const	sal_Int16 GetAdjustValue() const { return aWidthAdjustValue; }
+	sal_Int16 GetAdjustValue() const { return aWidthAdjustValue; }
 	void	SetAdjustValue( const sal_Int16& n ) { aWidthAdjustValue = n; }
 
 	SwFmtCol& operator=( const SwFmtCol& );

Modified: openoffice/branches/l10n/main/sw/inc/numrule.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/inc/numrule.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/inc/numrule.hxx (original)
+++ openoffice/branches/l10n/main/sw/inc/numrule.hxx Sun Feb  3 13:23:59 2013
@@ -55,7 +55,8 @@ const sal_Unicode cBulletChar	= 0x2022;	
 class SW_DLLPUBLIC SwNumFmt : public SvxNumberFormat, public SwClient
 {
 	SwFmtVertOrient* pVertOrient;
-
+	//For i120928,record the cp info of graphic within bullet
+	sal_Unicode 	cGrfBulletCP;
 	SW_DLLPRIVATE void UpdateNumNodes( SwDoc* pDoc );
     SW_DLLPRIVATE virtual void NotifyGraphicArrived();
 
@@ -79,6 +80,9 @@ public:
 
 	SwCharFmt* GetCharFmt() const { return (SwCharFmt*)GetRegisteredIn(); }
 	void SetCharFmt( SwCharFmt* );
+	//For i120928,access the cp info of graphic within bullet
+	void			SetGrfBulletCP(sal_Unicode cP){cGrfBulletCP = cP;}
+	sal_Unicode 	GetGrfBulletCP()const {return cGrfBulletCP;}
     void ForgetCharFmt();
 
 	virtual void			SetCharFmtName(const String& rSet);

Modified: openoffice/branches/l10n/main/sw/inc/pch/precompiled_sw.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/inc/pch/precompiled_sw.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/inc/pch/precompiled_sw.hxx (original)
+++ openoffice/branches/l10n/main/sw/inc/pch/precompiled_sw.hxx Sun Feb  3 13:23:59 2013
@@ -67,7 +67,6 @@
 #include "com/sun/star/accessibility/XAccessibleTable.hpp"
 #include "com/sun/star/accessibility/XAccessibleTextAttributes.hpp"
 #include "com/sun/star/accessibility/XAccessibleValue.hpp"
-#include "com/sun/star/awt/MessageBoxCommand.hpp"
 #include "com/sun/star/awt/PosSize.hpp"
 #include "com/sun/star/awt/ScrollBarOrientation.hpp"
 #include "com/sun/star/awt/Size.hpp"

Modified: openoffice/branches/l10n/main/sw/inc/viewopt.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/inc/viewopt.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/inc/viewopt.hxx (original)
+++ openoffice/branches/l10n/main/sw/inc/viewopt.hxx Sun Feb  3 13:23:59 2013
@@ -91,7 +91,7 @@ namespace svtools{ class ColorConfig;}
 #define VIEWOPT_2_GRFKEEPZOOM	    0x00040000L
 #define VIEWOPT_2_CONTENT_TIPS      0x00100000L
 #define VIEWOPT_2_RESERVED3         0x00200000L
-#define VIEWOPT_2_RESERVED4         0x00400000L
+#define VIEWOPT_2_SCROLLBAR_TIPS    0x00400000L
 #define VIEWOPT_2_PRTFORMAT         0x00800000L
 #define VIEWOPT_2_SHADOWCRSR        0x01000000L
 #define VIEWOPT_2_V_RULER_RIGHT     0x02000000L
@@ -474,6 +474,8 @@ public:
         { return nUIOptions & VIEWOPT_2_CONTENT_TIPS ? sal_True : sal_False; }
 	sal_Bool 	IsPrtFormat() const
 		{ return nUIOptions & VIEWOPT_2_PRTFORMAT ? sal_True : sal_False; }
+    sal_Bool    IsShowScrollBarTips() const
+        { return nUIOptions & VIEWOPT_2_SCROLLBAR_TIPS ? sal_True : sal_False; }
 
     SvxZoomType    GetZoomType()      const { return eZoom; }
 
@@ -491,6 +493,8 @@ public:
         { b ? (nUIOptions |= VIEWOPT_2_CONTENT_TIPS) : (nUIOptions &= ~VIEWOPT_2_CONTENT_TIPS); }
     void SetPrtFormat( sal_Bool b)
         { b ? (nUIOptions |= VIEWOPT_2_PRTFORMAT) : (nUIOptions &= ~VIEWOPT_2_PRTFORMAT); }
+    void SetShowScrollBarTips( sal_Bool b)
+        { b ? (nUIOptions |= VIEWOPT_2_SCROLLBAR_TIPS) : (nUIOptions &= ~VIEWOPT_2_SCROLLBAR_TIPS); }
 
     void            SetZoomType     (SvxZoomType eZoom_){ eZoom = eZoom_;  }
 	void   			SetTblDest( sal_uInt8 nNew )  	{ nTblDest = nNew;  }

Modified: openoffice/branches/l10n/main/sw/source/core/access/accpara.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/access/accpara.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/access/accpara.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/access/accpara.cxx Sun Feb  3 13:23:59 2013
@@ -758,6 +758,7 @@ sal_Bool SwAccessibleParagraph::GetGlyph
         rBound.startPos = pBreakIt->GetBreakIter()->previousCharacters(
              rText, rBound.endPos, aLocale, nIterMode, 1, nDone );
 
+        bRet = ((rBound.startPos <= nPos) && (nPos <= rBound.endPos));
         DBG_ASSERT( rBound.startPos <= nPos, "start pos too high" );
         DBG_ASSERT( rBound.endPos >= nPos, "end pos too low" );
     }

Modified: openoffice/branches/l10n/main/sw/source/core/bastyp/calc.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/bastyp/calc.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/bastyp/calc.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/bastyp/calc.cxx Sun Feb  3 13:23:59 2013
@@ -1760,7 +1760,7 @@ double SwSbxValue::GetDouble() const
 
 SwSbxValue& SwSbxValue::MakeDouble()
 {
-	if( SbxSTRING == GetType() )
+	if( SbxSTRING == GetType() || SbxBOOL == GetType() )
 		PutDouble( GetDouble() );
 	return *this;
 }

Modified: openoffice/branches/l10n/main/sw/source/core/crsr/viscrs.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/crsr/viscrs.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/crsr/viscrs.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/crsr/viscrs.cxx Sun Feb  3 13:23:59 2013
@@ -591,26 +591,9 @@ void SwSelPaintRects::Show()
 
 			if(pTargetOverlay)
 			{
-                // #i97672# get the system's hilight color and limit it to the maximum
-                // allowed luminance. This is needed to react on too bright hilight colors
-                // which would otherwise vive a bad visualisation
-                const OutputDevice *pOut = Application::GetDefaultDevice();
-			    Color aHighlight(pOut->GetSettings().GetStyleSettings().GetHighlightColor());
-			    const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
-                const basegfx::BColor aSelection(aHighlight.getBColor());
-                const double fLuminance(aSelection.luminance());
-                const double fMaxLum(aSvtOptionsDrawinglayer.GetSelectionMaximumLuminancePercent() / 100.0);
-
-                if(fLuminance > fMaxLum)
-                {
-                    const double fFactor(fMaxLum / fLuminance);
-                    const basegfx::BColor aNewSelection(
-                        aSelection.getRed() * fFactor,
-                        aSelection.getGreen() * fFactor,
-                        aSelection.getBlue() * fFactor);
-
-                    aHighlight = Color(aNewSelection);
-                }
+                // get the system's hilight color
+                const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
+                const Color aHighlight(aSvtOptionsDrawinglayer.getHilightColor());
 
 				// create correct selection
 				mpCursorOverlay = new sdr::overlay::OverlaySelection(

Modified: openoffice/branches/l10n/main/sw/source/core/doc/docbm.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/doc/docbm.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/doc/docbm.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/doc/docbm.cxx Sun Feb  3 13:23:59 2013
@@ -302,7 +302,7 @@ const ::rtl::OUString& IDocumentMarkAcce
     return CrossRefHeadingBookmarkNamePrefix;
 }
 
-const bool SAL_DLLPUBLIC_EXPORT IDocumentMarkAccess::IsLegalPaMForCrossRefHeadingBookmark( const SwPaM& rPaM )
+bool SAL_DLLPUBLIC_EXPORT IDocumentMarkAccess::IsLegalPaMForCrossRefHeadingBookmark( const SwPaM& rPaM )
 {
     bool bRet( false );
 

Modified: openoffice/branches/l10n/main/sw/source/core/doc/docdraw.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/doc/docdraw.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/doc/docdraw.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/doc/docdraw.cxx Sun Feb  3 13:23:59 2013
@@ -705,8 +705,6 @@ void SwDoc::InitDrawModel()
             pViewSh = (ViewShell*)pViewSh->GetNext();
         }while( pViewSh != pCurrentView );
 	}
-
-	UpdateDrawDefaults();
 }
 
 /** method to notify drawing page view about the invisible layers
@@ -1099,16 +1097,4 @@ namespace docfunc
 }
 // <--
 
-void SwDoc::SetDrawDefaults()
-{
-    mbSetDrawDefaults = true;
-    UpdateDrawDefaults();
-}
-
-void SwDoc::UpdateDrawDefaults()
-{
-    // drawing layer defaults that are set for new documents (if InitNew was called)
-    if ( pDrawModel && mbSetDrawDefaults )
-		pDrawModel->SetDrawingLayerPoolDefaults();
-}
-
+// eof

Modified: openoffice/branches/l10n/main/sw/source/core/doc/docnew.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/doc/docnew.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/doc/docnew.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/doc/docnew.cxx Sun Feb  3 13:23:59 2013
@@ -299,7 +299,6 @@ SwDoc::SwDoc()
     n32DummyCompatabilityOptions1(0),
     n32DummyCompatabilityOptions2(0),
     mbStartIdleTimer(sal_False),
-    mbSetDrawDefaults(false),
     meDocType( DOCTYPE_NATIVE )
 {
 	RTL_LOGFILE_CONTEXT_AUTHOR( aLog, "SW", "JP93722",  "SwDoc::SwDoc" );

Modified: openoffice/branches/l10n/main/sw/source/core/doc/notxtfrm.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/doc/notxtfrm.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/doc/notxtfrm.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/doc/notxtfrm.cxx Sun Feb  3 13:23:59 2013
@@ -19,12 +19,9 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-
 #include <hintids.hxx>
 #include <tools/urlobj.hxx>
 #include <vcl/print.hxx>
@@ -71,17 +68,13 @@
 #include <accessibilityoptions.hxx>
 #include <com/sun/star/embed/EmbedMisc.hpp>
 #include <com/sun/star/embed/EmbedStates.hpp>
-
 #include <svtools/embedhlp.hxx>
 #include <svx/charthelper.hxx>
-// --> OD 2009-03-05 #i99665#
 #include <dview.hxx>
-// <--
-
 #include <basegfx/matrix/b2dhommatrix.hxx>
-#include <svx/sdr/contact/objectcontacttools.hxx>
 #include <drawinglayer/processor2d/baseprocessor2d.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <drawinglayer/processor2d/processor2dtools.hxx>
 
 using namespace com::sun::star;
 
@@ -886,7 +879,7 @@ bool paintUsingPrimitivesHelper(
                 uno::Sequence< beans::PropertyValue >());
 
             // get a primitive processor for rendering
-            drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = sdr::contact::createBaseProcessor2DFromOutputDevice(
+            drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
                 rOutputDevice, 
                 aViewInformation2D);
 

Modified: openoffice/branches/l10n/main/sw/source/core/doc/number.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/doc/number.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/doc/number.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/doc/number.cxx Sun Feb  3 13:23:59 2013
@@ -198,6 +198,7 @@ SwNumFmt::SwNumFmt() :
 	SvxNumberFormat(SVX_NUM_ARABIC),
 	SwClient( 0 ),
     pVertOrient(new SwFmtVertOrient( 0, text::VertOrientation::NONE))
+    ,cGrfBulletCP(USHRT_MAX)//For i120928,record the cp info of graphic within bullet
 {
 }
 /* -----------------------------22.02.01 13:42--------------------------------
@@ -206,7 +207,8 @@ SwNumFmt::SwNumFmt() :
 SwNumFmt::SwNumFmt( const SwNumFmt& rFmt) :
 	SvxNumberFormat(rFmt),
 	SwClient( rFmt.GetRegisteredInNonConst() ),
-    pVertOrient(new SwFmtVertOrient( 0, rFmt.GetVertOrient()))
+    pVertOrient(new SwFmtVertOrient( 0, rFmt.GetVertOrient()))    	
+	,cGrfBulletCP(rFmt.cGrfBulletCP)//For i120928,record the cp info of graphic within bullet
 {
     sal_Int16 eMyVertOrient = rFmt.GetVertOrient();
 	SetGraphicBrush( rFmt.GetBrush(), &rFmt.GetGraphicSize(),
@@ -322,6 +324,8 @@ SwNumFmt& SwNumFmt::operator=( const SwN
 		rNumFmt.GetRegisteredInNonConst()->Add( this );
 	else if( GetRegisteredIn() )
 		GetRegisteredInNonConst()->Remove( this );
+	//For i120928,record the cp info of graphic within bullet
+	cGrfBulletCP = rNumFmt.cGrfBulletCP;	
 	return *this;
 }
 /* -----------------------------23.02.01 09:28--------------------------------

Modified: openoffice/branches/l10n/main/sw/source/core/frmedt/fecopy.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/frmedt/fecopy.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/frmedt/fecopy.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/frmedt/fecopy.cxx Sun Feb  3 13:23:59 2013
@@ -1466,7 +1466,43 @@ void SwFEShell::Paste( SvStream& rStrm, 
 		case SW_PASTESDR_SETATTR:
 			{
 				SfxItemSet aSet( GetAttrPool() );
-				aSet.Put(pClpObj->GetMergedItemSet());
+                const SdrGrafObj* pSdrGrafObj = dynamic_cast< const SdrGrafObj* >(pClpObj);
+
+                if(pSdrGrafObj)
+                {
+                    SdrObject* pTarget = 0;
+
+                    if(0 != pView->GetMarkedObjectList().GetMarkCount())
+                    {
+                        // try to get target (if it's at least one, take first)
+                        SdrMark* pMark = pView->GetMarkedObjectList().GetMark(0);
+
+                        if(pMark)
+                        {
+                            pTarget = pMark->GetMarkedSdrObj();
+                        }
+                    }
+
+                    if(pTarget)
+                    {
+                        // copy ItemSet from target
+                        aSet.Set(pTarget->GetMergedItemSet());
+                    }
+
+                    // for SdrGrafObj, use the graphic as fill style argument
+                    const Graphic& rGraphic = pSdrGrafObj->GetGraphic();
+
+                    if(GRAPHIC_NONE != rGraphic.GetType() && GRAPHIC_DEFAULT != rGraphic.GetType())
+                    {
+                        aSet.Put(XFillBitmapItem(String(), rGraphic));
+                        aSet.Put(XFillStyleItem(XFILL_BITMAP));
+                    }
+                }
+                else
+                {
+                    aSet.Put(pClpObj->GetMergedItemSet());
+                }
+
 				pView->SetAttributes( aSet, sal_False );
 			}
 			break;

Modified: openoffice/branches/l10n/main/sw/source/core/text/portxt.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/text/portxt.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/text/portxt.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/text/portxt.cxx Sun Feb  3 13:23:59 2013
@@ -49,6 +49,7 @@
 #include <pam.hxx>
 #include <doc.hxx>
 #include <xmloff/odffields.hxx>
+#include <vcl/pdfextoutdevdata.hxx>
 
 #if OSL_DEBUG_LEVEL > 1
 const sal_Char *GetLangName( const MSHORT nLang );
@@ -739,13 +740,34 @@ SwLinePortion *SwHolePortion::Compress()
 
 void SwHolePortion::Paint( const SwTxtPaintInfo &rInf ) const
 {
-    // --> FME 2004-06-24 #i16816# tagged pdf support
-    if( rInf.GetVsh() && rInf.GetVsh()->GetViewOptions()->IsPDFExport() )
-    {
-        const XubString aTxt( ' ' );
-        rInf.DrawText( aTxt, *this, 0, 1, false );
+    if( !rInf.GetOut() )
+        return;
+
+    // #i16816# export stuff only needed for tagged pdf support
+    const vcl::PDFExtOutDevData* pPDFExt = dynamic_cast<const vcl::PDFExtOutDevData*>( rInf.GetOut()->GetExtOutDevData() );
+    if( !pPDFExt || !pPDFExt->GetIsExportTaggedPDF())
+        return;
+
+    // #i68503# the hole must have no decoration for a consistent visual appearance
+    const SwFont* pOrigFont = rInf.GetFont();
+    SwFont* pHoleFont = NULL;
+    SwFontSave* pFontSave = NULL;
+    if( pOrigFont->GetUnderline() != UNDERLINE_NONE
+    ||  pOrigFont->GetOverline() != UNDERLINE_NONE
+    ||  pOrigFont->GetStrikeout() != STRIKEOUT_NONE )
+    {
+        pHoleFont = new SwFont( *pOrigFont );
+        pHoleFont->SetUnderline( UNDERLINE_NONE );
+        pHoleFont->SetOverline( UNDERLINE_NONE );
+        pHoleFont->SetStrikeout( STRIKEOUT_NONE );
+        pFontSave = new SwFontSave( rInf, pHoleFont );
     }
-    // <--
+
+    const XubString aTxt( ' ' );
+    rInf.DrawText( aTxt, *this, 0, 1, false );
+
+    delete pFontSave;
+    delete pHoleFont;
 }
 
 /*************************************************************************

Modified: openoffice/branches/l10n/main/sw/source/core/view/viewsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/core/view/viewsh.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/core/view/viewsh.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/core/view/viewsh.cxx Sun Feb  3 13:23:59 2013
@@ -19,25 +19,18 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-
 #define _SVX_PARAITEM_HXX
 #define _SVX_TEXTITEM_HXX
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
-
 #include <sfx2/viewfrm.hxx>
 #include <sfx2/progress.hxx>
 #include <svx/srchdlg.hxx>
 #include <svx/svdobj.hxx>
 #include <sfx2/viewsh.hxx>
-#ifndef _SHL_HXX
-//#include <tools/shl.hxx>
-#endif
 #include <swwait.hxx>
 #include <swmodule.hxx>
 #include <fesh.hxx>
@@ -59,9 +52,7 @@
 #include <fntcache.hxx>
 #include <ptqueue.hxx>
 #include <tabfrm.hxx>
-#ifndef _DOCSH_HXX
 #include <docsh.hxx>
-#endif
 #include <pagedesc.hxx>
 #include <ndole.hxx>
 #include <ndindex.hxx>
@@ -69,27 +60,17 @@
 #include <svtools/colorcfg.hxx>
 #include <svtools/accessibilityoptions.hxx>
 #include <accessibilityoptions.hxx>
-#ifndef _STATSTR_HRC
 #include <statstr.hrc>
-#endif
-#ifndef _COMCORE_HRC
 #include <comcore.hrc>
-#endif
-// OD 14.01.2003 #103492#
 #include <pagepreviewlayout.hxx>
-// --> OD 2004-05-24 #i28701#
 #include <sortedobjs.hxx>
 #include <anchoredobject.hxx>
-// <--
-
 #include "../../ui/inc/view.hxx"
 #include <PostItMgr.hxx>
 #include <vcl/virdev.hxx>
-
 #include <vcl/svapp.hxx>
-
-// #i74769#
 #include <svx/sdrpaintwindow.hxx>
+#include <vcl/dibtools.hxx>
 
 sal_Bool ViewShell::bLstAct = sal_False;
 ShellResource *ViewShell::pShellRes = 0;
@@ -1447,7 +1428,7 @@ sal_Bool ViewShell::SmoothScroll( long l
 					const Bitmap aBitmap(pVout->GetBitmap(Point(), pVout->GetOutputSizePixel()));
                     const String aTmpString(ByteString( "c:\\test.bmp" ), RTL_TEXTENCODING_UTF8);
                     SvFileStream aNew(aTmpString, STREAM_WRITE|STREAM_TRUNC);
-					aNew << aBitmap;
+                    WriteDIB(aBitmap, aNew, false, true);
 					pVout->EnableMapMode(bMapModeWasEnabledVDev);
 				}
 			}

Modified: openoffice/branches/l10n/main/sw/source/filter/inc/fltshell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/filter/inc/fltshell.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/filter/inc/fltshell.hxx (original)
+++ openoffice/branches/l10n/main/sw/source/filter/inc/fltshell.hxx Sun Feb  3 13:23:59 2013
@@ -259,7 +259,7 @@ public:
     long GetHandle() const 				{ return mnHandle; }
     const String& GetName() const 		{ return maName; }
     const String& GetValSys() const 	{ return maVal; }
-    const bool IsTOCBookmark() const
+    bool IsTOCBookmark() const
     {
         return mbIsTOCBookmark;
     }

Modified: openoffice/branches/l10n/main/sw/source/filter/ww1/w1filter.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/filter/ww1/w1filter.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/filter/ww1/w1filter.cxx (original)
+++ openoffice/branches/l10n/main/sw/source/filter/ww1/w1filter.cxx Sun Feb  3 13:23:59 2013
@@ -19,28 +19,21 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 #include <hintids.hxx>
-
 #include <tools/solar.h>
 #include <comphelper/string.hxx>
 #include <editeng/paperinf.hxx>
 #include <svtools/filter.hxx>
-#ifndef _GRAPH_HXX //autogen
 #include <vcl/graph.hxx>
-#endif
 #include <editeng/fontitem.hxx>
 #include <editeng/lrspitem.hxx>
 #include <editeng/ulspitem.hxx>
 #include <editeng/wghtitem.hxx>
 #include <editeng/postitem.hxx>
 #include <editeng/crsditem.hxx>
-#ifndef _SVX_CNTRITEM_HXX //autogen
 #include <editeng/cntritem.hxx>
-#endif
 #include <editeng/cmapitem.hxx>
 #include <editeng/fhgtitem.hxx>
 #include <editeng/udlnitem.hxx>
@@ -48,9 +41,7 @@
 #include <editeng/colritem.hxx>
 #include <editeng/kernitem.hxx>
 #include <editeng/escpitem.hxx>
-#ifndef _SVX_TSTPITEM_HXX //autogen
 #include <editeng/tstpitem.hxx>
-#endif
 #include <svl/urihelper.hxx>
 #include <fmtfsize.hxx>
 #include <doc.hxx>
@@ -65,19 +56,14 @@
 #include <section.hxx>			// class SwSection
 #include <fltini.hxx>
 #include <w1par.hxx>
-
 #include <docsh.hxx>
 #include <swerror.h>
 #include <mdiexp.hxx>
-#ifndef _STATSTR_HRC
 #include <statstr.hrc>
-#endif
-#if OSL_DEBUG_LEVEL > 1
 #include <stdio.h>
-#endif
-
 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
 #include <com/sun/star/document/XDocumentProperties.hpp>
+#include <vcl/dibtools.hxx>
 
 #define MAX_FIELDLEN 64000
 
@@ -1970,7 +1956,7 @@ void Ww1Picture::Out(Ww1Shell& rOut, Ww1
 		SvMemoryStream aOut(nSiz, 8192);
 		WriteBmp(aOut);
 		Bitmap aBmp;
-		aOut >> aBmp;
+        ReadDIB(aBmp, aOut, true);
 		pGraphic = new Graphic(aBmp);
 	}
 	default:

Modified: openoffice/branches/l10n/main/sw/source/filter/ww8/WW8TableInfo.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/filter/ww8/WW8TableInfo.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/filter/ww8/WW8TableInfo.hxx (original)
+++ openoffice/branches/l10n/main/sw/source/filter/ww8/WW8TableInfo.hxx Sun Feb  3 13:23:59 2013
@@ -50,7 +50,7 @@ typedef ::std::vector<const SwTableBox *
 typedef boost::shared_ptr<TableBoxVector> TableBoxVectorPtr;
 typedef ::std::vector<sal_uInt32> GridCols;
 typedef boost::shared_ptr<GridCols> GridColsPtr;
-typedef ::std::vector<sal_uInt32> RowSpans;
+typedef ::std::vector<sal_Int32> RowSpans;
 typedef boost::shared_ptr<RowSpans> RowSpansPtr;
 typedef ::std::vector<sal_uInt32> Widths;
 typedef boost::shared_ptr<Widths> WidthsPtr;

Modified: openoffice/branches/l10n/main/sw/source/filter/ww8/attributeoutputbase.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/filter/ww8/attributeoutputbase.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/filter/ww8/attributeoutputbase.hxx (original)
+++ openoffice/branches/l10n/main/sw/source/filter/ww8/attributeoutputbase.hxx Sun Feb  3 13:23:59 2013
@@ -320,7 +320,8 @@ public:
         sal_Int16 nIndentAt,
         sal_Int16 nFirstLineIndex,
         sal_Int16 nListTabPos,
-        const String &rNumberingString ) = 0;
+        const String &rNumberingString ,
+	const SvxBrushItem* pBrush = 0) = 0;//For i120928,to export graphic of bullet
     
 protected:
 

Modified: openoffice/branches/l10n/main/sw/source/filter/ww8/escher.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/sw/source/filter/ww8/escher.hxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/sw/source/filter/ww8/escher.hxx (original)
+++ openoffice/branches/l10n/main/sw/source/filter/ww8/escher.hxx Sun Feb  3 13:23:59 2013
@@ -127,11 +127,20 @@ protected:
 public:
     SwBasicEscherEx(SvStream* pStrm, WW8Export& rWrt);
     sal_Int32 WriteGrfFlyFrame(const SwFrmFmt& rFmt, sal_uInt32 nShapeId);
+	//For i120928,to export graphic of bullet
+	sal_Int32 WriteGrfBullet(const Graphic&);
     sal_Int32 WriteOLEFlyFrame(const SwFrmFmt& rFmt, sal_uInt32 nShapeId);
     void WriteEmptyFlyFrame(const SwFrmFmt& rFmt, sal_uInt32 nShapeId);
     virtual void WriteFrmExtraData(const SwFrmFmt&);
     virtual void WritePictures();
     virtual ~SwBasicEscherEx();
+    //i120927,this function is added to export hyperlink info,such as graphic/frame/OLE
+    bool IsRelUrl();
+    String GetBasePath();
+    String BuildFileName(sal_uInt16& rnLevel, bool& rbRel, const String& rUrl );
+    void WriteHyperlinkWithinFly( SvMemoryStream& rStrm, const SwFmtURL* pINetFmtArg);
+    void PreWriteHyperlinkWithinFly(const SwFrmFmt& rFmt,EscherPropertyContainer& rPropOpt);
+
 private:
     //No copying
     SwBasicEscherEx(const SwBasicEscherEx&);