summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdmrkv.cxx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2008-02-26 06:38:17 +0000
committerOliver Bolte <obo@openoffice.org>2008-02-26 06:38:17 +0000
commit56c646875853ec209c921b2a4daa7efe774e382a (patch)
tree77be2b81f6b4a7447d92636d05171980b5daf741 /svx/source/svdraw/svdmrkv.cxx
parent5bb318721ba3c7622d6be46b475388e6beae1a32 (diff)
INTEGRATION: CWS cropmaster2000_DEV300 (1.35.112); FILE MERGED
2007/12/05 19:58:52 cl 1.35.112.2: #i83933# added croping handles 2007/11/24 21:16:22 cl 1.35.112.1: #i83933# added interactive graphic cropping
Diffstat (limited to 'svx/source/svdraw/svdmrkv.cxx')
-rw-r--r--svx/source/svdraw/svdmrkv.cxx59
1 files changed, 40 insertions, 19 deletions
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 7d3b15f9c565..f958a08bfad1 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: svdmrkv.cxx,v $
*
- * $Revision: 1.35 $
+ * $Revision: 1.36 $
*
- * last change: $Author: vg $ $Date: 2007-08-28 13:50:49 $
+ * last change: $Author: obo $ $Date: 2008-02-26 07:38:17 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -752,27 +752,42 @@ void SdrMarkView::SetMarkHandles()
if(!aRect.IsEmpty() && !bHideHandlesWhenInTextEdit)
{ // sonst nix gefunden
- BOOL bWdt0=aRect.Left()==aRect.Right();
- BOOL bHgt0=aRect.Top()==aRect.Bottom();
- if (bWdt0 && bHgt0)
- {
- aHdl.AddHdl(new SdrHdl(aRect.TopLeft(),HDL_UPLFT));
- }
- else if (!bStdDrag && (bWdt0 || bHgt0))
+
+ if( eDragMode==SDRDRAG_CROP )
{
- aHdl.AddHdl(new SdrHdl(aRect.TopLeft() ,HDL_UPLFT));
- aHdl.AddHdl(new SdrHdl(aRect.BottomRight(),HDL_LWRGT));
+ aHdl.AddHdl(new SdrCropHdl(aRect.TopLeft() ,HDL_UPLFT));
+ aHdl.AddHdl(new SdrCropHdl(aRect.TopCenter() ,HDL_UPPER));
+ aHdl.AddHdl(new SdrCropHdl(aRect.TopRight() ,HDL_UPRGT));
+ aHdl.AddHdl(new SdrCropHdl(aRect.LeftCenter() ,HDL_LEFT ));
+ aHdl.AddHdl(new SdrCropHdl(aRect.RightCenter() ,HDL_RIGHT));
+ aHdl.AddHdl(new SdrCropHdl(aRect.BottomLeft() ,HDL_LWLFT));
+ aHdl.AddHdl(new SdrCropHdl(aRect.BottomCenter(),HDL_LOWER));
+ aHdl.AddHdl(new SdrCropHdl(aRect.BottomRight() ,HDL_LWRGT));
}
else
{
- if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.TopLeft() ,HDL_UPLFT));
- if ( !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.TopCenter() ,HDL_UPPER));
- if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.TopRight() ,HDL_UPRGT));
- if (!bWdt0 ) aHdl.AddHdl(new SdrHdl(aRect.LeftCenter() ,HDL_LEFT ));
- if (!bWdt0 ) aHdl.AddHdl(new SdrHdl(aRect.RightCenter() ,HDL_RIGHT));
- if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.BottomLeft() ,HDL_LWLFT));
- if ( !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.BottomCenter(),HDL_LOWER));
- if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.BottomRight() ,HDL_LWRGT));
+ BOOL bWdt0=aRect.Left()==aRect.Right();
+ BOOL bHgt0=aRect.Top()==aRect.Bottom();
+ if (bWdt0 && bHgt0)
+ {
+ aHdl.AddHdl(new SdrHdl(aRect.TopLeft(),HDL_UPLFT));
+ }
+ else if (!bStdDrag && (bWdt0 || bHgt0))
+ {
+ aHdl.AddHdl(new SdrHdl(aRect.TopLeft() ,HDL_UPLFT));
+ aHdl.AddHdl(new SdrHdl(aRect.BottomRight(),HDL_LWRGT));
+ }
+ else
+ {
+ if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.TopLeft() ,HDL_UPLFT));
+ if ( !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.TopCenter() ,HDL_UPPER));
+ if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.TopRight() ,HDL_UPRGT));
+ if (!bWdt0 ) aHdl.AddHdl(new SdrHdl(aRect.LeftCenter() ,HDL_LEFT ));
+ if (!bWdt0 ) aHdl.AddHdl(new SdrHdl(aRect.RightCenter() ,HDL_RIGHT));
+ if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.BottomLeft() ,HDL_LWLFT));
+ if ( !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.BottomCenter(),HDL_LOWER));
+ if (!bWdt0 && !bHgt0) aHdl.AddHdl(new SdrHdl(aRect.BottomRight() ,HDL_LWRGT));
+ }
}
}
}
@@ -1040,6 +1055,11 @@ void SdrMarkView::AddDragModeHdl(SdrDragMode eMode)
}
break;
}
+ case SDRDRAG_CROP:
+ {
+ // todo
+ break;
+ }
default: break;
}
}
@@ -1123,6 +1143,7 @@ void SdrMarkView::ForceRefToMarked()
case SDRDRAG_TRANSPARENCE:
case SDRDRAG_GRADIENT:
+ case SDRDRAG_CROP:
{
Rectangle aRect(GetMarkedObjBoundRect());
aRef1 = aRect.TopLeft();