You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2013/02/21 03:53:05 UTC
svn commit: r1448495 [4/6] - in /openoffice/branches/ia2: ./
ext_libraries/ratscan/scan/ extras/l10n/source/rw/ extras/l10n/source/te/
extras/l10n/source/uz/ main/ main/autodoc/source/display/html/
main/automation/packimages/ main/automation/prj/ main/...
Modified: openoffice/branches/ia2/main/set_soenv.in
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/set_soenv.in?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/set_soenv.in (original)
+++ openoffice/branches/ia2/main/set_soenv.in Thu Feb 21 02:52:59 2013
@@ -102,12 +102,12 @@ my ( $oldPATH, $SRC_ROOT, $SO_HOME, $JAV
$UPD, $WORK_STAMP, $SOURCE_ROOT_DIR , $gb_REPOS,
$SOLARSRC, $DEVROOT, $SOLARVER, $SOLARVERSION, $WORKDIR, $OUTDIR, $SOLARENV,
$STAR_INIROOT, $STAR_INIROOTOLD, $STAR_STANDLST, $STAR_SSCOMMON, $STAR_SSOLARINI,
- $DMAKEROOT, $CLASSPATH, $XCLASSPATH, $COMPATH,
+ $DMAKEROOT, $CLASSPATH, $XCLASSPATH, $COMPATH, $CXX_X64_BINARY, $LINK_X64_BINARY, $LIBMGR_X64_BINARY,
$MSPDB_PATH, $MIDL_PATH, $CSC_PATH,
$PATH, $SOLAREXTRAINC, $SOLAREXTRALIB, $SOLARLIB,
$SOLARINC, $LOCALINI, $FRAMEWORKSHOME, $COMEX, $PERL,
$COMP_ENV, $ILIB, $JAVAHOME, $PSDK_HOME, $DIRECTXSDK_LIB, $USE_NEW_SDK, $FRAME_HOME,
- $USE_DIRECTX5, $ATL_LIB, $HAVE_ATLTHUNK, $ATL_INCLUDE, $MFC_LIB, $MFC_INCLUDE, $TMPDIR,
+ $USE_DIRECTX5, $ATL_LIB, $ATL_LIB_X64, $HAVE_ATLTHUNK, $ATL_INCLUDE, $MFC_LIB, $MFC_INCLUDE, $TMPDIR,
$COMMON_BUILD_TOOLS, $WIN_GREP, $WIN_FIND, $WIN_LS,
$WIN_GNUCOPY, $WIN_TOUCH, $STLPORT4, $MOZILLA_VERSION, $MOZILLA_TOOLKIT, $PREBUILD_MOZAB, $MOZILLABUILD,
$PROEXT, $TARFILE_LOCATION,
@@ -695,6 +695,9 @@ elsif ( $platform =~ m/cygwin/ )
else # The MSVC section starts here
{ $outfile = "winenv.set";
$COMPATH = PathFormat('@COMPATH@');
+ $CXX_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/cl.exe');
+ $LINK_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/link.exe');
+ $LIBMGR_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/lib.exe');
$COM = "MSC";
$OUTPATH = "wntmsci@COMEX@";
$INPATH = $OUTPATH.$PROEXT;
@@ -1726,6 +1729,9 @@ ToFile( "SOLAR_JAVA", $SOLAR_JAVA
ToFile( "BIG_SVX", $BIG_SVX, "e" );
ToFile( "COM", $COM, "e" );
ToFile( "COMPATH", $COMPATH, "e" );
+ToFile( "CXX_X64_BINARY", $CXX_X64_BINARY, "e" );
+ToFile( "LINK_X64_BINARY", $LINK_X64_BINARY, "e" );
+ToFile( "LIBMGR_X64_BINARY", $LIBMGR_X64_BINARY, "e" );
ToFile( "CPU", $CPU, "e" );
ToFile( "CPUNAME", $CPUNAME, "e" );
ToFile( "CVER", $CVER, "e" );
@@ -1768,6 +1774,7 @@ if ( $platform =~ m/cygwin/ )
ToFile( "DIRECTXSDK_LIB", $DIRECTXSDK_LIB, "e" );
ToFile( "USE_DIRECTX5", $USE_DIRECTX5, "e" );
ToFile( "ATL_LIB", "@ATL_LIB@", "e" );
+ ToFile( "ATL_LIB_X64", "@ATL_LIB_X64@", "e" );
ToFile( "ATL_INCLUDE", "@ATL_INCLUDE@", "e" );
ToFile( "HAVE_ATLTHUNK", "@HAVE_ATLTHUNK@", "e" );
ToFile( "MFC_LIB", "@MFC_LIB@", "e" );
@@ -1778,9 +1785,10 @@ if ( $platform =~ m/cygwin/ )
ToFile( "USE_NEW_SDK", $USE_NEW_SDK, "e" );
# Hack around dmake's mktmp not generating DOS paths.
- my $tmpdir = qx{cygpath -m "/tmp"};
- chomp($tmpdir);
- ToFile( "TMPDIR", $tmpdir, "e" );
+# my $tmpdir = qx{cygpath -m "/tmp"};
+# chomp($tmpdir);
+# ToFile( "TMPDIR", $tmpdir, "e" );
+ ToFile( "TMPDIR", "/tmp", "e" );
}
ToFile( "ENABLE_HUNSPELL", "@ENABLE_HUNSPELL@", "e" );
ToFile( "ENABLE_HYPHEN", "@ENABLE_HYPHEN@", "e" );
@@ -1862,6 +1870,7 @@ ToFile( "SYSTEM_GRAPHITE", "@SYSTEM_GR
ToFile( "GRAPHITE_LIBS", "@GRAPHITE_LIBS@", "e");
ToFile( "GRAPHITE_CFLAGS", "@GRAPHITE_CFLAGS@", "e");
ToFile( "VC_STANDARD", "@VC_STANDARD@", "e" );
+ToFile( "BUILD_X64", "@BUILD_X64@", "e" );
ToFile( "ENABLE_CATEGORY_B", "@ENABLE_CATEGORY_B@", "e");
ToFile( "BUNDLED_EXTENSION_BLOBS", "@BUNDLED_EXTENSION_BLOBS@", "e");
ToFile( "BUNDLED_PREREG_EXTENSIONS", "@BUNDLED_PREREG_EXTENSIONS@", "e");
Modified: openoffice/branches/ia2/main/solenv/gbuild/platform/windows.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/solenv/gbuild/platform/windows.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/solenv/gbuild/platform/windows.mk (original)
+++ openoffice/branches/ia2/main/solenv/gbuild/platform/windows.mk Thu Feb 21 02:52:59 2013
@@ -190,11 +190,7 @@ gb_NoexPrecompiledHeader_NOEXCEPTIONFLAG
gb_LinkTarget_LDFLAGS := \
-MACHINE:IX86 \
-NODEFAULTLIB \
- -OPT:NOREF \
-SUBSYSTEM:CONSOLE \
- -safeseh \
- -nxcompat \
- -dynamicbase \
$(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
ifneq ($(ENABLE_CRASHDUMP),)
@@ -438,7 +434,7 @@ endef
# Library class
gb_Library_DEFS := -D_DLL
-gb_Library_TARGETTYPEFLAGS := -DLL
+gb_Library_TARGETTYPEFLAGS := -DLL -OPT:NOREF -SAFESEH -NXCOMPAT -DYNAMICBASE
gb_Library_get_rpath :=
gb_Library_SYSPRE := i
@@ -588,7 +584,7 @@ endef
# Executable class
gb_Executable_EXT := .exe
-gb_Executable_TARGETTYPEFLAGS := -RELEASE -BASE:0x1b000000 -OPT:NOREF -INCREMENTAL:NO -DEBUG
+gb_Executable_TARGETTYPEFLAGS := -RELEASE -BASE:0x1b000000 -OPT:NOREF -INCREMENTAL:NO -DEBUG -SAFESEH -NXCOMPAT -DYNAMICBASE
gb_Executable_get_rpath :=
define gb_Executable_Executable_platform
Modified: openoffice/branches/ia2/main/solenv/inc/minor.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/solenv/inc/minor.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/solenv/inc/minor.mk (original)
+++ openoffice/branches/ia2/main/solenv/inc/minor.mk Thu Feb 21 02:52:59 2013
@@ -1,5 +1,5 @@
# *************************************************************
-#
+#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
@@ -7,19 +7,19 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-#
+#
# *************************************************************
-RSCVERSION=350
-RSCREVISION=350m1(Build:9611)
-BUILD=9611
+RSCVERSION=400
+RSCREVISION=400m1(Build:9700)
+BUILD=9700
LAST_MINOR=m1
-SOURCEVERSION=AOO350
+SOURCEVERSION=AOO400
Modified: openoffice/branches/ia2/main/solenv/inc/set_wntx64.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/solenv/inc/set_wntx64.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/solenv/inc/set_wntx64.mk (original)
+++ openoffice/branches/ia2/main/solenv/inc/set_wntx64.mk Thu Feb 21 02:52:59 2013
@@ -110,7 +110,7 @@ STDSLOCUI_X64=
IMPLIBFLAGS_X64=-machine:X64
-LIBPATH_X64=$(PSDK)/lib/x64
+LIBPATH_X64=$(PSDK_HOME)/lib/x64
LIBPATH_VC_X64=$(COMPATH)/lib/amd64
ADVAPI32LIB_X64=$(LIBPATH_X64)/advapi32.lib
Modified: openoffice/branches/ia2/main/solenv/inc/version.lst
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/solenv/inc/version.lst?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/solenv/inc/version.lst (original)
+++ openoffice/branches/ia2/main/solenv/inc/version.lst Thu Feb 21 02:52:59 2013
@@ -19,10 +19,10 @@
#
#**************************************************************
-OOOBASEVERSIONMAJOR=3
-OOOBASEVERSIONMINOR=5
+OOOBASEVERSIONMAJOR=4
+OOOBASEVERSIONMINOR=0
OOOBASEVERSIONMICRO=0
-OOOBASEVERSIONDAY=1
-OOOBASEVERSIONMONTH=4
-OOOBASEVERSIONYEAR=2012
+OOOBASEVERSIONDAY=5
+OOOBASEVERSIONMONTH=2
+OOOBASEVERSIONYEAR=2013
Modified: openoffice/branches/ia2/main/svx/Library_svxcore.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/Library_svxcore.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/Library_svxcore.mk (original)
+++ openoffice/branches/ia2/main/svx/Library_svxcore.mk Thu Feb 21 02:52:59 2013
@@ -218,7 +218,6 @@ $(eval $(call gb_Library_add_exception_o
svx/source/sdr/contact/viewcontact \
svx/source/sdr/contact/viewcontactofsdrole2obj \
svx/source/sdr/contact/displayinfo \
- svx/source/sdr/contact/objectcontacttools \
svx/source/sdr/contact/viewcontactofe3dscene \
svx/source/sdr/contact/viewcontactofsdrrectobj \
svx/source/sdr/contact/viewobjectcontactofsdrole2obj \
@@ -244,7 +243,7 @@ $(eval $(call gb_Library_add_exception_o
svx/source/sdr/overlay/overlayrollingrectangle \
svx/source/sdr/overlay/overlaytriangle \
svx/source/sdr/overlay/overlayselection \
- svx/source/sdr/overlay/overlayhatchrect \
+ svx/source/sdr/overlay/overlayrectangle \
svx/source/sdr/overlay/overlaybitmapex \
svx/source/sdr/overlay/overlaymanagerbuffered \
svx/source/sdr/overlay/overlayhelpline \
Modified: openoffice/branches/ia2/main/svx/Package_inc.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/Package_inc.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/Package_inc.mk (original)
+++ openoffice/branches/ia2/main/svx/Package_inc.mk Thu Feb 21 02:52:59 2013
@@ -185,7 +185,7 @@ $(eval $(call gb_Package_add_file,svx_in
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlaymanager.hxx,svx/sdr/overlay/overlaymanager.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx,svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlayobjectlist.hxx,svx/sdr/overlay/overlayobjectlist.hxx))
-$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlayhatchrect.hxx,svx/sdr/overlay/overlayhatchrect.hxx))
+$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlayrectangle.hxx,svx/sdr/overlay/overlayrectangle.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlaytools.hxx,svx/sdr/overlay/overlaytools.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlayselection.hxx,svx/sdr/overlay/overlayselection.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/overlay/overlaytriangle.hxx,svx/sdr/overlay/overlaytriangle.hxx))
@@ -241,7 +241,6 @@ $(eval $(call gb_Package_add_file,svx_in
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/viewcontactofe3dextrude.hxx,svx/sdr/contact/viewcontactofe3dextrude.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/viewcontactofvirtobj.hxx,svx/sdr/contact/viewcontactofvirtobj.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/viewcontactofe3dscene.hxx,svx/sdr/contact/viewcontactofe3dscene.hxx))
-$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/objectcontacttools.hxx,svx/sdr/contact/objectcontacttools.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/objectcontact.hxx,svx/sdr/contact/objectcontact.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/viewcontactofpageobj.hxx,svx/sdr/contact/viewcontactofpageobj.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdr/contact/viewcontactofe3dcube.hxx,svx/sdr/contact/viewcontactofe3dcube.hxx))
Modified: openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx (original)
+++ openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx Thu Feb 21 02:52:59 2013
@@ -49,16 +49,13 @@ namespace sdr
// #i53216# added CursorBlinkTime (in ms)
sal_uInt32 mnBlinkTime;
- // bitfield
- // Flag to remember which state to draw. Inited with sal_False (0)
- unsigned mbOverlayState : 1;
+ /// bitfield
+ // Flag to remember which state to draw. Inited with false (0)
+ bool mbOverlayState : 1;
// geometry creation for OverlayObject
virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence();
- // #i53216# check blink time value range (currently 25 < mnBlinkTime < 10000)
- void impCheckBlinkTimeValueRange();
-
public:
OverlayAnimatedBitmapEx(
const basegfx::B2DPoint& rBasePos,
Modified: openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayobject.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayobject.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayobject.hxx (original)
+++ openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlayobject.hxx Thu Feb 21 02:52:59 2013
@@ -85,6 +85,9 @@ namespace sdr
// a missing implementation
virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence();
+ // #i53216# check blink time value range (currently 25 < mnBlinkTime < 10000)
+ sal_uInt32 impCheckBlinkTimeValueRange(sal_uInt32 nBlinkTime) const;
+
// region in logical coordinates
basegfx::B2DRange maBaseRange;
Modified: openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx (original)
+++ openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx Thu Feb 21 02:52:59 2013
@@ -26,6 +26,7 @@
#include <svx/sdr/overlay/overlayobject.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -33,22 +34,23 @@ namespace sdr
{
namespace overlay
{
- class SVX_DLLPUBLIC OverlayPolyPolygonStriped : public OverlayObject
+ class SVX_DLLPUBLIC OverlayPolyPolygonStripedAndFilled : public OverlayObject
{
protected:
// geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
+ basegfx::B2DPolyPolygon maLinePolyPolygon;
// geometry creation for OverlayObject
virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence();
public:
- OverlayPolyPolygonStriped(const basegfx::B2DPolyPolygon& rPolyPolygon);
- virtual ~OverlayPolyPolygonStriped();
+ OverlayPolyPolygonStripedAndFilled(
+ const basegfx::B2DPolyPolygon& rLinePolyPolygon);
+ virtual ~OverlayPolyPolygonStripedAndFilled();
// change geometry
- basegfx::B2DPolyPolygon getPolyPolygon() const { return maPolyPolygon; }
- void setPolyPolygon(const basegfx::B2DPolyPolygon& rNew);
+ basegfx::B2DPolyPolygon getLinePolyPolygon() const { return maLinePolyPolygon; }
+ void setLinePolyPolygon(const basegfx::B2DPolyPolygon& rNew);
// react on stripe definition change
virtual void stripeDefinitionHasChanged();
Modified: openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaytools.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaytools.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaytools.hxx (original)
+++ openoffice/branches/ia2/main/svx/inc/svx/sdr/overlay/overlaytools.hxx Thu Feb 21 02:52:59 2013
@@ -122,16 +122,15 @@ namespace drawinglayer
{
namespace primitive2d
{
- class OverlayHatchRectanglePrimitive : public DiscreteMetricDependentPrimitive2D
+ class OverlayRectanglePrimitive : public DiscreteMetricDependentPrimitive2D
{
private:
// the logic rectangle definition
basegfx::B2DRange maObjectRange;
- // the hatch definition
- double mfDiscreteHatchDistance;
- double mfHatchRotation;
- basegfx::BColor maHatchColor;
+ // the graphic definition
+ basegfx::BColor maColor;
+ double mfTransparence;
// the dscrete grow and shrink of the box
double mfDiscreteGrow;
@@ -144,21 +143,19 @@ namespace drawinglayer
virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
public:
- OverlayHatchRectanglePrimitive(
+ OverlayRectanglePrimitive(
const basegfx::B2DRange& rObjectRange,
- double fDiscreteHatchDistance,
- double fHatchRotation,
- const basegfx::BColor& rHatchColor,
+ const basegfx::BColor& rColor,
+ double fTransparence,
double fDiscreteGrow,
double fDiscreteShrink,
double fRotation);
// data access
const basegfx::B2DRange& getObjectRange() const { return maObjectRange; }
- double getDiscreteHatchDistance() const { return mfDiscreteHatchDistance; }
- double getHatchRotation() const { return mfHatchRotation; }
- const basegfx::BColor& getHatchColor() const { return maHatchColor; }
- double getDiscreteGrow() const { return mfDiscreteGrow; }
+ const basegfx::BColor& getColor() const { return maColor; }
+ double getTransparence() const { return mfTransparence; }
+ double getDiscreteGrow() const { return mfDiscreteGrow; }
double getDiscreteShrink() const { return mfDiscreteShrink; }
double getRotation() const { return mfRotation; }
Modified: openoffice/branches/ia2/main/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx (original)
+++ openoffice/branches/ia2/main/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx Thu Feb 21 02:52:59 2013
@@ -46,7 +46,7 @@
#define PRIMITIVE2D_ID_SDRBORDERLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_SVX| 15)
#define PRIMITIVE2D_ID_OVERLAYBITMAPEXPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 16)
#define PRIMITIVE2D_ID_OVERLAYCROSSHAIRPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 17)
-#define PRIMITIVE2D_ID_OVERLAYHATCHRECTANGLEPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 18)
+#define PRIMITIVE2D_ID_OVERLAYRECTANGLEPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 18)
#define PRIMITIVE2D_ID_OVERLAYHELPLINESTRIPEDPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 19)
#define PRIMITIVE2D_ID_OVERLAYROLLINGRECTANGLEPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 20)
#define PRIMITIVE2D_ID_SDRCONTROLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_SVX| 21)
Modified: openoffice/branches/ia2/main/svx/inc/svx/svdview.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/inc/svx/svdview.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/inc/svx/svdview.hxx (original)
+++ openoffice/branches/ia2/main/svx/inc/svx/svdview.hxx Thu Feb 21 02:52:59 2013
@@ -32,6 +32,8 @@
#include "svx/svxdllapi.h"
#include <svx/svdcrtv.hxx>
#include <unotools/options.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -155,7 +157,9 @@ class SVX_DLLPUBLIC SdrDropMarkerOverlay
// The OverlayObjects
::sdr::overlay::OverlayObjectList maObjects;
- void ImplCreateOverlays(const SdrView& rView, const basegfx::B2DPolyPolygon& rPolyPolygon);
+ void ImplCreateOverlays(
+ const SdrView& rView,
+ const basegfx::B2DPolyPolygon& rLinePolyPolygon);
public:
SdrDropMarkerOverlay(const SdrView& rView, const SdrObject& rObject);
Modified: openoffice/branches/ia2/main/svx/source/engine3d/dragmt3d.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/engine3d/dragmt3d.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/engine3d/dragmt3d.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/engine3d/dragmt3d.cxx Thu Feb 21 02:52:59 2013
@@ -300,7 +300,8 @@ void E3dDragMethod::CreateOverlayGeometr
if(aResult.count())
{
- ::sdr::overlay::OverlayPolyPolygonStriped* pNew = new ::sdr::overlay::OverlayPolyPolygonStriped(aResult);
+ ::sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new ::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+ aResult);
rOverlayManager.add(*pNew);
addToOverlayObjectList(*pNew);
}
Modified: openoffice/branches/ia2/main/svx/source/engine3d/view3d.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/engine3d/view3d.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/engine3d/view3d.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/engine3d/view3d.cxx Thu Feb 21 02:52:59 2013
@@ -219,7 +219,8 @@ void Impl3DMirrorConstructOverlay::SetMi
basegfx::B2DPolyPolygon aPolyPolygon(mpPolygons[b]);
aPolyPolygon.transform(aMatrixTransform);
- ::sdr::overlay::OverlayPolyPolygonStriped* pNew = new ::sdr::overlay::OverlayPolyPolygonStriped(aPolyPolygon);
+ ::sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new ::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+ aPolyPolygon);
pTargetOverlay->add(*pNew);
maObjects.append(*pNew);
}
Modified: openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx Thu Feb 21 02:52:59 2013
@@ -30,9 +30,8 @@
#include <svx/svdobj.hxx>
#include <svx/sdr/contact/viewcontact.hxx>
#include <svx/svdmodel.hxx>
-#include <drawinglayer/processor2d/vclprocessor2d.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <svx/sdr/contact/objectcontacttools.hxx>
+#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <svx/unoapi.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -134,8 +133,9 @@ namespace sdr
// if there is something to show, use a vclProcessor to render it
if(xPrimitiveSequence.hasElements())
{
- drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = createBaseProcessor2DFromOutputDevice(
- *pTargetDevice, getViewInformation2D());
+ drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
+ *pTargetDevice,
+ getViewInformation2D());
if(pProcessor2D)
{
Modified: openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofpageview.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofpageview.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofpageview.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/contact/objectcontactofpageview.cxx Thu Feb 21 02:52:59 2013
@@ -35,11 +35,10 @@
#include <svx/sdr/event/eventhandler.hxx>
#include <svx/sdrpagewindow.hxx>
#include <svx/sdrpaintwindow.hxx>
-#include <drawinglayer/processor2d/vclprocessor2d.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
-#include <svx/sdr/contact/objectcontacttools.hxx>
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
+#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <svx/unoapi.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -251,7 +250,7 @@ namespace sdr
// if there is something to show, use a primitive processor to render it. There
// is a choice between VCL and Canvas processors currently. The decision is made in
- // createBaseProcessor2DFromOutputDevice and takes into accout things like the
+ // createProcessor2DFromOutputDevice and takes into accout things like the
// Target is a MetaFile, a VDev or something else. The Canvas renderer is triggered
// currently using the shown boolean. Canvas is not yet the default.
if(xPrimitiveSequence.hasElements())
@@ -261,8 +260,9 @@ namespace sdr
pOutDev->SetLayoutMode(0); // reset, default is no BiDi/RTL
// create renderer
- drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = createBaseProcessor2DFromOutputDevice(
- rTargetOutDev, getViewInformation2D());
+ drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
+ rTargetOutDev,
+ getViewInformation2D());
if(pProcessor2D)
{
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayanimatedbitmapex.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayanimatedbitmapex.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayanimatedbitmapex.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayanimatedbitmapex.cxx Thu Feb 21 02:52:59 2013
@@ -36,19 +36,6 @@ namespace sdr
{
namespace overlay
{
- // #i53216# check blink time value range
- void OverlayAnimatedBitmapEx::impCheckBlinkTimeValueRange()
- {
- if(mnBlinkTime < 25)
- {
- mnBlinkTime = 25;
- }
- else if(mnBlinkTime > 10000)
- {
- mnBlinkTime = 10000;
- }
- }
-
drawinglayer::primitive2d::Primitive2DSequence OverlayAnimatedBitmapEx::createOverlayObjectPrimitive2DSequence()
{
if(mbOverlayState)
@@ -96,7 +83,7 @@ namespace sdr
mbAllowsAnimation = true;
// #i53216# check blink time value range
- impCheckBlinkTimeValueRange();
+ mnBlinkTime = impCheckBlinkTimeValueRange(mnBlinkTime);
}
OverlayAnimatedBitmapEx::~OverlayAnimatedBitmapEx()
@@ -175,7 +162,7 @@ namespace sdr
mnBlinkTime = nNew;
// #i53216# check blink time value range
- impCheckBlinkTimeValueRange();
+ mnBlinkTime = impCheckBlinkTimeValueRange(mnBlinkTime);
// register change (after change)
objectChange();
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaymanager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaymanager.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaymanager.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaymanager.cxx Thu Feb 21 02:52:59 2013
@@ -32,8 +32,7 @@
#include <vcl/window.hxx>
#include <svx/sdr/overlay/overlayobject.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-#include <svx/sdr/contact/objectcontacttools.hxx>
+#include <drawinglayer/processor2d/processor2dtools.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -55,7 +54,7 @@ namespace sdr
const bool bIsAntiAliasing(getDrawinglayerOpt().IsAntiAliasing());
// create processor
- drawinglayer::processor2d::BaseProcessor2D* pProcessor = ::sdr::contact::createBaseProcessor2DFromOutputDevice(
+ drawinglayer::processor2d::BaseProcessor2D* pProcessor = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rDestinationDevice,
getCurrentViewInformation2D());
@@ -157,8 +156,14 @@ namespace sdr
if(OUTDEV_WINDOW == getOutputDevice().GetOutDevType())
{
const Size aOutputSizePixel(getOutputDevice().GetOutputSizePixel());
- aViewRange = basegfx::B2DRange(0.0, 0.0, aOutputSizePixel.getWidth(), aOutputSizePixel.getHeight());
- aViewRange.transform(getOutputDevice().GetInverseViewTransformation());
+
+ // only set when we *have* a output size, else let aViewRange
+ // stay on empty
+ if(aOutputSizePixel.Width() && aOutputSizePixel.Height())
+ {
+ aViewRange = basegfx::B2DRange(0.0, 0.0, aOutputSizePixel.getWidth(), aOutputSizePixel.getHeight());
+ aViewRange.transform(getOutputDevice().GetInverseViewTransformation());
+ }
}
OverlayManager* pThis = const_cast< OverlayManager* >(this);
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayobject.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayobject.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayobject.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayobject.cxx Thu Feb 21 02:52:59 2013
@@ -34,7 +34,6 @@
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
-#include <svx/sdr/contact/objectcontacttools.hxx>
#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -72,6 +71,20 @@ namespace sdr
return drawinglayer::primitive2d::Primitive2DSequence();
}
+ sal_uInt32 OverlayObject::impCheckBlinkTimeValueRange(sal_uInt32 nBlinkTime) const
+ {
+ if(nBlinkTime < 25)
+ {
+ nBlinkTime = 25;
+ }
+ else if(nBlinkTime > 10000)
+ {
+ nBlinkTime = 10000;
+ }
+
+ return nBlinkTime;
+ }
+
void OverlayObject::allowAntiAliase(bool bNew)
{
if(bNew != (bool)mbAllowsAntiAliase)
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaypolypolygon.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaypolypolygon.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaypolypolygon.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaypolypolygon.cxx Thu Feb 21 02:52:59 2013
@@ -37,7 +37,7 @@ namespace sdr
{
namespace overlay
{
- drawinglayer::primitive2d::Primitive2DSequence OverlayPolyPolygonStriped::createOverlayObjectPrimitive2DSequence()
+ drawinglayer::primitive2d::Primitive2DSequence OverlayPolyPolygonStripedAndFilled::createOverlayObjectPrimitive2DSequence()
{
drawinglayer::primitive2d::Primitive2DSequence aRetval;
@@ -46,43 +46,56 @@ namespace sdr
const basegfx::BColor aRGBColorA(getOverlayManager()->getStripeColorA().getBColor());
const basegfx::BColor aRGBColorB(getOverlayManager()->getStripeColorB().getBColor());
const double fStripeLengthPixel(getOverlayManager()->getStripeLengthPixel());
-
- const drawinglayer::primitive2d::Primitive2DReference aReference(
+ const drawinglayer::primitive2d::Primitive2DReference aStriped(
new drawinglayer::primitive2d::PolyPolygonMarkerPrimitive2D(
- getPolyPolygon(),
+ getLinePolyPolygon(),
aRGBColorA,
aRGBColorB,
fStripeLengthPixel));
- aRetval = drawinglayer::primitive2d::Primitive2DSequence(&aReference, 1);
+ aRetval = drawinglayer::primitive2d::Primitive2DSequence(&aStriped, 1);
+
+ const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
+ const basegfx::BColor aHilightColor(aSvtOptionsDrawinglayer.getHilightColor().getBColor());
+ const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
+
+ const drawinglayer::primitive2d::Primitive2DReference aFilled(
+ new drawinglayer::primitive2d::PolyPolygonSelectionPrimitive2D(
+ getLinePolyPolygon(),
+ aHilightColor,
+ fTransparence,
+ 3.0,
+ false));
+
+ drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aFilled);
}
return aRetval;
}
- void OverlayPolyPolygonStriped::stripeDefinitionHasChanged()
+ void OverlayPolyPolygonStripedAndFilled::stripeDefinitionHasChanged()
{
// react on OverlayManager's stripe definition change
objectChange();
}
- OverlayPolyPolygonStriped::OverlayPolyPolygonStriped(
- const basegfx::B2DPolyPolygon& rPolyPolygon)
+ OverlayPolyPolygonStripedAndFilled::OverlayPolyPolygonStripedAndFilled(
+ const basegfx::B2DPolyPolygon& rLinePolyPolygon)
: OverlayObject(Color(COL_BLACK)),
- maPolyPolygon(rPolyPolygon)
+ maLinePolyPolygon(rLinePolyPolygon)
{
}
- OverlayPolyPolygonStriped::~OverlayPolyPolygonStriped()
+ OverlayPolyPolygonStripedAndFilled::~OverlayPolyPolygonStripedAndFilled()
{
}
- void OverlayPolyPolygonStriped::setPolyPolygon(const basegfx::B2DPolyPolygon& rNew)
+ void OverlayPolyPolygonStripedAndFilled::setLinePolyPolygon(const basegfx::B2DPolyPolygon& rNew)
{
- if(rNew != maPolyPolygon)
+ if(rNew != maLinePolyPolygon)
{
// remember new value
- maPolyPolygon = rNew;
+ maLinePolyPolygon = rNew;
// register change (after change)
objectChange();
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx Thu Feb 21 02:52:59 2013
@@ -26,8 +26,6 @@
#include <svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
-#include <drawinglayer/processor2d/vclpixelprocessor2d.hxx>
-#include <svx/sdr/contact/objectcontacttools.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
//////////////////////////////////////////////////////////////////////////////
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayrollingrectangle.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayrollingrectangle.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayrollingrectangle.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlayrollingrectangle.cxx Thu Feb 21 02:52:59 2013
@@ -32,7 +32,7 @@
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
-#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
+#include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -49,20 +49,30 @@ namespace sdr
const basegfx::BColor aRGBColorA(getOverlayManager()->getStripeColorA().getBColor());
const basegfx::BColor aRGBColorB(getOverlayManager()->getStripeColorB().getBColor());
const double fStripeLengthPixel(getOverlayManager()->getStripeLengthPixel());
- const basegfx::B2DRange aRollingRectangle(getBasePosition(), getSecondPosition());
-
+ const basegfx::B2DRange aRollingRectangle(getBasePosition(), getSecondPosition());
+
if(getShowBounds())
{
// view-independent part, create directly
- const basegfx::B2DPolygon aPolygon(basegfx::tools::createPolygonFromRect(aRollingRectangle));
- const drawinglayer::primitive2d::Primitive2DReference aReference(
- new drawinglayer::primitive2d::PolygonMarkerPrimitive2D(
- aPolygon,
- aRGBColorA,
- aRGBColorB,
- fStripeLengthPixel));
+ const basegfx::B2DPolygon aPolygon(basegfx::tools::createPolygonFromRect(aRollingRectangle));
- drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aReference);
+ aRetval.realloc(2);
+ aRetval[0] = new drawinglayer::primitive2d::PolyPolygonMarkerPrimitive2D(
+ basegfx::B2DPolyPolygon(aPolygon),
+ aRGBColorA,
+ aRGBColorB,
+ fStripeLengthPixel);
+
+ const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
+ const basegfx::BColor aHilightColor(aSvtOptionsDrawinglayer.getHilightColor().getBColor());
+ const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
+
+ aRetval[1] = new drawinglayer::primitive2d::PolyPolygonSelectionPrimitive2D(
+ basegfx::B2DPolyPolygon(aPolygon),
+ aHilightColor,
+ fTransparence,
+ 3.0,
+ false);
}
if(getExtendedLines())
Modified: openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaytools.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaytools.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaytools.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/sdr/overlay/overlaytools.cxx Thu Feb 21 02:52:59 2013
@@ -34,6 +34,8 @@
#include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx>
+#include <vcl/svapp.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -184,82 +186,122 @@ namespace drawinglayer
{
namespace primitive2d
{
- OverlayHatchRectanglePrimitive::OverlayHatchRectanglePrimitive(
+ OverlayRectanglePrimitive::OverlayRectanglePrimitive(
const basegfx::B2DRange& rObjectRange,
- double fDiscreteHatchDistance,
- double fHatchRotation,
- const basegfx::BColor& rHatchColor,
+ const basegfx::BColor& rColor,
+ double fTransparence,
double fDiscreteGrow,
double fDiscreteShrink,
double fRotation)
: DiscreteMetricDependentPrimitive2D(),
maObjectRange(rObjectRange),
- mfDiscreteHatchDistance(fDiscreteHatchDistance),
- mfHatchRotation(fHatchRotation),
- maHatchColor(rHatchColor),
+ maColor(rColor),
+ mfTransparence(fTransparence),
mfDiscreteGrow(fDiscreteGrow),
mfDiscreteShrink(fDiscreteShrink),
mfRotation(fRotation)
{}
- Primitive2DSequence OverlayHatchRectanglePrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ Primitive2DSequence OverlayRectanglePrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DSequence aRetval;
-
- if(basegfx::fTools::more(getDiscreteUnit(), 0.0))
+ basegfx::B2DRange aInnerRange(getObjectRange());
+
+ if(!aInnerRange.isEmpty() && basegfx::fTools::more(getDiscreteUnit(), 0.0) && getTransparence() <= 1.0)
{
- basegfx::B2DRange aInnerRange(getObjectRange());
- basegfx::B2DRange aOuterRange(getObjectRange());
- basegfx::B2DPolyPolygon aHatchPolyPolygon;
-
- aOuterRange.grow(getDiscreteUnit() * getDiscreteGrow());
- aInnerRange.grow(getDiscreteUnit() * -getDiscreteShrink());
-
- aHatchPolyPolygon.append(basegfx::tools::createPolygonFromRect(aOuterRange));
-
- if(!aInnerRange.isEmpty())
- {
- aHatchPolyPolygon.append(basegfx::tools::createPolygonFromRect(aInnerRange));
- }
-
- if(!basegfx::fTools::equalZero(getRotation()))
- {
+ basegfx::B2DRange aInnerRange(getObjectRange());
+ basegfx::B2DRange aOuterRange(getObjectRange());
+
+ // grow/shrink inner/outer polygons
+ aOuterRange.grow(getDiscreteUnit() * getDiscreteGrow());
+ aInnerRange.grow(getDiscreteUnit() * -getDiscreteShrink());
+
+ // convert to polygons
+ const double fFullGrow(getDiscreteGrow() + getDiscreteShrink());
+ const double fRelativeRadiusX(fFullGrow / aOuterRange.getWidth());
+ const double fRelativeRadiusY(fFullGrow / aOuterRange.getHeight());
+ basegfx::B2DPolygon aOuterPolygon(
+ basegfx::tools::createPolygonFromRect(
+ aOuterRange,
+ fRelativeRadiusX,
+ fRelativeRadiusY));
+ basegfx::B2DPolygon aInnerPolygon(
+ basegfx::tools::createPolygonFromRect(
+ aInnerRange));
+
+ // apply evtl. existing rotation
+ if(!basegfx::fTools::equalZero(getRotation()))
+ {
const basegfx::B2DHomMatrix aTransform(basegfx::tools::createRotateAroundPoint(
getObjectRange().getMinX(), getObjectRange().getMinY(), getRotation()));
- aHatchPolyPolygon.transform(aTransform);
- }
-
- const basegfx::BColor aEmptyColor(0.0, 0.0, 0.0);
- const drawinglayer::attribute::FillHatchAttribute aFillHatchAttribute(
- drawinglayer::attribute::HATCHSTYLE_SINGLE,
- getDiscreteHatchDistance() * getDiscreteUnit(),
- getHatchRotation() - getRotation(),
- getHatchColor(),
- 3, // same default as VCL, a minimum of three discrete units (pixels) offset
- false);
- const Primitive2DReference aPrimitive(
- new PolyPolygonHatchPrimitive2D(
- aHatchPolyPolygon,
- aEmptyColor,
- aFillHatchAttribute));
-
- aRetval = Primitive2DSequence(&aPrimitive, 1);
+ aOuterPolygon.transform(aTransform);
+ aInnerPolygon.transform(aTransform);
+ }
+
+ // create filled primitive
+ basegfx::B2DPolyPolygon aPolyPolygon;
+
+ aPolyPolygon.append(aOuterPolygon);
+ aPolyPolygon.append(aInnerPolygon);
+
+ if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
+ {
+ // for high contrast, use hatch
+ const basegfx::BColor aHighContrastLineColor(Application::GetSettings().GetStyleSettings().GetFontColor().getBColor());
+ const basegfx::BColor aEmptyColor(0.0, 0.0, 0.0);
+ const double fHatchRotation(45 * F_PI180);
+ const double fDiscreteHatchDistance(3.0);
+ const drawinglayer::attribute::FillHatchAttribute aFillHatchAttribute(
+ drawinglayer::attribute::HATCHSTYLE_SINGLE,
+ fDiscreteHatchDistance * getDiscreteUnit(),
+ fHatchRotation - getRotation(),
+ aHighContrastLineColor,
+ 3, // same default as VCL, a minimum of three discrete units (pixels) offset
+ false);
+ const Primitive2DReference aHatch(
+ new PolyPolygonHatchPrimitive2D(
+ aPolyPolygon,
+ aEmptyColor,
+ aFillHatchAttribute));
+
+ aRetval = Primitive2DSequence(&aHatch, 1);
+ }
+ else
+ {
+ // create fill primitive
+ const Primitive2DReference aFill(
+ new PolyPolygonColorPrimitive2D(
+ aPolyPolygon,
+ getColor()));
+
+ aRetval = Primitive2DSequence(&aFill, 1);
+
+ // embed filled to transparency (if used)
+ if(getTransparence() > 0.0)
+ {
+ const Primitive2DReference aFillTransparent(
+ new UnifiedTransparencePrimitive2D(
+ aRetval,
+ getTransparence()));
+
+ aRetval = Primitive2DSequence(&aFillTransparent, 1);
+ }
+ }
}
return aRetval;
- }
+ }
- bool OverlayHatchRectanglePrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
+ bool OverlayRectanglePrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
{
if(DiscreteMetricDependentPrimitive2D::operator==(rPrimitive))
{
- const OverlayHatchRectanglePrimitive& rCompare = static_cast< const OverlayHatchRectanglePrimitive& >(rPrimitive);
+ const OverlayRectanglePrimitive& rCompare = static_cast< const OverlayRectanglePrimitive& >(rPrimitive);
return (getObjectRange() == rCompare.getObjectRange()
- && getDiscreteHatchDistance() == rCompare.getDiscreteHatchDistance()
- && getHatchRotation() == rCompare.getHatchRotation()
- && getHatchColor() == rCompare.getHatchColor()
+ && getColor() == rCompare.getColor()
+ && getTransparence() == rCompare.getTransparence()
&& getDiscreteGrow() == rCompare.getDiscreteGrow()
&& getDiscreteShrink() == rCompare.getDiscreteShrink()
&& getRotation() == rCompare.getRotation());
@@ -268,7 +310,7 @@ namespace drawinglayer
return false;
}
- ImplPrimitrive2DIDBlock(OverlayHatchRectanglePrimitive, PRIMITIVE2D_ID_OVERLAYHATCHRECTANGLEPRIMITIVE)
+ ImplPrimitrive2DIDBlock(OverlayRectanglePrimitive, PRIMITIVE2D_ID_OVERLAYRECTANGLEPRIMITIVE)
} // end of namespace primitive2d
} // end of namespace drawinglayer
Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdcrtv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdcrtv.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdcrtv.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdcrtv.cxx Thu Feb 21 02:52:59 2013
@@ -80,7 +80,8 @@ ImplConnectMarkerOverlay::ImplConnectMar
Size aHalfLogicSize(pTargetOverlay->getOutputDevice().PixelToLogic(Size(4, 4)));
// object
- ::sdr::overlay::OverlayPolyPolygonStriped* pNew = new ::sdr::overlay::OverlayPolyPolygonStriped(aB2DPolyPolygon);
+ ::sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new ::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+ aB2DPolyPolygon);
pTargetOverlay->add(*pNew);
maObjects.append(*pNew);
@@ -105,7 +106,8 @@ ImplConnectMarkerOverlay::ImplConnectMar
basegfx::B2DPolyPolygon aTempPolyPoly;
aTempPolyPoly.append(aTempPoly);
- pNew = new ::sdr::overlay::OverlayPolyPolygonStriped(aTempPolyPoly);
+ pNew = new ::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+ aTempPolyPoly);
pTargetOverlay->add(*pNew);
maObjects.append(*pNew);
}
@@ -166,7 +168,8 @@ void ImpSdrCreateViewExtraData::CreateAn
if(rPolyPoly.count())
{
- ::sdr::overlay::OverlayPolyPolygonStriped* pNew = new ::sdr::overlay::OverlayPolyPolygonStriped(rPolyPoly);
+ ::sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new ::sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+ rPolyPoly);
pOverlayManager->add(*pNew);
maObjects.append(*pNew);
}
Modified: openoffice/branches/ia2/main/svx/source/svdraw/svddrgmt.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svddrgmt.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svddrgmt.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svddrgmt.cxx Thu Feb 21 02:52:59 2013
@@ -67,6 +67,7 @@
#include <svx/svdopath.hxx>
#include <svx/polypolygoneditor.hxx>
#include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
+#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
#include <drawinglayer/primitive2d/markerarrayprimitive2d.hxx>
#include <svx/sdr/primitive2d/sdrattributecreator.hxx>
@@ -124,10 +125,22 @@ drawinglayer::primitive2d::Primitive2DSe
aColB.invert();
}
- drawinglayer::primitive2d::Primitive2DReference aPolyPolygonMarkerPrimitive2D(
- new drawinglayer::primitive2d::PolyPolygonMarkerPrimitive2D(aCopy, aColA, aColB, fStripeLength));
-
- aRetval = drawinglayer::primitive2d::Primitive2DSequence(&aPolyPolygonMarkerPrimitive2D, 1);
+ aRetval.realloc(2);
+ aRetval[0] = new drawinglayer::primitive2d::PolyPolygonMarkerPrimitive2D(
+ aCopy,
+ aColA,
+ aColB,
+ fStripeLength);
+
+ const basegfx::BColor aHilightColor(aSvtOptionsDrawinglayer.getHilightColor().getBColor());
+ const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
+
+ aRetval[1] = new drawinglayer::primitive2d::PolyPolygonSelectionPrimitive2D(
+ aCopy,
+ aHilightColor,
+ fTransparence,
+ 3.0,
+ false);
}
return aRetval;
@@ -964,8 +977,8 @@ drawinglayer::primitive2d::Primitive2DSe
}
drawinglayer::primitive2d::Primitive2DReference aPolyPolygonMarkerPrimitive2D(
- new drawinglayer::primitive2d::PolyPolygonMarkerPrimitive2D(
- basegfx::B2DPolyPolygon(aEdgePolygon), aColA, aColB, fStripeLength));
+ new drawinglayer::primitive2d::PolygonMarkerPrimitive2D(
+ aEdgePolygon, aColA, aColB, fStripeLength));
drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aPolyPolygonMarkerPrimitive2D);
}
}
Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx Thu Feb 21 02:52: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/ia2/main/svx/source/svdraw/svdhdl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdhdl.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdhdl.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdhdl.cxx Thu Feb 21 02:52: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>
@@ -1466,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
@@ -1715,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
Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdmrkv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdmrkv.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdmrkv.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdmrkv.cxx Thu Feb 21 02:52:59 2013
@@ -870,12 +870,12 @@ void SdrMarkView::SetMarkHandles()
// Drehpunkt/Spiegelachse
AddDragModeHdl(eDragMode);
- // add custom handles (used by other apps, e.g. AnchorPos)
- AddCustomHdl();
-
// sort handles
aHdl.Sort();
+ // add custom handles (used by other apps, e.g. AnchorPos)
+ AddCustomHdl();
+
// #105722# try to restore focus handle index from remembered values
if(bSaveOldFocus)
{
Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx Thu Feb 21 02:52: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/ia2/main/svx/source/svdraw/svdview.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdview.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdview.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdview.cxx Thu Feb 21 02:52: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/ia2/main/svx/source/table/svdotable.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/table/svdotable.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/table/svdotable.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/table/svdotable.cxx Thu Feb 21 02:52: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/ia2/main/svx/source/table/tablehandles.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/table/tablehandles.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/table/tablehandles.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/table/tablehandles.cxx Thu Feb 21 02:52: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/ia2/main/svx/source/table/tablehandles.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/table/tablehandles.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/table/tablehandles.hxx (original)
+++ openoffice/branches/ia2/main/svx/source/table/tablehandles.hxx Thu Feb 21 02:52: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/ia2/main/sw/source/core/doc/notxtfrm.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sw/source/core/doc/notxtfrm.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sw/source/core/doc/notxtfrm.cxx (original)
+++ openoffice/branches/ia2/main/sw/source/core/doc/notxtfrm.cxx Thu Feb 21 02:52: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/ia2/main/sw/source/core/frmedt/fecopy.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sw/source/core/frmedt/fecopy.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sw/source/core/frmedt/fecopy.cxx (original)
+++ openoffice/branches/ia2/main/sw/source/core/frmedt/fecopy.cxx Thu Feb 21 02:52: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/ia2/main/sw/source/ui/dochdl/swdtflvr.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sw/source/ui/dochdl/swdtflvr.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sw/source/ui/dochdl/swdtflvr.cxx (original)
+++ openoffice/branches/ia2/main/sw/source/ui/dochdl/swdtflvr.cxx Thu Feb 21 02:52:59 2013
@@ -397,8 +397,13 @@ sal_Bool SwTransferable::GetData( const
{
SelectionType nSelectionType = pWrtShell->GetSelectionType();
-// SEL_GRF kommt vom ContentType der editsh
- if( (nsSelectionType::SEL_GRF | nsSelectionType::SEL_DRW_FORM) & nSelectionType )
+ // when pending we will not get the correct type, but nsSelectionType::SEL_TXT
+ // as fallback. This *happens* durning D&D, so we need to check if we are in
+ // the fallback and just try to get a graphic
+ const bool bPending(pWrtShell->BasicActionPend());
+
+ // SEL_GRF kommt vom ContentType der editsh
+ if(bPending || ((nsSelectionType::SEL_GRF | nsSelectionType::SEL_DRW_FORM) & nSelectionType))
{
pClpGraphic = new Graphic;
if( !pWrtShell->GetDrawObjGraphic( FORMAT_GDIMETAFILE, *pClpGraphic ))
@@ -1230,8 +1235,31 @@ int SwTransferable::PasteData( Transfera
// pTunneledTrans = (SwTransferable*) (sal_IntPtr) nHandle;
// }
- if( pPt && ( bPasteSelection ? 0 != ( pTrans = pMod->pXSelection )
- : 0 != ( pTrans = pMod->pDragDrop) ))
+ // check for private drop
+ bool bPrivateDrop(pPt && (bPasteSelection ? 0 != (pTrans = pMod->pXSelection) : 0 != (pTrans = pMod->pDragDrop)));
+ bool bNeedToSelectBeforePaste(false);
+
+ if(bPrivateDrop && DND_ACTION_LINK == nDropAction)
+ {
+ // internal drop on object, suppress bPrivateDrop to change internal fill
+ bPrivateDrop = false;
+ bNeedToSelectBeforePaste = true;
+ }
+
+ if(bPrivateDrop && pPt && DND_ACTION_MOVE == nDropAction)
+ {
+ // check if dragged over a useful target. If yes, use as content exchange
+ // drop as if from external
+ const SwFrmFmt* pSwFrmFmt = rSh.GetFmtFromObj(*pPt);
+
+ if(pSwFrmFmt && 0 != dynamic_cast< const SwDrawFrmFmt* >(pSwFrmFmt))
+ {
+ bPrivateDrop = false;
+ bNeedToSelectBeforePaste = true;
+ }
+ }
+
+ if(bPrivateDrop)
{
// then internal Drag & Drop or XSelection
nRet = pTrans->PrivateDrop( rSh, *pPt, DND_ACTION_MOVE == nDropAction,
@@ -1283,7 +1311,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case SOT_FORMATSTR_ID_DRAWING:
nRet = SwTransferable::_PasteSdrFormat( rData, rSh,
SW_PASTESDR_INSERT, pPt,
- nActionFlags );
+ nActionFlags, bNeedToSelectBeforePaste);
break;
case SOT_FORMATSTR_ID_HTML:
@@ -1321,7 +1349,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case SOT_FORMAT_GDIMETAFILE:
nRet = SwTransferable::_PasteGrf( rData, rSh, nFormat,
SW_PASTESDR_INSERT,pPt,
- nActionFlags, bMsg );
+ nActionFlags, nDropAction, bNeedToSelectBeforePaste);
break;
case SOT_FORMATSTR_ID_XFORMS:
@@ -1441,7 +1469,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case SOT_FORMATSTR_ID_DRAWING:
nRet = SwTransferable::_PasteSdrFormat( rData, rSh,
SW_PASTESDR_SETATTR, pPt,
- nActionFlags );
+ nActionFlags, bNeedToSelectBeforePaste);
break;
case SOT_FORMATSTR_ID_SVXB:
case SOT_FORMAT_GDIMETAFILE:
@@ -1452,7 +1480,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR:
nRet = SwTransferable::_PasteGrf( rData, rSh, nFormat,
SW_PASTESDR_SETATTR, pPt,
- nActionFlags, bMsg );
+ nActionFlags, nDropAction, bNeedToSelectBeforePaste);
break;
default:
ASSERT( sal_False, "unbekanntes Format" );
@@ -1463,7 +1491,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case EXCHG_OUT_ACTION_INSERT_DRAWOBJ:
nRet = SwTransferable::_PasteSdrFormat( rData, rSh,
SW_PASTESDR_INSERT, pPt,
- nActionFlags );
+ nActionFlags, bNeedToSelectBeforePaste);
break;
case EXCHG_OUT_ACTION_INSERT_SVXB:
case EXCHG_OUT_ACTION_INSERT_GDIMETAFILE:
@@ -1471,13 +1499,13 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case EXCHG_OUT_ACTION_INSERT_GRAPH:
nRet = SwTransferable::_PasteGrf( rData, rSh, nFormat,
SW_PASTESDR_INSERT, pPt,
- nActionFlags, bMsg );
+ nActionFlags, nDropAction, bNeedToSelectBeforePaste);
break;
case EXCHG_OUT_ACTION_REPLACE_DRAWOBJ:
nRet = SwTransferable::_PasteSdrFormat( rData, rSh,
SW_PASTESDR_REPLACE, pPt,
- nActionFlags );
+ nActionFlags, bNeedToSelectBeforePaste);
break;
case EXCHG_OUT_ACTION_REPLACE_SVXB:
@@ -1486,7 +1514,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
case EXCHG_OUT_ACTION_REPLACE_GRAPH:
nRet = SwTransferable::_PasteGrf( rData, rSh, nFormat,
SW_PASTESDR_REPLACE,pPt,
- nActionFlags, bMsg );
+ nActionFlags, nDropAction, bNeedToSelectBeforePaste);
break;
case EXCHG_OUT_ACTION_INSERT_INTERACTIVE:
@@ -2212,13 +2240,21 @@ int SwTransferable::_PasteDDE( Transfera
int SwTransferable::_PasteSdrFormat( TransferableDataHelper& rData,
SwWrtShell& rSh, sal_uInt16 nAction,
- const Point* pPt, sal_uInt8 nActionFlags )
+ const Point* pPt, sal_uInt8 nActionFlags, bool bNeedToSelectBeforePaste)
{
int nRet = 0;
SotStorageStreamRef xStrm;
if( rData.GetSotStorageStream( SOT_FORMATSTR_ID_DRAWING, xStrm ))
{
xStrm->SetVersion( SOFFICE_FILEFORMAT_50 );
+
+ if(bNeedToSelectBeforePaste && pPt)
+ {
+ // if this is an internal drag, need to set the target right (select it), else
+ // still the source will be selected
+ SwTransferable::SetSelInShell( rSh, sal_True, pPt );
+ }
+
rSh.Paste( *xStrm, nAction, pPt );
nRet = 1;
@@ -2233,7 +2269,7 @@ int SwTransferable::_PasteSdrFormat( Tr
int SwTransferable::_PasteGrf( TransferableDataHelper& rData, SwWrtShell& rSh,
sal_uLong nFmt, sal_uInt16 nAction, const Point* pPt,
- sal_uInt8 nActionFlags, sal_Bool /*bMsg*/ )
+ sal_uInt8 nActionFlags, sal_Int8 /* nDropAction */, bool bNeedToSelectBeforePaste)
{
int nRet = 0;
@@ -2248,6 +2284,19 @@ int SwTransferable::_PasteGrf( Transfera
nRet = rData.GetGraphic( nFmt, aGrf );
break;
+ case SOT_FORMATSTR_ID_SVXB:
+ {
+ SotStorageStreamRef xStm;
+
+ if(rData.GetSotStorageStream(SOT_FORMATSTR_ID_SVXB, xStm))
+ {
+ *xStm >> aGrf;
+ nRet = (GRAPHIC_NONE != aGrf.GetType() && GRAPHIC_DEFAULT != aGrf.GetType());
+ }
+
+ break;
+ }
+
case SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK:
case SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR:
case SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR:
@@ -2307,6 +2356,15 @@ int SwTransferable::_PasteGrf( Transfera
}
}
+ if(pPt && bNeedToSelectBeforePaste)
+ {
+ // when using internal D&Ds, still the source object is selected and
+ // this is necessary to get the correct source data which is also
+ // dependent from selection. After receiving the drag data it is
+ // now tiime to select the correct target object
+ SwTransferable::SetSelInShell( rSh, sal_True, pPt );
+ }
+
if( nRet )
{
String sURL;
@@ -2475,10 +2533,10 @@ int SwTransferable::_PasteAsHyperlink( T
int SwTransferable::_PasteFileName( TransferableDataHelper& rData,
SwWrtShell& rSh, sal_uLong nFmt,
sal_uInt16 nAction, const Point* pPt,
- sal_uInt8 nActionFlags, sal_Bool bMsg )
+ sal_uInt8 nActionFlags, sal_Bool /* bMsg */)
{
int nRet = SwTransferable::_PasteGrf( rData, rSh, nFmt, nAction,
- pPt, nActionFlags, bMsg );
+ pPt, nActionFlags, 0, false);
if( nRet )
nRet |= SWTRANSFER_GRAPHIC_INSERTED;
if( !nRet )
Modified: openoffice/branches/ia2/main/sw/source/ui/inc/swdtflvr.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sw/source/ui/inc/swdtflvr.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sw/source/ui/inc/swdtflvr.hxx (original)
+++ openoffice/branches/ia2/main/sw/source/ui/inc/swdtflvr.hxx Thu Feb 21 02:52:59 2013
@@ -106,11 +106,11 @@ class SwTransferable : public Transferab
static int _PasteSdrFormat( TransferableDataHelper& rData,
SwWrtShell& rSh, sal_uInt16 nAction,
- const Point* pPt, sal_uInt8 nActionFlags );
+ const Point* pPt, sal_uInt8 nActionFlags, bool bNeedToSelectBeforePaste);
static int _PasteGrf( TransferableDataHelper& rData, SwWrtShell& rSh,
sal_uLong nFmt, sal_uInt16 nAction, const Point* pPt,
- sal_uInt8 nActionFlags, sal_Bool bMsg );
+ sal_uInt8 nActionFlags, sal_Int8 nDropAction, bool bNeedToSelectBeforePaste);
static int _PasteImageMap( TransferableDataHelper& rData,
SwWrtShell& rSh );