1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2008 by Sun Microsystems, Inc. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * $RCSfile: $ 10 * 11 * $Revision: $ 12 * 13 * This file is part of OpenOffice.org. 14 * 15 * OpenOffice.org is free software: you can redistribute it and/or modify 16 * it under the terms of the GNU Lesser General Public License version 3 17 * only, as published by the Free Software Foundation. 18 * 19 * OpenOffice.org is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 * GNU Lesser General Public License version 3 for more details 23 * (a copy is included in the LICENSE file that accompanied this code). 24 * 25 * You should have received a copy of the GNU Lesser General Public License 26 * version 3 along with OpenOffice.org. If not, see 27 * <http://www.openoffice.org/license.html> 28 * for a copy of the LGPLv3 License. 29 * 30 ************************************************************************/ 31 32 #ifndef _SHADOWOVERLAYOBJECT_HXX 33 #define _SHADOWOVERLAYOBJECT_HXX 34 35 #include <svx/sdr/overlay/overlayobject.hxx> 36 37 class SwView; 38 39 namespace sw { namespace sidebarwindows { 40 41 enum ShadowState 42 { 43 SS_NORMAL, 44 SS_VIEW, 45 SS_EDIT 46 }; 47 48 class ShadowOverlayObject: public sdr::overlay::OverlayObjectWithBasePosition 49 { 50 protected: 51 // geometry creation for OverlayObject 52 virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); 53 54 private: 55 basegfx::B2DPoint maSecondPosition; 56 ShadowState mShadowState; 57 58 ShadowOverlayObject( const basegfx::B2DPoint& rBasePos, 59 const basegfx::B2DPoint& rSecondPosition, 60 Color aBaseColor, 61 ShadowState aState ); 62 virtual ~ShadowOverlayObject(); 63 64 public: 65 void SetShadowState(ShadowState aState); 66 inline ShadowState GetShadowState() {return mShadowState;} 67 68 inline const basegfx::B2DPoint& GetSecondPosition() const { return maSecondPosition; } 69 void SetSecondPosition( const basegfx::B2DPoint& rNew ); 70 71 void SetPosition( const basegfx::B2DPoint& rPoint1, 72 const basegfx::B2DPoint& rPoint2 ); 73 74 static ShadowOverlayObject* CreateShadowOverlayObject( SwView& rDocView ); 75 static void DestroyShadowOverlayObject( ShadowOverlayObject* pShadow ); 76 }; 77 78 } } // end of namespace sw::sidebarwindows 79 80 #endif 81