diff options
author | Oliver Bolte <obo@openoffice.org> | 2008-02-26 06:38:17 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2008-02-26 06:38:17 +0000 |
commit | 56c646875853ec209c921b2a4daa7efe774e382a (patch) | |
tree | 77be2b81f6b4a7447d92636d05171980b5daf741 /svx/source/svdraw/svdmrkv.cxx | |
parent | 5bb318721ba3c7622d6be46b475388e6beae1a32 (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.cxx | 59 |
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(); |