diff options
Diffstat (limited to 'svx/inc')
139 files changed, 1481 insertions, 1882 deletions
diff --git a/svx/inc/AccessibleSelectionBase.hxx b/svx/inc/AccessibleSelectionBase.hxx index 335ddf7c96e4..09767025d84a 100644 --- a/svx/inc/AccessibleSelectionBase.hxx +++ b/svx/inc/AccessibleSelectionBase.hxx @@ -74,79 +74,3 @@ namespace accessibility } #endif // _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: AccessibleSelectionBase.hxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX -#define _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX - -#include <comphelper/accessibleselectionhelper.hxx> -#include "svx/svxdllapi.h" - -namespace accessibility -{ -/** @descr - This base class provides a base implementation of the - <type>XAccessibleSelection</type> interface. - The following methods have to be implemented if this - class is used: - - <method>implGetMutex</method>, - <method>implGetAccessibleContext</method>, - <method>implIsSelected</method>, - <method>implSelect</method>, -*/ - class SVX_DLLPUBLIC AccessibleSelectionBase : public ::comphelper::OCommonAccessibleSelection, - public ::com::sun::star::accessibility::XAccessibleSelection - { - protected: - - virtual ::osl::Mutex& implGetMutex() = 0; - - public: - - // XAccessibleSelection - default implementations - virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearAccessibleSelection( ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL selectAllAccessibleChildren( ) throw (::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - public: - - AccessibleSelectionBase(); - virtual ~AccessibleSelectionBase(); - }; - -} - -#endif // _SVX_ACCESSIBILITY_ACCESSIBLE_SELECTION_BASE_HXX diff --git a/svx/inc/AccessibleStaticTextBase.hxx b/svx/inc/AccessibleStaticTextBase.hxx index 5ee498be5695..60a31117185f 100644 --- a/svx/inc/AccessibleStaticTextBase.hxx +++ b/svx/inc/AccessibleStaticTextBase.hxx @@ -44,6 +44,7 @@ class SvxEditSource; +class SvxEditViewForwarder; namespace accessibility { @@ -266,6 +267,9 @@ namespace accessibility protected: Rectangle GetParagraphBoundingBox() const; + sal_Int32 GetParagraphCount() const; + sal_Int32 GetParagraphIndex() const; + sal_Int32 GetLineCount( sal_Int32 nParagraph ) const; private: diff --git a/svx/inc/ActionDescriptionProvider.hxx b/svx/inc/ActionDescriptionProvider.hxx index 01b128db09cd..b34ca9a1d312 100644 --- a/svx/inc/ActionDescriptionProvider.hxx +++ b/svx/inc/ActionDescriptionProvider.hxx @@ -66,71 +66,3 @@ public: }; #endif -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ActionDescriptionProvider.hxx,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SVX_ACTIONDESCRIPTIONPROVIDER_HXX -#define _SVX_ACTIONDESCRIPTIONPROVIDER_HXX - -#include "svx/svxdllapi.h" - -// header for class OUString -#include <rtl/ustring.hxx> - -//----------------------------------------------------------------------------- -/** This class provides localized descriptions for some basic actions done with objects. -The strings are intended to be provided to the user e.g. as description for undo actions in the menu. -The name of the object acted on and the type of action needs to be given as input parameter. -*/ - -class SVX_DLLPUBLIC ActionDescriptionProvider -{ -public: - enum ActionType - { - INSERT - , DELETE - , CUT - , MOVE - , RESIZE - , ROTATE - , TRANSFORM - , FORMAT - , MOVE_TOTOP - , MOVE_TOBOTTOM - , POS_SIZE - }; - -public: - static ::rtl::OUString createDescription( ActionType eActionType - , const ::rtl::OUString& rObjectName ); -}; - -#endif diff --git a/svx/inc/EnhancedCustomShapeFunctionParser.hxx b/svx/inc/EnhancedCustomShapeFunctionParser.hxx index 9c9a8574aa8f..411a16d60e31 100755 --- a/svx/inc/EnhancedCustomShapeFunctionParser.hxx +++ b/svx/inc/EnhancedCustomShapeFunctionParser.hxx @@ -32,14 +32,14 @@ #define _ENHANCEDCUSTOMSHAPEFUNCTIONPARSER_HXX #include <sal/config.h> -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED #include <boost/shared_ptr.hpp> -#endif #include "EnhancedCustomShapeFunctionParser.hxx" #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp> #include <vector> +#include <svx/svxdllapi.h> + struct EnhancedCustomShapeEquation { sal_Int32 nOperation; @@ -97,7 +97,7 @@ enum ExpressionFunct #define EXPRESSION_FLAG_SUMANGLE_MODE 1 -void FillEquationParameter( const com::sun::star::drawing::EnhancedCustomShapeParameter&, const sal_Int32, EnhancedCustomShapeEquation& ); +SVX_DLLPUBLIC void FillEquationParameter( const com::sun::star::drawing::EnhancedCustomShapeParameter&, const sal_Int32, EnhancedCustomShapeEquation& ); class ExpressionNode { @@ -200,7 +200,7 @@ public: @return the generated function object. */ - static ExpressionNodeSharedPtr parseFunction( const ::rtl::OUString& rFunction, const EnhancedCustomShape2d& rCustoShape ); + SVX_DLLPUBLIC static ExpressionNodeSharedPtr parseFunction( const ::rtl::OUString& rFunction, const EnhancedCustomShape2d& rCustoShape ); private: // disabled constructor/destructor, since this is diff --git a/svx/inc/accessibility.hrc b/svx/inc/accessibility.hrc index 01955e04967c..5688f7a8033e 100644 --- a/svx/inc/accessibility.hrc +++ b/svx/inc/accessibility.hrc @@ -80,102 +80,6 @@ // text paragraphs and bullets #define RID_SVXSTR_A11Y_TEXTHELPER_START (RID_SVXSTR_ACCESSIBILITY_START + 70) -#define RID_SVXSTR_A11Y_PARAGRAPH_DESCRIPTION (RID_SVXSTR_A11Y_TEXTHELPER_START + 0) -#define RID_SVXSTR_A11Y_PARAGRAPH_NAME (RID_SVXSTR_A11Y_TEXTHELPER_START + 1) -#define RID_SVXSTR_A11Y_IMAGEBULLET_DESCRIPTION (RID_SVXSTR_A11Y_TEXTHELPER_START + 2) -#define RID_SVXSTR_A11Y_IMAGEBULLET_NAME (RID_SVXSTR_A11Y_TEXTHELPER_START + 3) - -// SvxShowCharSetAcc -#define RID_SVXSTR_CHARACTER_SELECTION (RID_SVXSTR_ACCESSIBILITY_START + 80) -#define RID_SVXSTR_CHARACTER_CODE (RID_SVXSTR_ACCESSIBILITY_START + 81) -#define RID_SVXSTR_CHAR_SEL_DESC (RID_SVXSTR_ACCESSIBILITY_START + 82) - -#endif - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: accessibility.hrc,v $ - * $Revision: 1.10 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SVX_ACCESSIBILITY_HRC -#define _SVX_ACCESSIBILITY_HRC - -#include <svx/dialogs.hrc> - -#define RID_SVXSTR_A11Y_3D_MATERIAL_COLOR (RID_SVXSTR_ACCESSIBILITY_START + 1) -#define RID_SVXSTR_A11Y_TEXT_COLOR (RID_SVXSTR_ACCESSIBILITY_START + 2) -#define RID_SVXSTR_A11Y_BACKGROUND_COLOR (RID_SVXSTR_ACCESSIBILITY_START + 3) -#define RID_SVXSTR_A11Y_FILLSTYLE_NONE (RID_SVXSTR_ACCESSIBILITY_START + 4) -#define RID_SVXSTR_A11Y_FILLSTYLE_SOLID (RID_SVXSTR_ACCESSIBILITY_START + 5) -#define RID_SVXSTR_A11Y_FILLSTYLE_HATCH (RID_SVXSTR_ACCESSIBILITY_START + 6) -#define RID_SVXSTR_A11Y_FILLSTYLE_GRADIENT (RID_SVXSTR_ACCESSIBILITY_START + 7) -#define RID_SVXSTR_A11Y_FILLSTYLE_BITMAP (RID_SVXSTR_ACCESSIBILITY_START + 8) -#define RID_SVXSTR_A11Y_WITH (RID_SVXSTR_ACCESSIBILITY_START + 9) -#define RID_SVXSTR_A11Y_STYLE (RID_SVXSTR_ACCESSIBILITY_START + 10) -#define RID_SVXSTR_A11Y_AND (RID_SVXSTR_ACCESSIBILITY_START + 11) - - -// SvxRectCtl & childs -#define RID_SVXSTR_RECTCTL_ACC_START (RID_SVXSTR_ACCESSIBILITY_START + 20) -#define RID_SVXSTR_RECTCTL_ACC_CORN_NAME (RID_SVXSTR_RECTCTL_ACC_START + 0) -#define RID_SVXSTR_RECTCTL_ACC_CORN_DESCR (RID_SVXSTR_RECTCTL_ACC_START + 1) -#define RID_SVXSTR_RECTCTL_ACC_ANGL_NAME (RID_SVXSTR_RECTCTL_ACC_START + 2) -#define RID_SVXSTR_RECTCTL_ACC_ANGL_DESCR (RID_SVXSTR_RECTCTL_ACC_START + 3) - -#define RID_SVXSTR_RECTCTL_ACC_CHLD_LT (RID_SVXSTR_RECTCTL_ACC_START + 4) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_MT (RID_SVXSTR_RECTCTL_ACC_START + 5) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_RT (RID_SVXSTR_RECTCTL_ACC_START + 6) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_LM (RID_SVXSTR_RECTCTL_ACC_START + 7) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_MM (RID_SVXSTR_RECTCTL_ACC_START + 8) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_RM (RID_SVXSTR_RECTCTL_ACC_START + 9) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_LB (RID_SVXSTR_RECTCTL_ACC_START + 10) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_MB (RID_SVXSTR_RECTCTL_ACC_START + 11) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_RB (RID_SVXSTR_RECTCTL_ACC_START + 12) - -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A000 (RID_SVXSTR_RECTCTL_ACC_START + 13) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A045 (RID_SVXSTR_RECTCTL_ACC_START + 14) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A090 (RID_SVXSTR_RECTCTL_ACC_START + 15) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A135 (RID_SVXSTR_RECTCTL_ACC_START + 16) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A180 (RID_SVXSTR_RECTCTL_ACC_START + 17) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A225 (RID_SVXSTR_RECTCTL_ACC_START + 18) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A270 (RID_SVXSTR_RECTCTL_ACC_START + 19) -#define RID_SVXSTR_RECTCTL_ACC_CHLD_A315 (RID_SVXSTR_RECTCTL_ACC_START + 20) -#define RID_SVXSTR_RECTCTL_ACC_END (RID_SVXSTR_RECTCTL_ACC_START + 21) - -// SvxGraphCtrlAccessibleContext -#define RID_SVXSTR_GRAPHCTRL_ACC_START (RID_SVXSTR_RECTCTL_ACC_END) -#define RID_SVXSTR_GRAPHCTRL_ACC_NAME (RID_SVXSTR_GRAPHCTRL_ACC_START + 0) -#define RID_SVXSTR_GRAPHCTRL_ACC_DESCRIPTION (RID_SVXSTR_GRAPHCTRL_ACC_START + 1) - -// text paragraphs and bullets -#define RID_SVXSTR_A11Y_TEXTHELPER_START (RID_SVXSTR_ACCESSIBILITY_START + 70) -#define RID_SVXSTR_A11Y_PARAGRAPH_DESCRIPTION (RID_SVXSTR_A11Y_TEXTHELPER_START + 0) -#define RID_SVXSTR_A11Y_PARAGRAPH_NAME (RID_SVXSTR_A11Y_TEXTHELPER_START + 1) #define RID_SVXSTR_A11Y_IMAGEBULLET_DESCRIPTION (RID_SVXSTR_A11Y_TEXTHELPER_START + 2) #define RID_SVXSTR_A11Y_IMAGEBULLET_NAME (RID_SVXSTR_A11Y_TEXTHELPER_START + 3) diff --git a/svx/inc/acorrcfg.hxx b/svx/inc/acorrcfg.hxx index fe28610df8d6..046cf1a6198a 100644 --- a/svx/inc/acorrcfg.hxx +++ b/svx/inc/acorrcfg.hxx @@ -134,141 +134,3 @@ public: #endif - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: acorrcfg.hxx,v $ - * $Revision: 1.7 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVXACCFG_HXX -#define _SVXACCFG_HXX - -// include --------------------------------------------------------------- - -#include "svx/svxdllapi.h" -#include <unotools/configitem.hxx> -/* -----------------------------12.10.00 11:40-------------------------------- - - ---------------------------------------------------------------------------*/ -class SvxAutoCorrect; -class SvxAutoCorrCfg; -class SVX_DLLPUBLIC SvxBaseAutoCorrCfg : public utl::ConfigItem -{ - SvxAutoCorrCfg& rParent; - com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); - -public: - SvxBaseAutoCorrCfg(SvxAutoCorrCfg& rParent); - ~SvxBaseAutoCorrCfg(); - - void Load(sal_Bool bInit); - virtual void Commit(); - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames); - void SetModified() {ConfigItem::SetModified();} -}; -/* -----------------------------12.10.00 11:40-------------------------------- - - ---------------------------------------------------------------------------*/ -class SVX_DLLPUBLIC SvxSwAutoCorrCfg : public utl::ConfigItem -{ - SvxAutoCorrCfg& rParent; - com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); - -public: - SvxSwAutoCorrCfg(SvxAutoCorrCfg& rParent); - ~SvxSwAutoCorrCfg(); - - void Load(sal_Bool bInit); - virtual void Commit(); - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames); - void SetModified() {ConfigItem::SetModified();} -}; -/*-------------------------------------------------------------------- - Beschreibung: Konfiguration fuer Auto Correction - --------------------------------------------------------------------*/ -class SVX_DLLPUBLIC SvxAutoCorrCfg -{ - friend class SvxBaseAutoCorrCfg; - friend class SvxSwAutoCorrCfg; - - SvxAutoCorrect* pAutoCorrect; - - SvxBaseAutoCorrCfg aBaseConfig; - SvxSwAutoCorrCfg aSwConfig; - - // Flags f"ur Autotext: - sal_Bool bFileRel; - sal_Bool bNetRel; - // Tiphilfe f"ur Autotext w"ahrend der Eingabe - sal_Bool bAutoTextTip; - sal_Bool bAutoTextPreview; - sal_Bool bAutoFmtByInput; - sal_Bool bSearchInAllCategories; - -public: - void SetModified() - { - aBaseConfig.SetModified(); - aSwConfig.SetModified(); - } - void Commit() - { - aBaseConfig.Commit(); - aSwConfig.Commit(); - } - - SvxAutoCorrect* GetAutoCorrect() { return pAutoCorrect; } - const SvxAutoCorrect* GetAutoCorrect() const { return pAutoCorrect; } - // der Pointer geht in den Besitz des ConfigItems! - void SetAutoCorrect( SvxAutoCorrect* ); - - sal_Bool IsAutoFmtByInput() const { return bAutoFmtByInput; } - void SetAutoFmtByInput( sal_Bool bSet ) { bAutoFmtByInput = bSet;aSwConfig.SetModified();} - - sal_Bool IsSaveRelFile() const { return bFileRel; } - void SetSaveRelFile( sal_Bool bSet ) { bFileRel = bSet; aSwConfig.SetModified(); } - - sal_Bool IsSaveRelNet() const { return bNetRel; } - void SetSaveRelNet( sal_Bool bSet ) { bNetRel = bSet; aSwConfig.SetModified();} - - sal_Bool IsAutoTextPreview() const {return bAutoTextPreview;} - void SetAutoTextPreview(sal_Bool bSet) {bAutoTextPreview = bSet; aSwConfig.SetModified();} - - sal_Bool IsAutoTextTip() const { return bAutoTextTip; } - void SetAutoTextTip(sal_Bool bSet ) { bAutoTextTip = bSet;aSwConfig.SetModified();} - - sal_Bool IsSearchInAllCategories() const { return bSearchInAllCategories;} - void SetSearchInAllCategories(sal_Bool bSet ) { bSearchInAllCategories = bSet; aSwConfig.SetModified(); } - - SvxAutoCorrCfg(); - virtual ~SvxAutoCorrCfg(); - static SvxAutoCorrCfg* Get(); -}; - - -#endif - diff --git a/svx/inc/anchorid.hxx b/svx/inc/anchorid.hxx index 072bcaae4177..db897fb3e11e 100644 --- a/svx/inc/anchorid.hxx +++ b/svx/inc/anchorid.hxx @@ -43,50 +43,3 @@ enum SvxAnchorIds #endif - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: anchorid.hxx,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_ANCHORID_HXX -#define _SVX_ANCHORID_HXX - - -enum SvxAnchorIds -{ - SVX_OBJ_AT_CNTNT = 0x01, //Absatzgebundener Rahmen - SVX_OBJ_IN_CNTNT = 0x02, //Zeichengebundener Rahmen - SVX_OBJ_PAGE = 0x04, //Seitengebundener Rahmen - SVX_OBJ_AT_FLY = 0x08 //Rahmengebundener Rahmen -// SVX_OBJ_AUTO_CNTNT = 0x10 //Automatisch positionierter, absatzgebundener Rahmen -}; - - - -#endif - diff --git a/svx/inc/asiancfg.hxx b/svx/inc/asiancfg.hxx index 5a445f36b1ee..303da7e76630 100644 --- a/svx/inc/asiancfg.hxx +++ b/svx/inc/asiancfg.hxx @@ -70,77 +70,3 @@ public: }; #endif - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: asiancfg.hxx,v $ - * $Revision: 1.4 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_ASIANCFG_HXX -#define _SVX_ASIANCFG_HXX - -#include <unotools/configitem.hxx> -#include <com/sun/star/uno/Sequence.h> -#include "svx/svxdllapi.h" - -namespace com{namespace sun{namespace star{ -namespace lang{ - struct Locale; -}}}} -//----------------------------------------------------------------------------- -struct SvxAsianConfig_Impl; -class SVX_DLLPUBLIC SvxAsianConfig : public utl::ConfigItem -{ - SvxAsianConfig_Impl* pImpl; - -public: - SvxAsianConfig(sal_Bool bEnableNotify = sal_True); - virtual ~SvxAsianConfig(); - - void Load(); - virtual void Commit(); - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames); - - sal_Bool IsKerningWesternTextOnly() const; - void SetKerningWesternTextOnly(sal_Bool bSet); - - sal_Int16 GetCharDistanceCompression() const; - void SetCharDistanceCompression(sal_Int16 nSet); - - com::sun::star::uno::Sequence<com::sun::star::lang::Locale> - GetStartEndCharLocales(); - - sal_Bool GetStartEndChars( const com::sun::star::lang::Locale& rLocale, - rtl::OUString& rStartChars, - rtl::OUString& rEndChars ); - void SetStartEndChars( const com::sun::star::lang::Locale& rLocale, - const rtl::OUString* pStartChars, - const rtl::OUString* pEndChars ); -}; - -#endif - diff --git a/svx/inc/bolnitem.hxx b/svx/inc/bolnitem.hxx index f8ec8d319325..bfb55d676866 100644 --- a/svx/inc/bolnitem.hxx +++ b/svx/inc/bolnitem.hxx @@ -84,91 +84,3 @@ private: #endif - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: bolnitem.hxx,v $ - * $Revision: 1.7 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_BOLNITEM_HXX -#define _SVX_BOLNITEM_HXX - -// include --------------------------------------------------------------- - - - -#include <svtools/poolitem.hxx> -#include "svx/svxdllapi.h" - - - -// class SvxLineItem ----------------------------------------------------- - - -/* -[Beschreibung] -Dieses Item transportiert eine SvxBorderLine. -*/ - -class SvxBorderLine; - -class SVX_DLLPUBLIC SvxLineItem : public SfxPoolItem -{ -public: - TYPEINFO(); - - SvxLineItem( const USHORT nId ); - SvxLineItem( const SvxLineItem& rCpy ); - ~SvxLineItem(); - SvxLineItem &operator=( const SvxLineItem& rLine ); - - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String &rText, const IntlWrapper * = 0 ) const; - - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxPoolItem* Create(SvStream &, USHORT) const; - virtual SvStream& Store(SvStream &, USHORT nItemVersion ) const; - virtual int ScaleMetrics( long nMult, long nDiv ); - virtual int HasMetrics() const; - - const SvxBorderLine* GetLine () const { return pLine; } - void SetLine ( const SvxBorderLine *pNew ); - -private: - SvxBorderLine* pLine; -}; - - - - -#endif - diff --git a/svx/inc/bulitem.hxx b/svx/inc/bulitem.hxx index 84eda79feecc..b0adc0d4dd9f 100644 --- a/svx/inc/bulitem.hxx +++ b/svx/inc/bulitem.hxx @@ -161,168 +161,3 @@ public: #endif - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: bulitem.hxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_BULITEM_HXX -#define _SVX_BULITEM_HXX - -// include --------------------------------------------------------------- - -#include "svx/svxdllapi.h" - - -// define ---------------------------------------------------------------- - -// Styles -#define BS_ABC_BIG 0 -#define BS_ABC_SMALL 1 -#define BS_ROMAN_BIG 2 -#define BS_ROMAN_SMALL 3 -#define BS_123 4 -#define BS_NONE 5 -#define BS_BULLET 6 -#define BS_BMP 128 - -// Justification -#define BJ_HLEFT 0x01 -#define BJ_HRIGHT 0x02 -#define BJ_HCENTER 0x04 -#define BJ_VTOP 0x08 -#define BJ_VBOTTOM 0x10 -#define BJ_VCENTER 0x20 - -// Valid-Bits -// Erstmal nur die Werte, die vom Dialog geaendert werden... -#define VALID_FONTCOLOR 0x0001 -#define VALID_FONTNAME 0x0002 -#define VALID_SYMBOL 0x0004 -#define VALID_BITMAP 0x0008 -#define VALID_SCALE 0x0010 -#define VALID_START 0x0020 -#define VALID_STYLE 0x0040 -#define VALID_PREVTEXT 0x0080 -#define VALID_FOLLOWTEXT 0x0100 -#include <svtools/poolitem.hxx> -#include <vcl/font.hxx> -#include <goodies/grfmgr.hxx> - -// class SvxBulletItem --------------------------------------------------- - -class SVX_DLLPUBLIC SvxBulletItem : public SfxPoolItem -{ - Font aFont; - GraphicObject* pGraphicObject; - String aPrevText; - String aFollowText; - USHORT nStart; - USHORT nStyle; - long nWidth; - USHORT nScale; - sal_Unicode cSymbol; - BYTE nJustify; - USHORT nValidMask; // Nur temporaer fuer GetAttribs/SetAttribs, wegen des grossen Bullets - -#ifdef _SVX_BULITEM_CXX - void SetDefaultFont_Impl(); - void SetDefaults_Impl(); -#endif - -public: - TYPEINFO(); - - SvxBulletItem( USHORT nWhich = 0 ); - SvxBulletItem( BYTE nStyle, const Font& rFont, USHORT nStart = 0, USHORT nWhich = 0 ); - SvxBulletItem( const Font& rFont, sal_Unicode cSymbol, USHORT nWhich=0 ); - SvxBulletItem( const Bitmap&, USHORT nWhich = 0 ); - SvxBulletItem( const GraphicObject&, USHORT nWhich = 0 ); - SvxBulletItem( SvStream& rStrm, USHORT nWhich = 0 ); - SvxBulletItem( const SvxBulletItem& ); - ~SvxBulletItem(); - - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream&, USHORT nVersion ) const; - virtual SvStream& Store( SvStream & , USHORT nItemVersion ) const; - - String GetFullText() const; - sal_Unicode GetSymbol() const { return cSymbol; } - String GetPrevText() const { return aPrevText; } - String GetFollowText() const { return aFollowText; } - - USHORT GetStart() const { return nStart; } - long GetWidth() const { return nWidth; } - USHORT GetStyle() const { return nStyle; } - BYTE GetJustification() const { return nJustify; } - Font GetFont() const { return aFont; } - USHORT GetScale() const { return nScale; } - - Bitmap GetBitmap() const; - void SetBitmap( const Bitmap& rBmp ); - - const GraphicObject& GetGraphicObject() const; - void SetGraphicObject( const GraphicObject& rGraphicObject ); - - void SetSymbol( sal_Unicode c) { cSymbol = c; } - void SetPrevText( const String& rStr) { aPrevText = rStr;} - void SetFollowText(const String& rStr) { aFollowText=rStr;} - - void SetStart( USHORT nNew ) { nStart = nNew; } - void SetWidth( long nNew ) { nWidth = nNew; } - void SetStyle( USHORT nNew ) { nStyle = nNew; } - void SetJustification( BYTE nNew ) { nJustify = nNew; } - void SetFont( const Font& rNew) { aFont = rNew; } - void SetScale( USHORT nNew ) { nScale = nNew; } - - virtual USHORT GetVersion(USHORT nFileVersion) const; - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String &rText, const IntlWrapper * = 0 ) const; - - static void StoreFont( SvStream&, const Font& ); - static Font CreateFont( SvStream&, USHORT nVer ); - - USHORT& GetValidMask() { return nValidMask; } - USHORT GetValidMask() const { return nValidMask; } - USHORT IsValid( USHORT nFlag ) const { return nValidMask & nFlag; } - void SetValid( USHORT nFlag, BOOL bValid ) - { - if ( bValid ) - nValidMask |= nFlag; - else - nValidMask &= ~nFlag; - } - void CopyValidProperties( const SvxBulletItem& rCopyFrom ); -}; - - -#endif - diff --git a/svx/inc/charhiddenitem.hxx b/svx/inc/charhiddenitem.hxx index 8a09f1c978e4..ea36786a503b 100644 --- a/svx/inc/charhiddenitem.hxx +++ b/svx/inc/charhiddenitem.hxx @@ -62,71 +62,3 @@ public: }; #endif - - -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: charhiddenitem.hxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SVX_CHARHIDDENITEM_HXX -#define _SVX_CHARHIDDENITEM_HXX - -// include --------------------------------------------------------------- - -#include <svtools/poolitem.hxx> -#include <svtools/eitem.hxx> -#include "svx/svxdllapi.h" - -// class SvxCharHiddenItem ------------------------------------------------- -/* - [Description] - This item marks text as hidden -*/ - -class SVX_DLLPUBLIC SvxCharHiddenItem : public SfxBoolItem -{ -public: - TYPEINFO(); - - SvxCharHiddenItem( const BOOL bHidden /*= FALSE*/, const USHORT nId ); - - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String &rText, const IntlWrapper * = 0 ) const; - - inline SvxCharHiddenItem& operator=(const SvxCharHiddenItem& rHidden) { - SetValue(rHidden.GetValue()); - return *this; - } -}; - -#endif - - diff --git a/svx/inc/edtspell.hxx b/svx/inc/edtspell.hxx index f3d55ee87841..15e180342d85 100644 --- a/svx/inc/edtspell.hxx +++ b/svx/inc/edtspell.hxx @@ -133,6 +133,9 @@ public: void MarkWrongsInvalid(); WrongList* Clone() const; + + // #i102062# + bool operator==(const WrongList& rCompare) const; }; inline void WrongList::InsertWrong( const WrongRange& rWrong, USHORT nPos ) diff --git a/svx/inc/fontitem.hxx b/svx/inc/fontitem.hxx index 8f092b4640f2..da0ee972954b 100644 --- a/svx/inc/fontitem.hxx +++ b/svx/inc/fontitem.hxx @@ -111,7 +111,7 @@ public: return *this; } - static void EnableStoreUnicodeNames( BOOL bEnable ) { bEnableStoreUnicodeNames = bEnable; } + static void EnableStoreUnicodeNames( BOOL bEnable ); }; diff --git a/svx/inc/gallery1.hxx b/svx/inc/gallery1.hxx index f38bf0dda5d9..e3665a47c707 100644 --- a/svx/inc/gallery1.hxx +++ b/svx/inc/gallery1.hxx @@ -144,7 +144,7 @@ private: void ImplLoadImports(); void ImplWriteImportList(); - GalleryThemeEntry* ImplGetThemeEntry( const String& rThemeName ); + SVX_DLLPUBLIC GalleryThemeEntry* ImplGetThemeEntry( const String& rThemeName ); GalleryThemeEntry* ImplGetThemeEntry( ULONG nThemeId ); GalleryImportThemeEntry* ImplGetImportThemeEntry( const String& rImportName ); @@ -168,7 +168,7 @@ public: SVX_DLLPUBLIC BOOL CreateTheme( const String& rThemeName, UINT32 nNumFrom = 0 ); BOOL CreateImportTheme( const INetURLObject& rURL, const String& rFileName ); BOOL RenameTheme( const String& rOldName, const String& rNewName ); - BOOL RemoveTheme( const String& rThemeName ); + SVX_DLLPUBLIC BOOL RemoveTheme( const String& rThemeName ); SVX_DLLPUBLIC GalleryTheme* AcquireTheme( const String& rThemeName, SfxListener& rListener ); SVX_DLLPUBLIC void ReleaseTheme( GalleryTheme* pTheme, SfxListener& rListener ); diff --git a/svx/inc/galobj.hxx b/svx/inc/galobj.hxx index fd1988383d8e..ce2b481bdcdf 100644 --- a/svx/inc/galobj.hxx +++ b/svx/inc/galobj.hxx @@ -122,8 +122,8 @@ public: BOOL IsValid() const { return bIsValid; } BOOL IsThumbBitmap() const { return bIsThumbBmp; } - const String GetTitle() const; - void SetTitle( const String& rTitle ); + SVX_DLLPUBLIC const String GetTitle() const; + SVX_DLLPUBLIC void SetTitle( const String& rTitle ); friend SvStream& operator<<( SvStream& rOut, const SgaObject& rObj ); friend SvStream& operator>>( SvStream& rIn, SgaObject& rObj ); diff --git a/svx/inc/galtheme.hxx b/svx/inc/galtheme.hxx index 459ef98b9a84..15a1c6fbb1e2 100644 --- a/svx/inc/galtheme.hxx +++ b/svx/inc/galtheme.hxx @@ -107,12 +107,12 @@ private: BOOL bAbortActualize; void ImplCreateSvDrawStorage(); - SgaObject* ImplReadSgaObject( GalleryObject* pEntry ); + SVX_DLLPUBLIC SgaObject* ImplReadSgaObject( GalleryObject* pEntry ); BOOL ImplWriteSgaObject( const SgaObject& rObj, ULONG nPos, GalleryObject* pExistentEntry ); void ImplRead(); void ImplWrite(); const GalleryObject* ImplGetGalleryObject( ULONG nPos ) const { return aObjectList.GetObject( nPos ); } - const GalleryObject* ImplGetGalleryObject( const INetURLObject& rURL ); + SVX_DLLPUBLIC const GalleryObject* ImplGetGalleryObject( const INetURLObject& rURL ); ULONG ImplGetGalleryObjectPos( const GalleryObject* pObj ) const { return aObjectList.GetPos( pObj ); } INetURLObject ImplGetURL( const GalleryObject* pObject ) const; INetURLObject ImplCreateUniqueURL( SgaObjKind eObjKind, ULONG nFormat = CVT_UNKNOWN ); @@ -129,11 +129,11 @@ public: ULONG GetObjectCount() const { return aObjectList.Count(); } - SgaObject* AcquireObject( ULONG nPos ); - void ReleaseObject( SgaObject* pObj ); + SVX_DLLPUBLIC SgaObject* AcquireObject( ULONG nPos ); + SVX_DLLPUBLIC void ReleaseObject( SgaObject* pObj ); - BOOL InsertObject( const SgaObject& rObj, ULONG nPos = LIST_APPEND ); - BOOL RemoveObject( ULONG nPos ); + SVX_DLLPUBLIC BOOL InsertObject( const SgaObject& rObj, ULONG nPos = LIST_APPEND ); + SVX_DLLPUBLIC BOOL RemoveObject( ULONG nPos ); BOOL ChangeObjectPos( ULONG nOldPos, ULONG nNewPos ); const String& GetName() const { return IsImported() ? aImportName : pThm->GetThemeName(); } @@ -194,11 +194,11 @@ public: BOOL GetThumb( ULONG nPos, Bitmap& rBmp, BOOL bProgress = FALSE ); - BOOL GetGraphic( ULONG nPos, Graphic& rGraphic, BOOL bProgress = FALSE ); - BOOL InsertGraphic( const Graphic& rGraphic, ULONG nInsertPos = LIST_APPEND ); + SVX_DLLPUBLIC BOOL GetGraphic( ULONG nPos, Graphic& rGraphic, BOOL bProgress = FALSE ); + SVX_DLLPUBLIC BOOL InsertGraphic( const Graphic& rGraphic, ULONG nInsertPos = LIST_APPEND ); - BOOL GetModel( ULONG nPos, SdrModel& rModel, BOOL bProgress = FALSE ); - BOOL InsertModel( const FmFormModel& rModel, ULONG nInsertPos = LIST_APPEND ); + SVX_DLLPUBLIC BOOL GetModel( ULONG nPos, SdrModel& rModel, BOOL bProgress = FALSE ); + SVX_DLLPUBLIC BOOL InsertModel( const FmFormModel& rModel, ULONG nInsertPos = LIST_APPEND ); BOOL GetModelStream( ULONG nPos, SotStorageStreamRef& rModelStreamRef, BOOL bProgress = FALSE ); BOOL InsertModelStream( const SotStorageStreamRef& rModelStream, ULONG nInsertPos = LIST_APPEND ); diff --git a/svx/inc/mscodec.hxx b/svx/inc/mscodec.hxx index 1b72976cbf01..4ee508d661dd 100644 --- a/svx/inc/mscodec.hxx +++ b/svx/inc/mscodec.hxx @@ -235,6 +235,36 @@ public: */ bool InitCipher( sal_uInt32 nCounter ); + /** Creates an MD5 digest of salt digest. */ + bool CreateSaltDigest( + const sal_uInt8 nSaltData[16], sal_uInt8 nSaltDigest[16] ); + + /** Encodes a block of memory. + + @see rtl_cipher_encode() + + @precond + The codec must be initialized with InitKey() before this function + can be used. The destination buffer must be able to take all + unencoded data from the source buffer (usually this means it must be + as long as or longer than the source buffer). + + @param pData + Unencrypted source data block. + @param nDatLen + Size of the passed source data block. + @param pBuffer + Destination buffer for the encrypted data. + @param nBufLen + Size of the destination buffer. + + @return + true = Encoding was successful (no error occured). + */ + bool Encode( + const void* pData, sal_Size nDatLen, + sal_uInt8* pBuffer, sal_Size nBufLen ); + /** Decodes a block of memory. @see rtl_cipher_decode() @@ -275,6 +305,27 @@ public: */ bool Skip( sal_Size nDatLen ); + /** Gets salt data and salt digest. + + @precond + The codec must be initialized with InitKey() before this function + can be used. + + @param pSalt + Salt, a random number. + @param pSaltData + Salt data block generated from the salt. + @param pSaltDigest + Salt digest generated from the salt. + */ + void GetEncryptKey ( + const sal_uInt8 pSalt[16], + sal_uInt8 pSaltData[16], + sal_uInt8 pSaltDigest[16]); + +private: + void GetDigestFromSalt( const sal_uInt8 pSaltData[16], sal_uInt8 pDigest[16] ); + private: SVX_DLLPRIVATE MSCodec_Std97( const MSCodec_Std97& ); SVX_DLLPRIVATE MSCodec_Std97& operator=( const MSCodec_Std97& ); diff --git a/svx/inc/optgenrl.hrc b/svx/inc/optgenrl.hrc index 1972689529fc..b6f191aaea07 100644 --- a/svx/inc/optgenrl.hrc +++ b/svx/inc/optgenrl.hrc @@ -74,7 +74,7 @@ #define LINEH 12 #define FLINEH 8 #define LEFT 12 -#define MID 96 +#define MID 100 #define RIGHT 248 #define TOP 10 #define LINE(y) (14+y*15) diff --git a/svx/inc/svdglob.hxx b/svx/inc/svdglob.hxx index c4856be30083..4526579d0658 100644 --- a/svx/inc/svdglob.hxx +++ b/svx/inc/svdglob.hxx @@ -33,11 +33,11 @@ #include <tools/contnr.hxx> -#ifndef _RESID_HXX //autogen #include <tools/resid.hxx> -#endif #include <tools/string.hxx> +#include <svx/svxdllapi.h> + //************************************************************ // Vorausdeklarationen //************************************************************ @@ -64,7 +64,7 @@ public: // IDs von SDR_StringCacheBegin (256) bis // SDR_StringCacheEnd (weiss ich grad' nicht). // Hierzu siehe auch SvdStr.Hrc -String ImpGetResStr(sal_uInt16 nResID); +SVX_DLLPUBLIC String ImpGetResStr(sal_uInt16 nResID); //////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/svx/inc/svdstr.hrc b/svx/inc/svdstr.hrc index cb1b85079f37..280a9dba6122 100644 --- a/svx/inc/svdstr.hrc +++ b/svx/inc/svdstr.hrc @@ -324,7 +324,13 @@ #define STR_UndoNewLayer (STR_UndoBegin +13) #define STR_UndoDelLayer (STR_UndoBegin +14) #define STR_UndoMovLayer (STR_UndoBegin +15) -#define STR_UndoEnd (STR_UndoMovLayer) + +// --> OD 2009-07-09 #i73249# +#define STR_UndoObjName (STR_UndoBegin +16) +#define STR_UndoObjTitle (STR_UndoBegin +17) +#define STR_UndoObjDescription (STR_UndoBegin +18) +// <-- +#define STR_UndoEnd (STR_UndoObjDescription) #define STR_LayerBegin (STR_UndoEnd+1) diff --git a/svx/inc/svdtouch.hxx b/svx/inc/svdtouch.hxx deleted file mode 100644 index 4723eff487f0..000000000000 --- a/svx/inc/svdtouch.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: svdtouch.hxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SVDTOUCH_HXX -#define _SVDTOUCH_HXX - -#include <tools/solar.h> - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -class Point; -class Polygon; -class PolyPolygon; -class Rectangle; - -bool IsPointInsidePoly(const Polygon& rPoly, const Point& rHit); -bool IsPointInsidePoly(const PolyPolygon& rPoly, const Point& rHit); - -bool IsRectTouchesLine(const Point& rPt1, const Point& rPt2, const Rectangle& rHit); -bool IsRectTouchesLine(const Polygon& rLine, const Rectangle& rHit); -bool IsRectTouchesLine(const PolyPolygon& rLine, const Rectangle& rHit); - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -#endif //_SVDTOUCH_HXX - diff --git a/svx/inc/svx/AccessibleContextBase.hxx b/svx/inc/svx/AccessibleContextBase.hxx index 9e36f99eaf0d..009c9b4fa619 100644 --- a/svx/inc/svx/AccessibleContextBase.hxx +++ b/svx/inc/svx/AccessibleContextBase.hxx @@ -1,37 +1,5 @@ /************************************************************************* * -<<<<<<< AccessibleContextBase.hxx - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: AccessibleContextBase.hxx,v $ - * - * $Revision: 1.4 $ - * - * last change: $Author: rt $ $Date: 2008-07-07 14:27:26 $ - * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. - * - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA -======= * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. @@ -57,7 +25,6 @@ * version 3 along with OpenOffice.org. If not, see * <http://www.openoffice.org/license.html> * for a copy of the LGPLv3 License. ->>>>>>> 1.3 * ************************************************************************/ diff --git a/svx/inc/svx/AccessibleControlShape.hxx b/svx/inc/svx/AccessibleControlShape.hxx index bf8cdec82815..82a56aafb2bf 100644 --- a/svx/inc/svx/AccessibleControlShape.hxx +++ b/svx/inc/svx/AccessibleControlShape.hxx @@ -31,13 +31,9 @@ #ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_CONTROL_SHAPE_HXX #define _SVX_ACCESSIBILITY_ACCESSIBLE_CONTROL_SHAPE_HXX -#ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_SHAPE_MANAGER_HXX #include <svx/AccessibleShape.hxx> -#endif -#ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLE_ACTION_HPP_ #include <com/sun/star/accessibility/XAccessibleAction.hpp> -#endif #include <com/sun/star/accessibility/XAccessibleEventListener.hpp> #include <com/sun/star/util/XModeChangeBroadcaster.hpp> #include <com/sun/star/container/XContainerListener.hpp> diff --git a/svx/inc/svx/AccessibleShape.hxx b/svx/inc/svx/AccessibleShape.hxx index f545771728ed..018737934c74 100755 --- a/svx/inc/svx/AccessibleShape.hxx +++ b/svx/inc/svx/AccessibleShape.hxx @@ -1,37 +1,5 @@ /************************************************************************* * -<<<<<<< AccessibleShape.hxx - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: AccessibleShape.hxx,v $ - * - * $Revision: 1.4 $ - * - * last change: $Author: rt $ $Date: 2008-07-07 14:28:01 $ - * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. - * - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA -======= * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. @@ -57,7 +25,6 @@ * version 3 along with OpenOffice.org. If not, see * <http://www.openoffice.org/license.html> * for a copy of the LGPLv3 License. ->>>>>>> 1.3 * ************************************************************************/ diff --git a/svx/inc/svx/dialogs.hrc b/svx/inc/svx/dialogs.hrc index 13e835a3d378..1d78c5e6396e 100644 --- a/svx/inc/svx/dialogs.hrc +++ b/svx/inc/svx/dialogs.hrc @@ -251,8 +251,10 @@ // ResId fuer FontSubstitution #define RID_SVX_FONT_SUBSTITUTION (RID_SVX_START + 18) +// insert row&col dialog +#define DLG_INS_ROW_COL (RID_SVX_START + 156) + //InetDlg -//#define RID_SVXDLG_INTERNET (RID_SVX_START + 156) #define RID_SVXPAGE_INET_MAIL (RID_SVX_START + 155) #define RID_SVXPAGE_INET_PROXY (RID_SVX_START + 157) #define RID_SVXPAGE_INET_CACHE (RID_SVX_START + 158) diff --git a/svx/inc/svx/editeng.hxx b/svx/inc/svx/editeng.hxx index d5176034a301..65168297274e 100644 --- a/svx/inc/svx/editeng.hxx +++ b/svx/inc/svx/editeng.hxx @@ -219,6 +219,8 @@ public: USHORT GetLineCount( USHORT nParagraph ) const; xub_StrLen GetLineLen( USHORT nParagraph, USHORT nLine ) const; + void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const; + USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const; sal_uInt32 GetLineHeight( USHORT nParagraph, USHORT nLine = 0 ); USHORT GetFirstLineOffset( USHORT nParagraph ); ParagraphInfos GetParagraphInfos( USHORT nPara ); diff --git a/svx/inc/svx/editobj.hxx b/svx/inc/svx/editobj.hxx index eb304425f09d..f291adefcf71 100644 --- a/svx/inc/svx/editobj.hxx +++ b/svx/inc/svx/editobj.hxx @@ -121,6 +121,9 @@ public: virtual void ChangeStyleSheetName( SfxStyleFamily eFamily, const XubString& rOldName, const XubString& rNewName ); bool operator==( const EditTextObject& rCompare ) const; + + // #i102062# + bool isWrongListEqual(const EditTextObject& rCompare) const; }; #endif // _EDITOBJ_HXX diff --git a/svx/inc/svx/emphitem.hxx b/svx/inc/svx/emphitem.hxx index 2d90f4cd035a..fd80081f2d30 100644 --- a/svx/inc/svx/emphitem.hxx +++ b/svx/inc/svx/emphitem.hxx @@ -28,7 +28,7 @@ * ************************************************************************/ #ifndef _SVX_EMPHITEM_HXX -#define _SVX_EMPTITEM_HXX +#define _SVX_EMPHITEM_HXX // include --------------------------------------------------------------- diff --git a/svx/inc/svx/escherex.hxx b/svx/inc/svx/escherex.hxx index 2f6552510c7e..a93814b2a825 100644 --- a/svx/inc/svx/escherex.hxx +++ b/svx/inc/svx/escherex.hxx @@ -304,6 +304,8 @@ #define ESCHER_ShpInst_ActionButtonMovie 200 #define ESCHER_ShpInst_HostControl 201 #define ESCHER_ShpInst_TextBox 202 + +#define ESCHER_ShpInst_COUNT 203 #define ESCHER_ShpInst_Max 0x0FFF #define ESCHER_ShpInst_Nil ESCHER_ShpInst_Max @@ -960,10 +962,35 @@ namespace com { namespace sun { namespace star { struct Gradient; } namespace drawing { + struct EnhancedCustomShapeAdjustmentValue; class XShape; } }}} +struct SVX_DLLPUBLIC EscherConnectorListEntry +{ + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnector; + ::com::sun::star::awt::Point maPointA; + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnectToA; + ::com::sun::star::awt::Point maPointB; + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnectToB; + + sal_uInt32 GetConnectorRule( sal_Bool bFirst ); + + EscherConnectorListEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rC, + const ::com::sun::star::awt::Point& rPA, + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rSA , + const ::com::sun::star::awt::Point& rPB, + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rSB ) : + mXConnector ( rC ), + maPointA ( rPA ), + mXConnectToA( rSA ), + maPointB ( rPB ), + mXConnectToB( rSB ) {} + + sal_uInt32 GetClosestPoint( const Polygon& rPoly, const ::com::sun::star::awt::Point& rP ); +}; + struct SVX_DLLPUBLIC EscherExContainer { sal_uInt32 nContPos; @@ -1108,8 +1135,19 @@ public: #define ESCHER_CREATEPOLYGON_POLYLINE 2 #define ESCHER_CREATEPOLYGON_POLYPOLYGON 4 -struct EscherPropSortStruct; class GraphicAttr; +class SdrObjCustomShape; + +struct EscherPropSortStruct +{ + sal_uInt8* pBuf; + sal_uInt32 nPropSize; + sal_uInt32 nPropValue; + sal_uInt16 nPropId; +}; + +typedef std::vector< EscherPropSortStruct > EscherProperties; + class SVX_DLLPUBLIC EscherPropertyContainer { EscherGraphicProvider* pGraphicProvider; @@ -1155,6 +1193,10 @@ class SVX_DLLPUBLIC EscherPropertyContainer sal_Bool GetOpt( sal_uInt16 nPropertyID, sal_uInt32& rPropValue ) const; + sal_Bool GetOpt( sal_uInt16 nPropertyID, EscherPropSortStruct& rPropValue ) const; + + EscherProperties GetOpts() const; + void Commit( SvStream& rSt, sal_uInt16 nVersion = 3, sal_uInt16 nRecType = ESCHER_OPT ); sal_Bool CreateOLEGraphicProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXOleObject ); @@ -1202,6 +1244,14 @@ class SVX_DLLPUBLIC EscherPropertyContainer static PolyPolygon GetPolyPolygon( const ::com::sun::star::uno::Any& rSource ); static MSO_SPT GetCustomShapeType( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32& nMirrorFlags ); static MSO_SPT GetCustomShapeType( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32& nMirrorFlags, rtl::OUString& rShapeType ); + + // helper functions which are also used in ooxml export + static sal_Bool GetLineArrow( const sal_Bool bLineStart, + const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet, + ESCHER_LineEnd& reLineEnd, sal_Int32& rnArrowLength, sal_Int32& rnArrowWidth ); + static sal_Bool IsDefaultObject( SdrObjCustomShape* pCustoShape ); + static void LookForPolarHandles( const MSO_SPT eShapeType, sal_Int32& nAdjustmentsWhichNeedsToBeConverted ); + static sal_Bool GetAdjustmentValue( const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32& nValue ); }; // --------------------------------------------------------------------------------------------- @@ -1338,7 +1388,7 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr BOOL mbOleEmf; // OLE is EMF instead of WMF - BOOL DoSeek( UINT32 nKey ); + virtual BOOL DoSeek( UINT32 nKey ); public: @@ -1349,7 +1399,7 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr /// Wenn pPicStreamMergeBSE angegeben ist, werden die BLIPs /// aus diesem Stream in die MsofbtBSE Records des EscherStream /// gemerged, wie es fuer Excel (und Word?) benoetigt wird. - void Flush( SvStream* pPicStreamMergeBSE = NULL ); + virtual void Flush( SvStream* pPicStreamMergeBSE = NULL ); virtual ~EscherEx(); @@ -1360,13 +1410,13 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr void InsertPersistOffset( UINT32 nKey, UINT32 nOffset ); // Es wird nicht geprueft, ob sich jener schluessel schon in der PersistantTable befindet BOOL SeekToPersistOffset( UINT32 nKey ); - BOOL InsertAtPersistOffset( UINT32 nKey, UINT32 nValue );// nValue wird im Stream an entrsprechender Stelle eingefuegt(overwrite modus), ohne dass sich die + virtual BOOL InsertAtPersistOffset( UINT32 nKey, UINT32 nValue );// nValue wird im Stream an entrsprechender Stelle eingefuegt(overwrite modus), ohne dass sich die // aktuelle StreamPosition aendert SvStream& GetStream() const { return *mpOutStrm; } ULONG GetStreamPos() const { return mpOutStrm->Tell(); } - BOOL SeekBehindRecHeader( UINT16 nRecType ); // der stream muss vor einem gueltigen Record Header oder Atom stehen + virtual BOOL SeekBehindRecHeader( UINT16 nRecType ); // der stream muss vor einem gueltigen Record Header oder Atom stehen // features beim erzeugen folgender Container: // @@ -1378,23 +1428,26 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr virtual void OpenContainer( UINT16 nEscherContainer, int nRecInstance = 0 ); virtual void CloseContainer(); - void BeginAtom(); - void EndAtom( UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 ); - void AddAtom( UINT32 nAtomSitze, UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 ); - void AddClientAnchor( const Rectangle& rRectangle ); + virtual void BeginAtom(); + virtual void EndAtom( UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 ); + virtual void AddAtom( UINT32 nAtomSitze, UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 ); + virtual void AddChildAnchor( const Rectangle& rRectangle ); + virtual void AddClientAnchor( const Rectangle& rRectangle ); - UINT32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 ); + virtual UINT32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 ); UINT32 EnterGroup( const Rectangle* pBoundRect = NULL ); UINT32 GetGroupLevel() const { return mnGroupLevel; }; - BOOL SetGroupSnapRect( UINT32 nGroupLevel, const Rectangle& rRect ); - BOOL SetGroupLogicRect( UINT32 nGroupLevel, const Rectangle& rRect ); - void LeaveGroup(); + virtual BOOL SetGroupSnapRect( UINT32 nGroupLevel, const Rectangle& rRect ); + virtual BOOL SetGroupLogicRect( UINT32 nGroupLevel, const Rectangle& rRect ); + virtual void LeaveGroup(); // ein ESCHER_Sp wird geschrieben ( Ein ESCHER_DgContainer muss dazu geoeffnet sein !!) - void AddShape( UINT32 nShpInstance, UINT32 nFlagIds, UINT32 nShapeID = 0 ); + virtual void AddShape( UINT32 nShpInstance, UINT32 nFlagIds, UINT32 nShapeID = 0 ); // reserviert eine ShapeId UINT32 GetShapeID(); + virtual void Commit( EscherPropertyContainer& rProps, const Rectangle& rRect ); + UINT32 GetColor( const UINT32 nColor, BOOL bSwap = TRUE ); UINT32 GetColor( const Color& rColor, BOOL bSwap = TRUE ); diff --git a/svx/inc/svx/fntctrl.hxx b/svx/inc/svx/fntctrl.hxx index d87d75ab3690..a0de3b2d3048 100644 --- a/svx/inc/svx/fntctrl.hxx +++ b/svx/inc/svx/fntctrl.hxx @@ -71,6 +71,7 @@ public: SvxFont& GetCJKFont(); SvxFont& GetCTLFont(); void SetColor( const Color& rColor ); + void ResetColor(); void SetBackColor( const Color& rColor ); void UseResourceText( BOOL bUse = TRUE ); void Paint( const Rectangle& ); diff --git a/svx/inc/svx/framelink.hxx b/svx/inc/svx/framelink.hxx index 257816fd9c5c..012e0f103ac3 100644 --- a/svx/inc/svx/framelink.hxx +++ b/svx/inc/svx/framelink.hxx @@ -325,7 +325,7 @@ inline double GetVerDiagAngle( const Rectangle& rRect ) @param fAngle Inner (right) angle between diagonal and horizontal frame border. */ -long GetTLDiagOffset( long nVerOffs, long nDiagOffs, double fAngle ); +SVX_DLLPUBLIC long GetTLDiagOffset( long nVerOffs, long nDiagOffs, double fAngle ); /** Returns an X coordinate for a diagonal frame border in the specified height. @@ -434,7 +434,7 @@ long GetTRDiagOffset( long nVerOffs, long nDiagOffs, double fAngle ); True, if rLBorder and rRBorder can be drawn in one step without interruption at their connection point. */ -bool CheckFrameBorderConnectable( +SVX_DLLPUBLIC bool CheckFrameBorderConnectable( const Style& rLBorder, /// Style of the left frame border to connect. const Style& rRBorder, /// Style of the right frame border to connect. @@ -486,7 +486,7 @@ bool CheckFrameBorderConnectable( | \ / | rLFromB \ / rRFromB */ -void DrawHorFrameBorder( +SVX_DLLPUBLIC void DrawHorFrameBorder( OutputDevice& rDev, /// The output device used to draw the frame border. const Point& rLPos, /// Reference point for left end of the processed frame border. @@ -603,7 +603,7 @@ void SVX_DLLPUBLIC DrawHorFrameBorder( rBFromB | */ -void DrawVerFrameBorder( +SVX_DLLPUBLIC void DrawVerFrameBorder( OutputDevice& rDev, /// The output device used to draw the frame border. const Point& rTPos, /// Reference point for top end of the processed frame border. @@ -698,7 +698,7 @@ void SVX_DLLPUBLIC DrawVerFrameBorderSlanted( The function preserves all settings of the passed output device. */ -void DrawDiagFrameBorders( +SVX_DLLPUBLIC void DrawDiagFrameBorders( OutputDevice& rDev, /// The output device used to draw the frame border. const Rectangle& rRect, /// Rectangle for both diagonal frame borders. diff --git a/svx/inc/svx/msdffimp.hxx b/svx/inc/svx/msdffimp.hxx index a172add3ddb4..248a31dcf71f 100644 --- a/svx/inc/svx/msdffimp.hxx +++ b/svx/inc/svx/msdffimp.hxx @@ -36,9 +36,7 @@ #include <tools/solar.h> // UINTXX #include <svtools/svarray.hxx> -#ifndef _SV_COLOR_HXX //autogen #include <tools/color.hxx> -#endif #include <tools/gen.hxx> #include <tools/table.hxx> #include <svx/msdffdef.hxx> @@ -48,7 +46,7 @@ #include <map> #include <com/sun/star/beans/XPropertySet.hpp> -#include "svx/svxdllapi.h" +#include <svx/svxdllapi.h> #include <sot/storage.hxx> diff --git a/svx/inc/svx/msocximex.hxx b/svx/inc/svx/msocximex.hxx index 679845827867..a32179a43eb4 100644 --- a/svx/inc/svx/msocximex.hxx +++ b/svx/inc/svx/msocximex.hxx @@ -230,7 +230,7 @@ class SVX_DLLPUBLIC OCX_Control { public: OCX_Control(UniString sN, OCX_Control* parent = NULL ) : nWidth( 0 ), nHeight( 0 ), mnLeft(0), mnTop(0), - mnStep(0), mnBackColor(0x8000000FL), mnForeColor(0), mnTabPos(0), sName(sN), pDocSh(0), + mnStep(0), mnBackColor(0x8000000FL), mnForeColor(0), mnTabPos(0), mbVisible(true), sName(sN), pDocSh(0), bSetInDialog(FALSE), mpParent( parent ) {} sal_Bool FullRead(SotStorageStream *pS) { @@ -287,6 +287,7 @@ public: sal_Int32 mnBackColor; sal_Int32 mnForeColor; sal_uInt16 mnTabPos; + bool mbVisible; UniString sName; UniString msToolTip; OCX_FontData aFontData; @@ -483,7 +484,7 @@ public: }; struct ContainerRecord { - ContainerRecord():nTop(0), nLeft(0), nSubStorageId(0), nSubStreamLen(0), nTabPos(0), nTypeIdent(0) {} + ContainerRecord():nTop(0), nLeft(0), nSubStorageId(0), nSubStreamLen(0), nTabPos(0), nTypeIdent(0), bVisible( true ) {} ::rtl::OUString cName; ::rtl::OUString controlTip; @@ -494,6 +495,7 @@ struct ContainerRecord sal_uInt32 nSubStreamLen; sal_uInt16 nTabPos; sal_uInt16 nTypeIdent; + bool bVisible; }; typedef std::vector<OCX_Control*>::iterator CtrlIterator; diff --git a/svx/inc/svx/obj3d.hxx b/svx/inc/svx/obj3d.hxx index 3c15cd6951ef..46c79b45e4d1 100644 --- a/svx/inc/svx/obj3d.hxx +++ b/svx/inc/svx/obj3d.hxx @@ -92,8 +92,8 @@ class E3dObjList : public SdrObjList public: TYPEINFO(); E3dObjList(SdrModel* pNewModel = 0, SdrPage* pNewPage = 0, E3dObjList* pNewUpList = 0); - E3dObjList(const E3dObjList& rSrcList); - virtual ~E3dObjList(); + SVX_DLLPUBLIC E3dObjList(const E3dObjList& rSrcList); + SVX_DLLPUBLIC virtual ~E3dObjList(); virtual void NbcInsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND, const SdrInsertReason* pReason=NULL); virtual void InsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND, const SdrInsertReason* pReason=NULL); @@ -308,9 +308,6 @@ public : virtual UINT16 GetObjIdentifier() const; virtual void RecalcSnapRect(); - // Hittest, wird an Geometrie weitergegeben - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; - // Parameter Geometrieerzeugung setzen/lesen BOOL GetCreateNormals() const { return bCreateNormals; } void SetCreateNormals(BOOL bNew); diff --git a/svx/inc/svx/outlobj.hxx b/svx/inc/svx/outlobj.hxx index 9a8efeaaddc1..0311fa914422 100644 --- a/svx/inc/svx/outlobj.hxx +++ b/svx/inc/svx/outlobj.hxx @@ -67,6 +67,9 @@ public: bool operator==(const OutlinerParaObject& rCandidate) const; bool operator!=(const OutlinerParaObject& rCandidate) const { return !operator==(rCandidate); } + // #i102062# + bool isWrongListEqual(const OutlinerParaObject& rCompare) const; + // outliner mode access sal_uInt16 GetOutlinerMode() const; void SetOutlinerMode(sal_uInt16 nNew); diff --git a/svx/inc/svx/sdasaitm.hxx b/svx/inc/svx/sdasaitm.hxx index b945a8341808..2301e0021b42 100644 --- a/svx/inc/svx/sdasaitm.hxx +++ b/svx/inc/svx/sdasaitm.hxx @@ -54,9 +54,9 @@ class SdrCustomShapeAdjustmentItem : public SfxPoolItem public : TYPEINFO(); - SdrCustomShapeAdjustmentItem(); + SVX_DLLPUBLIC SdrCustomShapeAdjustmentItem(); SdrCustomShapeAdjustmentItem( SvStream& rIn, sal_uInt16 nVersion ); - ~SdrCustomShapeAdjustmentItem(); + SVX_DLLPUBLIC ~SdrCustomShapeAdjustmentItem(); virtual int operator==( const SfxPoolItem& ) const; virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePresentation, @@ -76,8 +76,8 @@ class SdrCustomShapeAdjustmentItem : public SfxPoolItem #endif sal_uInt32 GetCount() const { return aAdjustmentValueList.Count(); }; - const SdrCustomShapeAdjustmentValue& GetValue( sal_uInt32 nIndex ) const; - void SetValue( sal_uInt32 nIndex, + SVX_DLLPUBLIC const SdrCustomShapeAdjustmentValue& GetValue( sal_uInt32 nIndex ) const; + SVX_DLLPUBLIC void SetValue( sal_uInt32 nIndex, const SdrCustomShapeAdjustmentValue& rVal ); }; diff --git a/svx/inc/svx/sdgcpitm.hxx b/svx/inc/svx/sdgcpitm.hxx index 41efd3e7abee..4df0e005111d 100644 --- a/svx/inc/svx/sdgcpitm.hxx +++ b/svx/inc/svx/sdgcpitm.hxx @@ -38,7 +38,7 @@ // SdrGrafCropItem - //------------------ -class SdrGrafCropItem : public SvxGrfCrop +class SVX_DLLPUBLIC SdrGrafCropItem : public SvxGrfCrop { public: diff --git a/svx/inc/svx/sdr/animation/objectanimator.hxx b/svx/inc/svx/sdr/animation/objectanimator.hxx index 6f1b0900c030..3fcb52463bc8 100644 --- a/svx/inc/svx/sdr/animation/objectanimator.hxx +++ b/svx/inc/svx/sdr/animation/objectanimator.hxx @@ -48,7 +48,7 @@ namespace sdr public: // basic constructor and destructor primitiveAnimator(); - virtual ~primitiveAnimator(); + SVX_DLLPUBLIC virtual ~primitiveAnimator(); }; } // end of namespace animation } // end of namespace sdr diff --git a/svx/inc/svx/sdr/animation/scheduler.hxx b/svx/inc/svx/sdr/animation/scheduler.hxx index 589cbde9bd75..03fc8eccd9b4 100644 --- a/svx/inc/svx/sdr/animation/scheduler.hxx +++ b/svx/inc/svx/sdr/animation/scheduler.hxx @@ -33,6 +33,7 @@ #include <sal/types.h> #include <vcl/timer.hxx> +#include <svx/svxdllapi.h> ////////////////////////////////////////////////////////////////////////////// // event class @@ -52,7 +53,7 @@ namespace sdr public: // constructor/destructor Event(sal_uInt32 nTime); - virtual ~Event(); + SVX_DLLPUBLIC virtual ~Event(); // access to mpNext Event* GetNext() const; @@ -83,7 +84,7 @@ namespace sdr public: // constructor/destructor EventList(); - virtual ~EventList(); + SVX_DLLPUBLIC virtual ~EventList(); // insert/remove time dependent void Insert(Event* pNew); @@ -123,10 +124,10 @@ namespace sdr public: // constructor/destructor Scheduler(); - virtual ~Scheduler(); + SVX_DLLPUBLIC virtual ~Scheduler(); // From baseclass Timer, the timeout call - virtual void Timeout(); + SVX_DLLPUBLIC virtual void Timeout(); // get time sal_uInt32 GetTime(); diff --git a/svx/inc/svx/sdr/attribute/sdrallattribute.hxx b/svx/inc/svx/sdr/attribute/sdrallattribute.hxx index ad3de9d8c837..a699c7f9a198 100644 --- a/svx/inc/svx/sdr/attribute/sdrallattribute.hxx +++ b/svx/inc/svx/sdr/attribute/sdrallattribute.hxx @@ -32,6 +32,8 @@ #ifndef _SDR_ATTRIBUTE_SDRALLATTRIBUTE_HXX #define _SDR_ATTRIBUTE_SDRALLATTRIBUTE_HXX +#include <sal/types.h> + ////////////////////////////////////////////////////////////////////////////// // predefines @@ -57,7 +59,9 @@ namespace drawinglayer SdrTextAttribute* mpTextAttribute; // text and text attributes (if used) public: - SdrShadowTextAttribute(SdrShadowAttribute* pShadow = 0L, SdrTextAttribute* pTextAttribute = 0L); + SdrShadowTextAttribute( + SdrShadowAttribute* pShadow = 0, + SdrTextAttribute* pTextAttribute = 0); ~SdrShadowTextAttribute(); // copy constructor and assigment operator @@ -68,7 +72,7 @@ namespace drawinglayer bool operator==(const SdrShadowTextAttribute& rCandidate) const; // bool access - bool isVisible() const { return (0L != mpTextAttribute); } + bool isVisible() const { return (0 != mpTextAttribute); } // data access const SdrShadowAttribute* getShadow() const { return mpShadow; } @@ -91,7 +95,10 @@ namespace drawinglayer SdrTextAttribute* mpTextAttribute; // text and text attributes (if used) public: - SdrFillTextAttribute(SdrFillAttribute* pFill = 0L, FillGradientAttribute* pFillFloatTransGradient = 0L, SdrTextAttribute* pTextAttribute = 0L); + SdrFillTextAttribute( + SdrFillAttribute* pFill = 0, + FillGradientAttribute* pFillFloatTransGradient = 0, + SdrTextAttribute* pTextAttribute = 0); ~SdrFillTextAttribute(); // copy constructor and assigment operator @@ -126,8 +133,10 @@ namespace drawinglayer public: SdrLineShadowTextAttribute( - SdrLineAttribute* pLine = 0L, SdrLineStartEndAttribute* pLineStartEnd = 0L, - SdrShadowAttribute* pShadow = 0L, SdrTextAttribute* pTextAttribute = 0L); + SdrLineAttribute* pLine = 0, + SdrLineStartEndAttribute* pLineStartEnd = 0, + SdrShadowAttribute* pShadow = 0, + SdrTextAttribute* pTextAttribute = 0); ~SdrLineShadowTextAttribute(); // copy constructor and assigment operator @@ -161,8 +170,12 @@ namespace drawinglayer public: SdrLineFillShadowTextAttribute( - SdrLineAttribute* pLine = 0L, SdrFillAttribute* pFill = 0L, SdrLineStartEndAttribute* pLineStartEnd = 0L, - SdrShadowAttribute* pShadow = 0L, FillGradientAttribute* pFillFloatTransGradient = 0L, SdrTextAttribute* pTextAttribute = 0L); + SdrLineAttribute* pLine = 0, + SdrFillAttribute* pFill = 0, + SdrLineStartEndAttribute* pLineStartEnd = 0, + SdrShadowAttribute* pShadow = 0, + FillGradientAttribute* pFillFloatTransGradient = 0, + SdrTextAttribute* pTextAttribute = 0); ~SdrLineFillShadowTextAttribute(); // copy constructor and assigment operator diff --git a/svx/inc/svx/sdr/attribute/sdrformtextattribute.hxx b/svx/inc/svx/sdr/attribute/sdrformtextattribute.hxx new file mode 100644 index 000000000000..77273bd9cb03 --- /dev/null +++ b/svx/inc/svx/sdr/attribute/sdrformtextattribute.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: sdrtextattribute.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_ATTRIBUTE_SDRFORMTEXTATTRIBUTE_HXX +#define _SDR_ATTRIBUTE_SDRFORMTEXTATTRIBUTE_HXX + +#include <sal/types.h> +#include <svx/xenum.hxx> +#include <tools/color.hxx> + +////////////////////////////////////////////////////////////////////////////// +// predefines +class SfxItemSet; +namespace drawinglayer { namespace attribute { class SdrFormTextOutlineAttribute; }} + +////////////////////////////////////////////////////////////////////////////// + +namespace drawinglayer +{ + namespace attribute + { + class SdrFormTextAttribute + { + private: + // FormText (FontWork) Attributes + sal_Int32 mnFormTextDistance; // distance from line in upright direction + sal_Int32 mnFormTextStart; // shift from polygon start + sal_Int32 mnFormTextShdwXVal; // shadow distance or 10th degrees + sal_Int32 mnFormTextShdwYVal; // shadow distance or scaling + sal_uInt16 mnFormTextShdwTransp; // shadow transparence + XFormTextStyle meFormTextStyle; // on/off and char orientation + XFormTextAdjust meFormTextAdjust; // adjustment (left/right/center) and scale + XFormTextShadow meFormTextShadow; // shadow mode + Color maFormTextShdwColor; // shadow color + + // outline attributes; used when getFormTextOutline() is true and (for + // shadow) when getFormTextShadow() != XFTSHADOW_NONE + SdrFormTextOutlineAttribute* mpOutline; + SdrFormTextOutlineAttribute* mpShadowOutline; + + // bitfield + unsigned mbFormTextMirror : 1; // change orientation + unsigned mbFormTextOutline : 1; // show contour of objects + + public: + SdrFormTextAttribute(const SfxItemSet& rSet); + ~SdrFormTextAttribute(); + + // copy constructor and assigment operator + SdrFormTextAttribute(const SdrFormTextAttribute& rCandidate); + SdrFormTextAttribute& operator=(const SdrFormTextAttribute& rCandidate); + + // compare operator + bool operator==(const SdrFormTextAttribute& rCandidate) const; + + // data access + sal_Int32 getFormTextDistance() const { return mnFormTextDistance; } + sal_Int32 getFormTextStart() const { return mnFormTextStart; } + sal_Int32 getFormTextShdwXVal() const { return mnFormTextShdwXVal; } + sal_Int32 getFormTextShdwYVal() const { return mnFormTextShdwYVal; } + sal_uInt16 getFormTextShdwTransp() const { return mnFormTextShdwTransp; } + XFormTextStyle getFormTextStyle() const { return meFormTextStyle; } + XFormTextAdjust getFormTextAdjust() const { return meFormTextAdjust; } + XFormTextShadow getFormTextShadow() const { return meFormTextShadow; } + Color getFormTextShdwColor() const { return maFormTextShdwColor; } + + const SdrFormTextOutlineAttribute* getOutline() const { return mpOutline; } + const SdrFormTextOutlineAttribute* getShadowOutline() const { return mpShadowOutline; } + + bool getFormTextMirror() const { return mbFormTextMirror; } + bool getFormTextOutline() const { return mbFormTextOutline; } + }; + } // end of namespace attribute +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_ATTRIBUTE_SDRFORMTEXTATTRIBUTE_HXX + +// eof diff --git a/svx/inc/svx/sdr/attribute/sdrformtextoutlineattribute.hxx b/svx/inc/svx/sdr/attribute/sdrformtextoutlineattribute.hxx new file mode 100644 index 000000000000..8e11c97ed5c3 --- /dev/null +++ b/svx/inc/svx/sdr/attribute/sdrformtextoutlineattribute.hxx @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: sdrtextattribute.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_ATTRIBUTE_SDRFORMTEXTOUTLINEATTRIBUTE_HXX +#define _SDR_ATTRIBUTE_SDRFORMTEXTOUTLINEATTRIBUTE_HXX + +#include <sal/types.h> +#include <drawinglayer/attribute/lineattribute.hxx> +#include <drawinglayer/attribute/strokeattribute.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace drawinglayer +{ + namespace attribute + { + class SdrFormTextOutlineAttribute + { + private: + // one set of attributes for FormText (FontWork) outline visualisation + LineAttribute maLineAttribute; + StrokeAttribute maStrokeAttribute; + sal_uInt8 mnTransparence; + + public: + SdrFormTextOutlineAttribute( + const LineAttribute& rLineAttribute, + const StrokeAttribute& rStrokeAttribute, + sal_uInt8 nTransparence); + + // compare operator + bool operator==(const SdrFormTextOutlineAttribute& rCandidate) const; + + // data read access + const LineAttribute& getLineAttribute() const { return maLineAttribute; } + const StrokeAttribute getStrokeAttribute() const { return maStrokeAttribute; } + sal_uInt8 getTransparence() const { return mnTransparence; } + }; + } // end of namespace attribute +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_ATTRIBUTE_SDRFORMTEXTOUTLINEATTRIBUTE_HXX + +// eof diff --git a/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx b/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx index 9033135e6caa..e0dcb51e9460 100644 --- a/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx +++ b/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx @@ -32,18 +32,15 @@ #ifndef _SDR_ATTRIBUTE_SDRTEXTATTRIBUTE_HXX #define _SDR_ATTRIBUTE_SDRTEXTATTRIBUTE_HXX -#include <svx/xenum.hxx> #include <sal/types.h> -#include <svx/sdr/primitive2d/sdrtextprimitive2d.hxx> +#include <svx/xenum.hxx> +#include <svx/outlobj.hxx> ////////////////////////////////////////////////////////////////////////////// // predefines class SdrText; -class OutlinerParaObject; - -namespace drawinglayer { namespace animation { - class AnimationEntryList; -}} +namespace drawinglayer { namespace animation { class AnimationEntryList; }} +namespace drawinglayer { namespace attribute { class SdrFormTextAttribute; }} ////////////////////////////////////////////////////////////////////////////// @@ -53,15 +50,24 @@ namespace drawinglayer { class SdrTextAttribute { - const SdrText& mrSdrText; - const OutlinerParaObject maOutlinerParaObject; - XFormTextStyle meFormTextStyle; + private: + // all-text attributes. The SdrText itself and a copy + // of te OPO + const SdrText* mpSdrText; + OutlinerParaObject maOutlinerParaObject; + + // Set when it's a FormText; contains all FormText attributes + SdrFormTextAttribute* mpSdrFormTextAttribute; + // text distances sal_Int32 maTextLeftDistance; sal_Int32 maTextUpperDistance; sal_Int32 maTextRightDistance; sal_Int32 maTextLowerDistance; + // #i101556# use versioning from text attributes to detect changes + sal_uInt32 maPropertiesVersion; + // bitfield unsigned mbContour : 1; unsigned mbFitToSize : 1; @@ -85,23 +91,30 @@ namespace drawinglayer bool bBlink, bool bScroll, bool bInEditMode); + ~SdrTextAttribute(); + + // copy constructor and assigment operator + SdrTextAttribute(const SdrTextAttribute& rCandidate); + SdrTextAttribute& operator=(const SdrTextAttribute& rCandidate); + + // compare operator bool operator==(const SdrTextAttribute& rCandidate) const; // data access - const SdrText& getSdrText() const { return mrSdrText; } + const SdrText& getSdrText() const { return *mpSdrText; } const OutlinerParaObject& getOutlinerParaObject() const { return maOutlinerParaObject; } bool isContour() const { return mbContour; } - bool isFontwork() const { return (XFT_NONE != meFormTextStyle); } bool isFitToSize() const { return mbFitToSize; } bool isHideContour() const { return mbHideContour; } bool isBlink() const { return mbBlink; } bool isScroll() const { return mbScroll; } bool isInEditMode() const { return mbInEditMode; } - XFormTextStyle getFormTextStyle() const { return meFormTextStyle; } + const SdrFormTextAttribute* getSdrFormTextAttribute() const { return mpSdrFormTextAttribute; } sal_Int32 getTextLeftDistance() const { return maTextLeftDistance; } sal_Int32 getTextUpperDistance() const { return maTextUpperDistance; } sal_Int32 getTextRightDistance() const { return maTextRightDistance; } sal_Int32 getTextLowerDistance() const { return maTextLowerDistance; } + sal_uInt32 getPropertiesVersion() const { return maPropertiesVersion; } // animation timing generation void getBlinkTextTiming(drawinglayer::animation::AnimationEntryList& rAnimList) const; diff --git a/svx/inc/svx/sdr/contact/viewcontactofgraphic.hxx b/svx/inc/svx/sdr/contact/viewcontactofgraphic.hxx index 7ddc9546ee78..136f43aed0aa 100644 --- a/svx/inc/svx/sdr/contact/viewcontactofgraphic.hxx +++ b/svx/inc/svx/sdr/contact/viewcontactofgraphic.hxx @@ -38,6 +38,8 @@ // predeclarations class SdrGrafObj; +namespace drawinglayer { namespace attribute { class SdrLineFillShadowTextAttribute; }} +class GraphicAttr; ////////////////////////////////////////////////////////////////////////////// @@ -47,6 +49,16 @@ namespace sdr { class ViewContactOfGraphic : public ViewContactOfTextObj { + private: + // helpers for constructing various primitive visualisations in various states + drawinglayer::primitive2d::Primitive2DSequence createVIP2DSForPresObj( + const basegfx::B2DHomMatrix& rObjectMatrix, + const drawinglayer::attribute::SdrLineFillShadowTextAttribute& rAttribute, + const GraphicAttr& rLocalGrafInfo) const; + drawinglayer::primitive2d::Primitive2DSequence createVIP2DSForDraft( + const basegfx::B2DHomMatrix& rObjectMatrix, + const drawinglayer::attribute::SdrLineFillShadowTextAttribute& rAttribute) const; + protected: // Create a Object-Specific ViewObjectContact, set ViewContact and // ObjectContact. Always needs to return something. @@ -63,6 +75,13 @@ namespace sdr ViewContactOfGraphic(SdrGrafObj& rGrafObj); virtual ~ViewContactOfGraphic(); + // #i102380# + void flushGraphicObjects(); + + // helpers for viusualisation state + bool visualisationUsesPresObj() const; + bool visualisationUsesDraft() const; + protected: // This method is responsible for creating the graphical visualisation data // ONLY based on model data diff --git a/svx/inc/svx/sdr/contact/viewcontactofsdrole2obj.hxx b/svx/inc/svx/sdr/contact/viewcontactofsdrole2obj.hxx index d75c2bfa3919..27235de9e097 100644 --- a/svx/inc/svx/sdr/contact/viewcontactofsdrole2obj.hxx +++ b/svx/inc/svx/sdr/contact/viewcontactofsdrole2obj.hxx @@ -64,15 +64,15 @@ namespace sdr ViewContactOfSdrOle2Obj(SdrOle2Obj& rOle2Obj); virtual ~ViewContactOfSdrOle2Obj(); - // helper for creating a OLE sequence for this object for a specified Graphic. This is locally - // used from createViewIndependentPrimitive2DSequence and also allows the VOC which knows about - // HighContrast mode to easily do the same with the HighContrast OLE metafile. It also allows - // to give a hint for scaling down the content what is needed for EmptyPresObjs - drawinglayer::primitive2d::Primitive2DSequence createPrimitive2DSequenceWithGivenGraphic(const Graphic& rOLEGraphic, bool bScaleContent) const; + // helper for creating a OLE sequence for this object. It takes care od attributes, needed + // scaling (e.g. for EmptyPresObj's), the correct graphic and other stuff. It is used from + // createViewIndependentPrimitive2DSequence with false, and with evtl. HighContrast true + // from the VOC which knows that + drawinglayer::primitive2d::Primitive2DSequence createPrimitive2DSequenceWithParameters(bool bHighContrast) const; protected: // This method is responsible for creating the graphical visualisation data - // ONLY based on model data + // ONLY based on model data, just wraps to call createPrimitive2DSequenceWithParameters(false) virtual drawinglayer::primitive2d::Primitive2DSequence createViewIndependentPrimitive2DSequence() const; }; } // end of namespace contact diff --git a/svx/inc/svx/sdr/contact/viewobjectcontactofunocontrol.hxx b/svx/inc/svx/sdr/contact/viewobjectcontactofunocontrol.hxx index 7a40c25511e4..27359ebf9738 100644 --- a/svx/inc/svx/sdr/contact/viewobjectcontactofunocontrol.hxx +++ b/svx/inc/svx/sdr/contact/viewobjectcontactofunocontrol.hxx @@ -89,18 +89,6 @@ namespace sdr { namespace contact { */ void setControlDesignMode( bool _bDesignMode ) const; - /** determines whether the instance belongs to a given OutputDevice - @precond - The instance knows the device it belongs to, or can determine it. - If this is not the case, you will notice an assertion, and the method will - return false. - */ - bool belongsToDevice( const OutputDevice* _pDevice ) const; - - /** positions the control for subsequent paint operations - */ - void positionControlForPaint( const DisplayInfo& _rDisplayInfo ) const; - /** callback from impl class to react on changes of properties form the XControlModel */ void propertyChange(); @@ -165,6 +153,8 @@ namespace sdr { namespace contact { UnoControlPrintOrPreviewContact(); // never implemented UnoControlPrintOrPreviewContact( const UnoControlPrintOrPreviewContact& ); // never implemented UnoControlPrintOrPreviewContact& operator=( const UnoControlPrintOrPreviewContact& ); // never implemented + + virtual drawinglayer::primitive2d::Primitive2DSequence createPrimitive2DSequence(const DisplayInfo& rDisplayInfo ) const; }; //==================================================================== diff --git a/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx b/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx index 90c546cb85cc..9acc34c8dcc8 100644 --- a/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx +++ b/svx/inc/svx/sdr/overlay/overlayanimatedbitmapex.hxx @@ -60,11 +60,8 @@ namespace sdr // Flag to remember which state to draw. Inited with sal_False (0) unsigned mbOverlayState : 1; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); // #i53216# check blink time value range (currently 25 < mnBlinkTime < 10000) void impCheckBlinkTimeValueRange(); @@ -100,11 +97,6 @@ namespace sdr // execute event from base class ::sdr::animation::Event. Default // implementation does nothing and does not create a new event. virtual void Trigger(sal_uInt32 nTime); - - // Zoom has changed. If the objects logical size - // depends on the MapMode of the used OutputDevice, use this call - // to invalidate the range in logical coordinates. - virtual void zoomHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlaybitmap.hxx b/svx/inc/svx/sdr/overlay/overlaybitmap.hxx deleted file mode 100644 index 23037300259d..000000000000 --- a/svx/inc/svx/sdr/overlay/overlaybitmap.hxx +++ /dev/null @@ -1,94 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: overlaybitmap.hxx,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SDR_OVERLAY_OVERLAYBITMAP_HXX -#define _SDR_OVERLAY_OVERLAYBITMAP_HXX - -#include <svx/sdr/overlay/overlayobject.hxx> -#include <vcl/bitmap.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayBitmap : public OverlayObjectWithBasePosition - { - protected: - // the Bitmap itself - Bitmap maBitmap; - - // position of the basePosition inside the Bitmap, in pixels - sal_uInt16 mnCenterX; - sal_uInt16 mnCenterY; - - // bitfield - // shall the BaseColor be used to create transparence? - unsigned mbUseTransparenceColor : 1; - - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); - - public: - OverlayBitmap( - const basegfx::B2DPoint& rBasePos, - const Bitmap& rBitmap, - sal_uInt16 nCenX = 0, sal_uInt16 nCenY = 0, - sal_Bool bUseTransCol = sal_False, - Color aTransColor = Color(COL_WHITE)); - virtual ~OverlayBitmap(); - - const Bitmap& getBitmap() const { return maBitmap; } - void setBitmap(const Bitmap& rNew); - - sal_Bool isTransparenceUsed() const { return mbUseTransparenceColor; } - void setTransparenceUsed(sal_Bool bNew); - - sal_uInt16 getCenterX() const { return mnCenterX; } - sal_uInt16 getCenterY() const { return mnCenterY; } - void setCenterXY(sal_uInt16 nNewX, sal_uInt16 nNewY); - - // Zoom has changed. If the objects logical size - // depends on the MapMode of the used OutputDevice, use this call - // to invalidate the range in logical coordinates. - virtual void zoomHasChanged(); - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -#endif //_SDR_OVERLAY_OVERLAYBITMAP_HXX - -// eof diff --git a/svx/inc/svx/sdr/overlay/overlaybitmapex.hxx b/svx/inc/svx/sdr/overlay/overlaybitmapex.hxx index b19b8248eb3e..96295d0f9f80 100644 --- a/svx/inc/svx/sdr/overlay/overlaybitmapex.hxx +++ b/svx/inc/svx/sdr/overlay/overlaybitmapex.hxx @@ -50,11 +50,7 @@ namespace sdr sal_uInt16 mnCenterX; sal_uInt16 mnCenterY; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayBitmapEx( @@ -69,11 +65,6 @@ namespace sdr sal_uInt16 getCenterX() const { return mnCenterX; } sal_uInt16 getCenterY() const { return mnCenterY; } void setCenterXY(sal_uInt16 nNewX, sal_uInt16 nNewY); - - // Zoom has changed. If the objects logical size - // depends on the MapMode of the used OutputDevice, use this call - // to invalidate the range in logical coordinates. - virtual void zoomHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlaycrosshair.hxx b/svx/inc/svx/sdr/overlay/overlaycrosshair.hxx index c85bc3d9aae5..35223ce44d04 100644 --- a/svx/inc/svx/sdr/overlay/overlaycrosshair.hxx +++ b/svx/inc/svx/sdr/overlay/overlaycrosshair.hxx @@ -42,39 +42,15 @@ namespace sdr class OverlayCrosshairStriped : public OverlayObjectWithBasePosition { protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayCrosshairStriped(const basegfx::B2DPoint& rBasePos); virtual ~OverlayCrosshairStriped(); - // Hittest with logical coordinates - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayCrosshair : public OverlayCrosshairStriped - { - protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - public: - OverlayCrosshair( - const basegfx::B2DPoint& rBasePos, - Color aLineColor = Color(COL_BLACK)); - virtual ~OverlayCrosshair(); + // react on stripe definition change + virtual void stripeDefinitionHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlayhatchrect.hxx b/svx/inc/svx/sdr/overlay/overlayhatchrect.hxx index 41e55f7dbdec..aeb4c416f058 100644 --- a/svx/inc/svx/sdr/overlay/overlayhatchrect.hxx +++ b/svx/inc/svx/sdr/overlay/overlayhatchrect.hxx @@ -47,38 +47,30 @@ namespace sdr { // geometric definitions basegfx::B2DPoint maSecondPosition; - const double mfDiscreteWidth; + const double mfDiscreteGrow; + const double mfDiscreteShrink; const double mfHatchRotation; const double mfRotation; - // helper to create visualisation geometry from above values - basegfx::B2DPolyPolygon getGeometry(OutputDevice& rOutputDevice); - - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayHatchRect( const basegfx::B2DPoint& rBasePosition, const basegfx::B2DPoint& rSecondPosition, const Color& rHatchColor, - double fDiscreteWidth, + double fDiscreteGrow, + double fDiscreteShrink, double fHatchRotation, double fRotation); const basegfx::B2DPoint& getSecondPosition() const { return maSecondPosition; } void setSecondPosition(const basegfx::B2DPoint&); - // Zoom has changed. If the objects logical size - // depends on the MapMode of the used OutputDevice, use this call - // to invalidate the range in logical coordinates. - virtual void zoomHasChanged(); - // data read access - double getDiscreteWidth() const { return mfDiscreteWidth; } + double getDiscreteGrow() const { return mfDiscreteGrow; } + double getDiscreteShrink() const { return mfDiscreteShrink; } double getHatchRotation() const { return mfHatchRotation; } double getRotation() const { return mfRotation; } }; diff --git a/svx/inc/svx/sdr/overlay/overlayhelpline.hxx b/svx/inc/svx/sdr/overlay/overlayhelpline.hxx index b26fc8c3f565..44baf5101e02 100644 --- a/svx/inc/svx/sdr/overlay/overlayhelpline.hxx +++ b/svx/inc/svx/sdr/overlay/overlayhelpline.hxx @@ -46,11 +46,8 @@ namespace sdr // remember HelpLineKind SdrHelpLineKind meKind; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayHelplineStriped( @@ -58,30 +55,11 @@ namespace sdr SdrHelpLineKind eNewKind = SDRHELPLINE_POINT); virtual ~OverlayHelplineStriped(); - // Hittest with logical coordinates - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayHelpline : public OverlayHelplineStriped - { - protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); + // dat read access + SdrHelpLineKind getKind() const { return meKind; } - public: - OverlayHelpline( - const basegfx::B2DPoint& rBasePos, - Color aLineColor = Color(COL_BLACK), - SdrHelpLineKind eNewKind = SDRHELPLINE_POINT); - virtual ~OverlayHelpline(); + // react on stripe definition change + virtual void stripeDefinitionHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlayline.hxx b/svx/inc/svx/sdr/overlay/overlayline.hxx index 821a87a0a36b..5c052b778fce 100644 --- a/svx/inc/svx/sdr/overlay/overlayline.hxx +++ b/svx/inc/svx/sdr/overlay/overlayline.hxx @@ -45,11 +45,8 @@ namespace sdr // second position in pixel basegfx::B2DPoint maSecondPosition; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayLineStriped( @@ -61,33 +58,8 @@ namespace sdr const basegfx::B2DPoint& getSecondPosition() const { return maSecondPosition; } void setSecondPosition(const basegfx::B2DPoint& rNew); - // Hittest with logical coordinates - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; - - // transform object coordinates. Needs to transform maSecondPosition. - virtual void transform(const basegfx::B2DHomMatrix& rMatrix); - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayLine : public OverlayLineStriped - { - protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - public: - OverlayLine( - const basegfx::B2DPoint& rBasePos, - const basegfx::B2DPoint& rSecondPos, - Color aLineColor = Color(COL_BLACK)); - virtual ~OverlayLine(); + // react on stripe definition change + virtual void stripeDefinitionHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlaylinestriped.hxx b/svx/inc/svx/sdr/overlay/overlaylinestriped.hxx deleted file mode 100644 index 7ec84401d2bd..000000000000 --- a/svx/inc/svx/sdr/overlay/overlaylinestriped.hxx +++ /dev/null @@ -1,49 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: overlaylinestriped.hxx,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SDR_OVERLAY_OVERLAYLINESTRIPED_HXX -#define _SDR_OVERLAY_OVERLAYLINESTRIPED_HXX - -#include <svx/sdr/overlay/overlayline.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -#endif //_SDR_OVERLAY_OVERLAYLINESTRIPED_HXX - -// eof diff --git a/svx/inc/svx/sdr/overlay/overlaymanager.hxx b/svx/inc/svx/sdr/overlay/overlaymanager.hxx index 53cb15c5d72b..557a06a5f722 100644 --- a/svx/inc/svx/sdr/overlay/overlaymanager.hxx +++ b/svx/inc/svx/sdr/overlay/overlaymanager.hxx @@ -38,7 +38,6 @@ #include <tools/color.hxx> #include "svx/svxdllapi.h" #include <svtools/optionsdrawinglayer.hxx> -#include <boost/shared_ptr.hpp> #include <basegfx/matrix/b2dhommatrix.hxx> #include <drawinglayer/geometry/viewinformation2d.hxx> @@ -68,13 +67,8 @@ namespace sdr // the OutputDevice to work on, set on construction and not to be changed OutputDevice& rmOutputDevice; - // start, end and number of the double linked list of OverlayObjects - // managed by this manager - OverlayObject* mpOverlayObjectStart; - OverlayObject* mpOverlayObjectEnd; - - // MapMode for MapMode change watching - MapMode maMapMode; + // the vector of registered OverlayObjects + OverlayObjectVector maOverlayObjects; // Stripe support. All striped OverlayObjects use these stripe // values. Changes change all those objects. @@ -88,23 +82,33 @@ namespace sdr // hold buffered the logic length of discrete vector (1.0, 0.0) and the // view transformation belonging to it. Update happens in getDiscreteOne() basegfx::B2DHomMatrix maViewTransformation; + drawinglayer::geometry::ViewInformation2D maViewInformation2D; double mfDiscreteOne; // internal void ImpDrawMembers(const basegfx::B2DRange& rRange, OutputDevice& rDestinationDevice) const; - void ImpCheckMapModeChange() const; void ImpStripeDefinitionChanged(); + void impApplyRemoveActions(OverlayObject& rTarget); + void impApplyAddActions(OverlayObject& rTarget); // return mfDiscreteOne to derivations, but also check for buffered local // ViewTransformation and evtl. correct mfDiscreteOne double getDiscreteOne() const; public: - OverlayManager(OutputDevice& rOutputDevice); + // when handing over another OverlayManager at construction, the OverlayObjects + // will be taken over from it. The new one will have added all OverlayObjects + // while the handed over one will have none + OverlayManager( + OutputDevice& rOutputDevice, + OverlayManager* pOldOverlayManager = 0); virtual ~OverlayManager(); + // access to current ViewInformation2D; this call checks and evtl. updates ViewInformation2D + const drawinglayer::geometry::ViewInformation2D getCurrentViewInformation2D() const; + // complete redraw - virtual void completeRedraw(const Region& rRegion, OutputDevice* pPreRenderDevice = 0L) const; + virtual void completeRedraw(const Region& rRegion, OutputDevice* pPreRenderDevice = 0) const; // flush. Do buffered updates. virtual void flush(); @@ -139,17 +143,6 @@ namespace sdr // access to maDrawinglayerOpt const SvtOptionsDrawinglayer& getDrawinglayerOpt() const { return maDrawinglayerOpt; } - - /** Return a list of all OverlayObjects that currently belong to - the called OverlayManager. Subsequent calls to add() or - remove() will not alter the content of the returned list. - Modifying the list will not change the list of - OverlayObjects that belong to the called OverlayManager. - @return - The returned pointer is never empty but the pointed-to - vector may be. - */ - ::boost::shared_ptr<OverlayObjectVector> GetOverlayObjects (void) const; }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlaymanagerbuffered.hxx b/svx/inc/svx/sdr/overlay/overlaymanagerbuffered.hxx index 8899c1ac3194..9ced6a4d18ec 100644 --- a/svx/inc/svx/sdr/overlay/overlaymanagerbuffered.hxx +++ b/svx/inc/svx/sdr/overlay/overlaymanagerbuffered.hxx @@ -65,7 +65,7 @@ namespace sdr // bitfield // Flag to decide if PreRendering shall be used for overlay refreshes. - // Default is sal_False. + // Default is false. unsigned mbRefreshWithPreRendering : 1; // link for timer @@ -78,7 +78,13 @@ namespace sdr void ImpSaveBackground(const Region& rRegion, OutputDevice* pPreRenderDevice = 0L); public: - OverlayManagerBuffered(OutputDevice& rOutputDevice, sal_Bool bRefreshWithPreRendering = sal_False); + // when handing over another OverlayManager at construction, the OverlayObjects + // will be taken over from it. The new one will have added all OverlayObjects + // while the handed over one will have none + OverlayManagerBuffered( + OutputDevice& rOutputDevice, + OverlayManager* pOldOverlayManager = 0, + bool bRefreshWithPreRendering = false); virtual ~OverlayManagerBuffered(); // complete redraw @@ -97,8 +103,8 @@ namespace sdr virtual void invalidateRange(const basegfx::B2DRange& rRange); // access to RefreshWithPreRendering Flag - sal_Bool DoRefreshWithPreRendering() const { return mbRefreshWithPreRendering; } - void SetRefreshWithPreRendering(sal_Bool bNew); + bool DoRefreshWithPreRendering() const { return mbRefreshWithPreRendering; } + void SetRefreshWithPreRendering(bool bNew); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlayobject.hxx b/svx/inc/svx/sdr/overlay/overlayobject.hxx index 41c13db0e457..ae31df8f6dee 100644 --- a/svx/inc/svx/sdr/overlay/overlayobject.hxx +++ b/svx/inc/svx/sdr/overlay/overlayobject.hxx @@ -36,6 +36,7 @@ #include <tools/color.hxx> #include <svx/sdr/animation/scheduler.hxx> #include "svx/svxdllapi.h" +#include <drawinglayer/primitive2d/baseprimitive2d.hxx> #include <vector> @@ -65,60 +66,64 @@ namespace sdr { namespace overlay { - class SVX_DLLPUBLIC OverlayObject : public ::sdr::animation::Event + class SVX_DLLPUBLIC OverlayObject : private ::boost::noncopyable, public ::sdr::animation::Event { - // Manager is allowed access to private Members, especially - // pNext and pPrevious are used form the manager to handle the - // OverlayObject. - friend class OverlayManager; + private: + // Manager is allowed access to private Member mpOverlayManager + friend class OverlayManager; // pointer to OverlayManager, if object is added. Changed by // OverlayManager, do not chnge Yourself. - OverlayManager* mpOverlayManager; + OverlayManager* mpOverlayManager; - // Chaining of IAO's, used by OverlayManager. These will be - // used form the OverlayManager, so do not change them Yourself. - OverlayObject* mpNext; - OverlayObject* mpPrevious; + // Primitive2DSequence of the OverlayObject + drawinglayer::primitive2d::Primitive2DSequence maPrimitive2DSequence; protected: + // access methods to maPrimitive2DSequence. The usage of this methods may allow + // later thread-safe stuff to be added if needed. Only to be used by getPrimitive2DSequence() + // implementations for buffering the last decomposition. + const drawinglayer::primitive2d::Primitive2DSequence& getPrimitive2DSequence() const { return maPrimitive2DSequence; } + void setPrimitive2DSequence(const drawinglayer::primitive2d::Primitive2DSequence& rNew) { maPrimitive2DSequence = rNew; } + + // the creation method for Primitive2DSequence. Called when getPrimitive2DSequence() + // sees that maPrimitive2DSequence is empty. Needs to be supported by all + // OverlayObject implementations. Default implementation will assert + // a missing implementation + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); + // region in logical coordinates - basegfx::B2DRange maBaseRange; + basegfx::B2DRange maBaseRange; // base color of this OverlayObject - Color maBaseColor; + Color maBaseColor; // bitfield // Flag for visibility - unsigned mbIsVisible : 1; - - // Flag for validity - unsigned mbIsChanged : 1; + unsigned mbIsVisible : 1; // Flag to control hittability - unsigned mbIsHittable : 1; + unsigned mbIsHittable : 1; // Flag to hold info if this objects supports animation. Default is - // sal_False. If sal_True, the Trigger() method should be overloaded + // false. If true, the Trigger() method should be overloaded // to implement the animation effect and to re-initiate the event. - unsigned mbAllowsAnimation : 1; + unsigned mbAllowsAnimation : 1; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice) = 0; - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice) = 0; + // Flag tocontrol if this OverlayObject allows AntiAliased visualisation. + // Default is true, but e.g. for selection visualisation in SC and SW, + // it is switched to false + unsigned mbAllowsAntiAliase : 1; // set changed flag. Call after change, since the old range is invalidated // and then the new one is calculated and invalidated, too. This will only // work after the change. - void objectChange(); + virtual void objectChange(); - // support method to draw striped geometries - void ImpDrawRangeStriped(OutputDevice& rOutputDevice, const basegfx::B2DRange& rRange); - void ImpDrawLineStriped(OutputDevice& rOutputDevice, double x1, double y1, double x2, double y2); - void ImpDrawLineStriped(OutputDevice& rOutputDevice, const basegfx::B2DPoint& rStart, const basegfx::B2DPoint& rEnd); - void ImpDrawPolygonStriped(OutputDevice& rOutputDevice, const basegfx::B2DPolygon& rPolygon); + // write access to AntiAliase flag. This is protected since + // only implementations are allowed to change this, preferrably in their + // constructor + void allowAntiAliase(bool bNew); public: OverlayObject(Color aBaseColor); @@ -127,19 +132,21 @@ namespace sdr // get OverlayManager OverlayManager* getOverlayManager() const { return mpOverlayManager; } - // Hittest with logical coordinates. Default tests against maBaseRange. - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; + // the access method for Primitive2DSequence. Will use createPrimitive2DSequence and + // setPrimitive2DSequence if needed. Overloading may be used to allow disposal of last + // created primitives to react on changed circumstances and to re-create primitives + virtual drawinglayer::primitive2d::Primitive2DSequence getOverlayObjectPrimitive2DSequence() const; // access to visibility state - sal_Bool isVisible() const { return mbIsVisible; } - void setVisible(sal_Bool bNew); - - // read access to changed flag - sal_Bool isChanged() const { return mbIsChanged; } + bool isVisible() const { return mbIsVisible; } + void setVisible(bool bNew); // access to hittable flag - sal_Bool isHittable() const { return mbIsHittable; } - void setHittable(sal_Bool bNew); + bool isHittable() const { return mbIsHittable; } + void setHittable(bool bNew); + + // read access to AntiAliase flag + bool allowsAntiAliase() const { return mbAllowsAntiAliase; } // read access to baseRange. This may trigger createBaseRange() if // object is changed. @@ -154,16 +161,7 @@ namespace sdr virtual void Trigger(sal_uInt32 nTime); // acces to AllowsAnimation flag - sal_Bool allowsAnimation() const { return mbAllowsAnimation; } - - // transform object coordinates. - virtual void transform(const basegfx::B2DHomMatrix& rMatrix) = 0; - - // Zoom has changed. If the objects logical size - // depends on the MapMode of the used OutputDevice, use this call - // to invalidate the range in logical coordinates. Default is no - // change. - virtual void zoomHasChanged(); + bool allowsAnimation() const { return mbAllowsAnimation; } // stripe definition has changed. The OverlayManager does have // support data to draw graphics in two colors striped. This @@ -197,10 +195,6 @@ namespace sdr // access to basePosition const basegfx::B2DPoint& getBasePosition() const { return maBasePosition; } void setBasePosition(const basegfx::B2DPoint& rNew); - - // transform object coordinates. Transforms maBasePosition - // and invalidates on change - virtual void transform(const basegfx::B2DHomMatrix& rMatrix); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlayobjectcell.hxx b/svx/inc/svx/sdr/overlay/overlayobjectcell.hxx index 91add8a39758..2f40c9385674 100644 --- a/svx/inc/svx/sdr/overlay/overlayobjectcell.hxx +++ b/svx/inc/svx/sdr/overlay/overlayobjectcell.hxx @@ -42,7 +42,7 @@ namespace sdr { namespace overlay { - enum CellOverlayType { CELL_OVERLAY_INVERT, CELL_OVERLAY_HATCH, CELL_OVERLAY_TRANSPARENT, CELL_OVERLAY_LIGHT_TRANSPARENT }; + enum CellOverlayType { CELL_OVERLAY_INVERT, CELL_OVERLAY_TRANSPARENT }; // OverlayObjectCell - used for cell cursor, selection and AutoFill handle @@ -55,14 +55,12 @@ namespace sdr CellOverlayType mePaintType; RangeVector maRectangles; - virtual void drawGeometry(OutputDevice& rOutputDevice); - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayObjectCell( CellOverlayType eType, const Color& rColor, const RangeVector& rRects); virtual ~OverlayObjectCell(); - - virtual void transform(const basegfx::B2DHomMatrix& rMatrix); }; } // end of namespace overlay diff --git a/svx/inc/svx/sdr/overlay/overlayobjectlist.hxx b/svx/inc/svx/sdr/overlay/overlayobjectlist.hxx index 8e03cc620dd0..3f665f203e5d 100644 --- a/svx/inc/svx/sdr/overlay/overlayobjectlist.hxx +++ b/svx/inc/svx/sdr/overlay/overlayobjectlist.hxx @@ -70,16 +70,13 @@ namespace sdr OverlayObject& getOverlayObject(sal_uInt32 nIndex) const { return *(maVector[nIndex]); } // Hittest with logical coordinates - sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; + bool isHitLogic(const basegfx::B2DPoint& rLogicPosition, double fLogicTolerance = 0.0) const; // Hittest with pixel coordinates and pixel tolerance - sal_Bool isHitPixel(const Point& rPos, sal_uInt32 nTol = DEFAULT_VALUE_FOR_HITTEST_PIXEL) const; + bool isHitPixel(const Point& rDiscretePosition, sal_uInt32 fDiscreteTolerance = DEFAULT_VALUE_FOR_HITTEST_PIXEL) const; // calculate BaseRange of all included OverlayObjects and return basegfx::B2DRange getBaseRange() const; - - // transform all members coordinates - void transform(const basegfx::B2DHomMatrix& rMatrix); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx b/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx index 276ad2b6bc5b..d7dc72df4d59 100644 --- a/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx +++ b/svx/inc/svx/sdr/overlay/overlaypolypolygon.hxx @@ -46,11 +46,8 @@ namespace sdr // geometry basegfx::B2DPolyPolygon maPolyPolygon; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayPolyPolygonStriped(const basegfx::B2DPolyPolygon& rPolyPolygon); @@ -60,33 +57,8 @@ namespace sdr basegfx::B2DPolyPolygon getPolyPolygon() const { return maPolyPolygon; } void setPolyPolygon(const basegfx::B2DPolyPolygon& rNew); - // Hittest with logical coordinates - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; - - // transform object coordinates. Needs to transform maSecondPosition - // and maThirdPosition. - virtual void transform(const basegfx::B2DHomMatrix& rMatrix); - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayPolyPolygon : public OverlayPolyPolygonStriped - { - protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - public: - OverlayPolyPolygon( - const basegfx::B2DPolyPolygon& rPolyPolygon, - Color aPolygonColor = Color(COL_BLACK)); - virtual ~OverlayPolyPolygon(); + // react on stripe definition change + virtual void stripeDefinitionHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx b/svx/inc/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx index 1ca1a0a7d18a..e94cfefcf327 100644 --- a/svx/inc/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx +++ b/svx/inc/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx @@ -41,20 +41,14 @@ namespace sdr { namespace overlay { - class OverlayPrimitive2DSequenceObject : public OverlayObjectWithBasePosition + class SVX_DLLPUBLIC OverlayPrimitive2DSequenceObject : public OverlayObjectWithBasePosition { protected: // the sequence of primitives to show const drawinglayer::primitive2d::Primitive2DSequence maSequence; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); - - // Hittest with logical coordinates. Default tests against maBaseRange. - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); private: // internal helper to create a drawinglayer::geometry::ViewInformation2D diff --git a/svx/inc/svx/sdr/overlay/overlayrollingrectangle.hxx b/svx/inc/svx/sdr/overlay/overlayrollingrectangle.hxx index 81233e0d0252..3120f02d950b 100644 --- a/svx/inc/svx/sdr/overlay/overlayrollingrectangle.hxx +++ b/svx/inc/svx/sdr/overlay/overlayrollingrectangle.hxx @@ -52,18 +52,15 @@ namespace sdr // Flag to switch on/off the bounds itself unsigned mbShowBounds : 1; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: OverlayRollingRectangleStriped( const basegfx::B2DPoint& rBasePos, const basegfx::B2DPoint& rSecondPos, - sal_Bool bExtendedLines = sal_False, - sal_Bool bShowBounds = sal_True); + bool bExtendedLines = false, + bool bShowBounds = true); virtual ~OverlayRollingRectangleStriped(); // change second position @@ -71,42 +68,15 @@ namespace sdr void setSecondPosition(const basegfx::B2DPoint& rNew); // change extended lines - sal_Bool getExtendedLines() const { return mbExtendedLines; } - void setExtendedLines(sal_Bool bNew); + bool getExtendedLines() const { return mbExtendedLines; } + void setExtendedLines(bool bNew); // change show bounds - sal_Bool getShowBounds() const { return mbShowBounds; } - void setShowBounds(sal_Bool bNew); - - // Hittest with logical coordinates - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; - - // transform object coordinates. Needs to transform maSecondPosition. - virtual void transform(const basegfx::B2DHomMatrix& rMatrix); - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayRollingRectangle : public OverlayRollingRectangleStriped - { - protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); + bool getShowBounds() const { return mbShowBounds; } + void setShowBounds(bool bNew); - public: - OverlayRollingRectangle( - const basegfx::B2DPoint& rBasePos, - const basegfx::B2DPoint& rSecondPos, - Color aLineColor = Color(COL_BLACK), - sal_Bool bExtendedLines = sal_False, - sal_Bool bShowBounds = sal_True); - virtual ~OverlayRollingRectangle(); + // react on stripe definition change + virtual void stripeDefinitionHasChanged(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlayselection.hxx b/svx/inc/svx/sdr/overlay/overlayselection.hxx new file mode 100644 index 000000000000..fe725a577eec --- /dev/null +++ b/svx/inc/svx/sdr/overlay/overlayselection.hxx @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: overlayline.hxx,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_OVERLAY_OVERLAYSELECTION_HXX +#define _SDR_OVERLAY_OVERLAYSELECTION_HXX + +#include <svx/sdr/overlay/overlayobject.hxx> +#include <vcl/region.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace overlay + { + // overlay type definition + enum OverlayType + { + OVERLAY_INVERT, + OVERLAY_SOLID, + OVERLAY_TRANSPARENT + }; + + class SVX_DLLPUBLIC OverlaySelection : public OverlayObject + { + protected: + // type of overlay + OverlayType meOverlayType; + + // geometry of overlay + std::vector< basegfx::B2DRange > maRanges; + + // Values of last primitive creation. These are checked in getOverlayObjectPrimitive2DSequence + // to evtl. get rid of last Primitive2DSequence. This ensures that these values are up-to-date + // and are usable when creating primitives + OverlayType maLastOverlayType; + sal_uInt16 mnLastTransparence; + + // bitfield + unsigned mbBorder : 1; + + // geometry creation for OverlayObject, can use local *Last* values + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); + + public: + OverlaySelection( + OverlayType eType, + const Color& rColor, + const std::vector< basegfx::B2DRange >& rRanges, + bool bBorder); + virtual ~OverlaySelection(); + + // data read access + const OverlayType getOverlayType() const { return meOverlayType; } + const std::vector< basegfx::B2DRange >& getRanges() const { return maRanges; } + bool getBorder() const { return mbBorder; } + + // overloaded to check conditions for last createOverlayObjectPrimitive2DSequence + virtual drawinglayer::primitive2d::Primitive2DSequence getOverlayObjectPrimitive2DSequence() const; + + // data write access + void setRanges(const std::vector< basegfx::B2DRange >& rNew); + }; + } // end of namespace overlay +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_OVERLAY_OVERLAYSELECTION_HXX + +// eof diff --git a/svx/inc/svx/sdr/overlay/overlaytools.hxx b/svx/inc/svx/sdr/overlay/overlaytools.hxx new file mode 100644 index 000000000000..d9a1b34dd8f6 --- /dev/null +++ b/svx/inc/svx/sdr/overlay/overlaytools.hxx @@ -0,0 +1,281 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: overlayobject.hxx,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_OVERLAY_OVERLAYTOOLS_HXX +#define _SDR_OVERLAY_OVERLAYTOOLS_HXX + +#include <drawinglayer/primitive2d/primitivetools2d.hxx> +#include <vcl/bitmapex.hxx> + +////////////////////////////////////////////////////////////////////////////// +// Overlay helper class which holds a BotmapEx which is to be visualized +// at the given logic position with the Bitmap's pixel size, unscaled and +// unrotated (like a marker). The discrete pixel on the bitmap assocciated +// with the target position is given in discrete X,Y coordinates +namespace drawinglayer +{ + namespace primitive2d + { + class OverlayBitmapExPrimitive : public DiscreteMetricDependentPrimitive2D + { + private: + // The BitmapEx to use, PixelSize is used + BitmapEx maBitmapEx; + + // The logic position + basegfx::B2DPoint maBasePosition; + + // The pixel inside the BitmapEx which is assocciated with + // the target position (offset in the bitmap) + sal_uInt16 mnCenterX; + sal_uInt16 mnCenterY; + + protected: + virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + + public: + OverlayBitmapExPrimitive( + const BitmapEx& rBitmapEx, + const basegfx::B2DPoint& rBasePosition, + sal_uInt16 nCenterX, + sal_uInt16 nCenterY); + + // data access + const BitmapEx& getBitmapEx() const { return maBitmapEx; } + const basegfx::B2DPoint& getBasePosition() const { return maBasePosition; } + sal_uInt16 getCenterX() const { return mnCenterX; } + sal_uInt16 getCenterY() const { return mnCenterY; } + + // compare operator + virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; + + DeclPrimitrive2DIDBlock() + }; + } // end of namespace primitive2d +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// +// Overlay helper class for a crosshair +namespace drawinglayer +{ + namespace primitive2d + { + class OverlayCrosshairPrimitive : public ViewportDependentPrimitive2D + { + private: + // The logic position + basegfx::B2DPoint maBasePosition; + + // The stripe colors and legth + basegfx::BColor maRGBColorA; + basegfx::BColor maRGBColorB; + double mfDiscreteDashLength; + + protected: + virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + + public: + OverlayCrosshairPrimitive( + const basegfx::B2DPoint& rBasePosition, + const basegfx::BColor& rRGBColorA, + const basegfx::BColor& rRGBColorB, + double fDiscreteDashLength); + + // data access + const basegfx::B2DPoint& getBasePosition() const { return maBasePosition; } + const basegfx::BColor& getRGBColorA() const { return maRGBColorA; } + const basegfx::BColor& getRGBColorB() const { return maRGBColorB; } + double getDiscreteDashLength() const { return mfDiscreteDashLength; } + + // compare operator + virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; + + DeclPrimitrive2DIDBlock() + }; + } // end of namespace primitive2d +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// +// Overlay helper class for a hatch rectangle as used e.g. for text object +// selection hilighting +namespace drawinglayer +{ + namespace primitive2d + { + class OverlayHatchRectanglePrimitive : public DiscreteMetricDependentPrimitive2D + { + private: + // the logic rectangle definition + basegfx::B2DRange maObjectRange; + + // the hatch definition + double mfDiscreteHatchDistance; + double mfHatchRotation; + basegfx::BColor maHatchColor; + + // the dscrete grow and shrink of the box + double mfDiscreteGrow; + double mfDiscreteShrink; + + // the rotation of the primitive itself + double mfRotation; + + protected: + virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + + public: + OverlayHatchRectanglePrimitive( + const basegfx::B2DRange& rObjectRange, + double fDiscreteHatchDistance, + double fHatchRotation, + const basegfx::BColor& rHatchColor, + 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; } + double getDiscreteShrink() const { return mfDiscreteShrink; } + double getRotation() const { return mfRotation; } + + // compare operator + virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; + + DeclPrimitrive2DIDBlock() + }; + } // end of namespace primitive2d +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// +// Overlay helper class for a striped helpline + +namespace drawinglayer +{ + namespace primitive2d + { + enum HelplineStyle + { + HELPLINESTYLE_POINT, + HELPLINESTYLE_VERTICAL, + HELPLINESTYLE_HORIZONTAL + }; + + class OverlayHelplineStripedPrimitive : public ViewportDependentPrimitive2D + { + private: + // The logic position + basegfx::B2DPoint maBasePosition; + + // the style + HelplineStyle meStyle; + + // The stripe colors and legth + basegfx::BColor maRGBColorA; + basegfx::BColor maRGBColorB; + double mfDiscreteDashLength; + + protected: + virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + + public: + OverlayHelplineStripedPrimitive( + const basegfx::B2DPoint& rBasePosition, + HelplineStyle eStyle, + const basegfx::BColor& rRGBColorA, + const basegfx::BColor& rRGBColorB, + double fDiscreteDashLength); + + // data access + const basegfx::B2DPoint& getBasePosition() const { return maBasePosition; } + HelplineStyle getStyle() const { return meStyle; } + const basegfx::BColor& getRGBColorA() const { return maRGBColorA; } + const basegfx::BColor& getRGBColorB() const { return maRGBColorB; } + double getDiscreteDashLength() const { return mfDiscreteDashLength; } + + // compare operator + virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; + + DeclPrimitrive2DIDBlock() + }; + } // end of namespace primitive2d +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// +// Overlay helper class for rolling rectangle helplines. This primitive is +// only for the extended lines to the ends of the view + +namespace drawinglayer +{ + namespace primitive2d + { + class OverlayRollingRectanglePrimitive : public ViewportDependentPrimitive2D + { + private: + // The logic range + basegfx::B2DRange maRollingRectangle; + + // The stripe colors and legth + basegfx::BColor maRGBColorA; + basegfx::BColor maRGBColorB; + double mfDiscreteDashLength; + + protected: + virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + + public: + OverlayRollingRectanglePrimitive( + const basegfx::B2DRange& aRollingRectangle, + const basegfx::BColor& rRGBColorA, + const basegfx::BColor& rRGBColorB, + double fDiscreteDashLength); + + // data access + const basegfx::B2DRange& getRollingRectangle() const { return maRollingRectangle; } + const basegfx::BColor& getRGBColorA() const { return maRGBColorA; } + const basegfx::BColor& getRGBColorB() const { return maRGBColorB; } + double getDiscreteDashLength() const { return mfDiscreteDashLength; } + + // compare operator + virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; + + DeclPrimitrive2DIDBlock() + }; + } // end of namespace primitive2d +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_OVERLAY_OVERLAYTOOLS_HXX + +// eof diff --git a/svx/inc/svx/sdr/overlay/overlaytriangle.hxx b/svx/inc/svx/sdr/overlay/overlaytriangle.hxx index b1d7a16ac72e..97b391047ba7 100644 --- a/svx/inc/svx/sdr/overlay/overlaytriangle.hxx +++ b/svx/inc/svx/sdr/overlay/overlaytriangle.hxx @@ -39,25 +39,23 @@ namespace sdr { namespace overlay { - class OverlayTriangleStriped : public OverlayObjectWithBasePosition + class OverlayTriangle : public OverlayObjectWithBasePosition { protected: // second and third position in pixel basegfx::B2DPoint maSecondPosition; basegfx::B2DPoint maThirdPosition; - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); + // geometry creation for OverlayObject + virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence(); public: - OverlayTriangleStriped( + OverlayTriangle( const basegfx::B2DPoint& rBasePos, const basegfx::B2DPoint& rSecondPos, - const basegfx::B2DPoint& rThirdPos); - virtual ~OverlayTriangleStriped(); + const basegfx::B2DPoint& rThirdPos, + Color aTriangleColor); + virtual ~OverlayTriangle(); // change second position const basegfx::B2DPoint& getSecondPosition() const { return maSecondPosition; } @@ -66,36 +64,6 @@ namespace sdr // change third position const basegfx::B2DPoint& getThirdPosition() const { return maThirdPosition; } void setThirdPosition(const basegfx::B2DPoint& rNew); - - // Hittest with logical coordinates - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; - - // transform object coordinates. Needs to transform maSecondPosition - // and maThirdPosition. - virtual void transform(const basegfx::B2DHomMatrix& rMatrix); - }; - } // end of namespace overlay -} // end of namespace sdr - -////////////////////////////////////////////////////////////////////////////// - -namespace sdr -{ - namespace overlay - { - class OverlayTriangle : public OverlayTriangleStriped - { - protected: - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); - - public: - OverlayTriangle( - const basegfx::B2DPoint& rBasePos, - const basegfx::B2DPoint& rSecondPos, - const basegfx::B2DPoint& rThirdPos, - Color aTriangleColor = Color(COL_BLACK)); - virtual ~OverlayTriangle(); }; } // end of namespace overlay } // end of namespace sdr diff --git a/svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx b/svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx index 85368fc8db86..aa3785995b25 100644 --- a/svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx @@ -36,6 +36,8 @@ #include <cppuhelper/compbase1.hxx> #include <comphelper/broadcasthelper.hxx> +#include <svx/svxdllapi.h> + ////////////////////////////////////////////////////////////////////////////// // UNO API helper methods @@ -43,7 +45,7 @@ namespace drawinglayer { namespace primitive2d { - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL XPrimitiveFactory2DProvider_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); + SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL XPrimitiveFactory2DProvider_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); } // end of namespace primitive2d } // end of namespace drawinglayer @@ -73,8 +75,8 @@ namespace drawinglayer virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXDrawPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xDrawPage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aParms ) throw (::com::sun::star::uno::RuntimeException); // UNO API helpers - static rtl::OUString getImplementationName_Static(); - static com::sun::star::uno::Sequence< rtl::OUString > getSupportedServiceNames_Static(); + SVX_DLLPUBLIC static rtl::OUString getImplementationName_Static(); + SVX_DLLPUBLIC static com::sun::star::uno::Sequence< rtl::OUString > getSupportedServiceNames_Static(); }; } // end of namespace primitive2d } // end of namespace drawinglayer diff --git a/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx b/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx index a9b3767c3c32..e4a8fa01902f 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrattributecreator.hxx @@ -71,7 +71,16 @@ namespace drawinglayer attribute::SdrLineStartEndAttribute* createNewSdrLineStartEndAttribute(const SfxItemSet& rSet, double fWidth); attribute::SdrShadowAttribute* createNewSdrShadowAttribute(const SfxItemSet& rSet); attribute::SdrFillAttribute* createNewSdrFillAttribute(const SfxItemSet& rSet); - attribute::SdrTextAttribute* createNewSdrTextAttribute(const SfxItemSet& rSet, const SdrText& rText); + + // #i101508# Support handing over given text-to-border distances + attribute::SdrTextAttribute* createNewSdrTextAttribute( + const SfxItemSet& rSet, + const SdrText& rText, + const sal_Int32* pLeft = 0, + const sal_Int32* pUpper = 0, + const sal_Int32* pRight = 0, + const sal_Int32* pLower = 0); + attribute::FillGradientAttribute* createNewTransparenceGradientAttribute(const SfxItemSet& rSet); attribute::SdrFillBitmapAttribute* createNewSdrFillBitmapAttribute(const SfxItemSet& rSet); attribute::SdrShadowTextAttribute* createNewSdrShadowTextAttribute( @@ -83,7 +92,15 @@ namespace drawinglayer attribute::SdrLineFillShadowAttribute* createNewSdrLineFillShadowAttribute(const SfxItemSet& rSet, bool bSuppressFill); attribute::SdrSceneAttribute* createNewSdrSceneAttribute(const SfxItemSet& rSet); attribute::SdrLightingAttribute* createNewSdrLightingAttribute(const SfxItemSet& rSet); - attribute::SdrFillTextAttribute* createNewSdrFillTextAttribute(const SfxItemSet& rSet, const SdrText* pSdrText); + + // #i101508# Support handing over given text-to-border distances + attribute::SdrFillTextAttribute* createNewSdrFillTextAttribute( + const SfxItemSet& rSet, + const SdrText* pSdrText, + const sal_Int32* pLeft = 0, + const sal_Int32* pUpper = 0, + const sal_Int32* pRight = 0, + const sal_Int32* pLower = 0); // helpers void calculateRelativeCornerRadius(sal_Int32 nRadius, const ::basegfx::B2DRange& rObjectRange, double& rfCornerRadiusX, double& rfCornerRadiusY); diff --git a/svx/inc/svx/sdr/primitive2d/sdrcaptionprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrcaptionprimitive2d.hxx index b5b8867b1ae5..01bb7794e9f3 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrcaptionprimitive2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrcaptionprimitive2d.hxx @@ -76,7 +76,7 @@ namespace drawinglayer const ::basegfx::B2DPolygon& getTail() const { return maTail; } double getCornerRadiusX() const { return mfCornerRadiusX; } double getCornerRadiusY() const { return mfCornerRadiusY; } - bool hasCornerRadius() const { return (0.0 != mfCornerRadiusX || 0.0 != mfCornerRadiusY); } + bool isCornerRadiusUsed() const { return (0.0 != mfCornerRadiusX || 0.0 != mfCornerRadiusY); } // provide unique ID DeclPrimitrive2DIDBlock() diff --git a/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx b/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx index 2f4702e62b07..798e5b53d6de 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx @@ -77,8 +77,8 @@ namespace drawinglayer bool bCellText, bool bWordWrap); - Primitive2DReference createShadowPrimitive( - const Primitive2DSequence& rSource, + Primitive2DSequence createEmbeddedShadowPrimitive( + const Primitive2DSequence& rContent, const attribute::SdrShadowAttribute& rShadow); } // end of namespace primitive2d diff --git a/svx/inc/svx/sdr/primitive2d/sdrmeasureprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrmeasureprimitive2d.hxx index 7ee46630bf5b..1e68a61432a0 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrmeasureprimitive2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrmeasureprimitive2d.hxx @@ -63,8 +63,8 @@ namespace drawinglayer { private: attribute::SdrLineShadowTextAttribute maSdrLSTAttribute; - ::basegfx::B2DPoint maStart; - ::basegfx::B2DPoint maEnd; + basegfx::B2DPoint maStart; + basegfx::B2DPoint maEnd; MeasureTextPosition meHorizontal; MeasureTextPosition meVertical; double mfDistance; @@ -80,9 +80,9 @@ namespace drawinglayer // internal decomposition helper Primitive2DReference impCreatePart( - const ::basegfx::B2DHomMatrix& rObjectMatrix, - const ::basegfx::B2DPoint& rStart, - const ::basegfx::B2DPoint& rEnd, + const basegfx::B2DHomMatrix& rObjectMatrix, + const basegfx::B2DPoint& rStart, + const basegfx::B2DPoint& rEnd, bool bLeftActive, bool bRightActive) const; @@ -93,7 +93,8 @@ namespace drawinglayer public: SdrMeasurePrimitive2D( const attribute::SdrLineShadowTextAttribute& rSdrLSTAttribute, - const ::basegfx::B2DPoint& rStart, const ::basegfx::B2DPoint& rEnd, + const basegfx::B2DPoint& rStart, + const basegfx::B2DPoint& rEnd, MeasureTextPosition eHorizontal, MeasureTextPosition eVertical, double fDistance, @@ -107,8 +108,8 @@ namespace drawinglayer // data access const attribute::SdrLineShadowTextAttribute& getSdrLSTAttribute() const { return maSdrLSTAttribute; } - const ::basegfx::B2DPoint& getStart() const { return maStart; } - const ::basegfx::B2DPoint& getEnd() const { return maEnd; } + const basegfx::B2DPoint& getStart() const { return maStart; } + const basegfx::B2DPoint& getEnd() const { return maEnd; } MeasureTextPosition getHorizontal() const { return meHorizontal; } MeasureTextPosition getVertical() const { return meVertical; } double getDistance() const { return mfDistance; } diff --git a/svx/inc/svx/sdr/primitive2d/sdrolecontentprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrolecontentprimitive2d.hxx new file mode 100644 index 000000000000..70e28d599a44 --- /dev/null +++ b/svx/inc/svx/sdr/primitive2d/sdrolecontentprimitive2d.hxx @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: sdrcaptionprimitive2d.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_SDR_PRIMITIVE2D_SDROLECONTENTPRIMITIVE2D_HXX +#define INCLUDED_SDR_PRIMITIVE2D_SDROLECONTENTPRIMITIVE2D_HXX + +#include <drawinglayer/primitive2d/baseprimitive2d.hxx> +#include <basegfx/matrix/b2dhommatrix.hxx> +#include <svx/svdobj.hxx> + +////////////////////////////////////////////////////////////////////////////// +// predefinitions + +class SdrOle2Obj; + +////////////////////////////////////////////////////////////////////////////// + +namespace drawinglayer +{ + namespace primitive2d + { + class SdrOleContentPrimitive2D : public BasePrimitive2D + { + private: + SdrObjectWeakRef mpSdrOle2Obj; + basegfx::B2DHomMatrix maObjectTransform; + + // bitfield + unsigned mbHighContrast : 1; + + protected: + // local decomposition. + virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const; + + public: + SdrOleContentPrimitive2D( + const SdrOle2Obj& rSdrOle2Obj, + const basegfx::B2DHomMatrix& rObjectTransform, + bool bHighContrast); + + // compare operator + virtual bool operator==(const BasePrimitive2D& rPrimitive) const; + + // The default implementation will use getDecomposition results to create the range + virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; + + // data access + const basegfx::B2DHomMatrix& getObjectTransform() const { return maObjectTransform; } + bool getHighContrast() const { return mbHighContrast; } + + // provide unique ID + DeclPrimitrive2DIDBlock() + }; + } // end of namespace primitive2d +} // end of namespace drawinglayer + +////////////////////////////////////////////////////////////////////////////// + +#endif //INCLUDED_SDR_PRIMITIVE2D_SDROLECONTENTPRIMITIVE2D_HXX + +// eof diff --git a/svx/inc/svx/sdr/primitive2d/sdrpathprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrpathprimitive2d.hxx index 29d905c697ec..97b12b72d4a5 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrpathprimitive2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrpathprimitive2d.hxx @@ -49,9 +49,9 @@ namespace drawinglayer class SdrPathPrimitive2D : public BasePrimitive2D { private: - ::basegfx::B2DHomMatrix maTransform; + basegfx::B2DHomMatrix maTransform; attribute::SdrLineFillShadowTextAttribute maSdrLFSTAttribute; - ::basegfx::B2DPolyPolygon maUnitPolyPolygon; + basegfx::B2DPolyPolygon maUnitPolyPolygon; protected: // local decomposition. @@ -59,14 +59,14 @@ namespace drawinglayer public: SdrPathPrimitive2D( - const ::basegfx::B2DHomMatrix& rTransform, + const basegfx::B2DHomMatrix& rTransform, const attribute::SdrLineFillShadowTextAttribute& rSdrLFSTAttribute, - const ::basegfx::B2DPolyPolygon& rUnitPolyPolygon); + const basegfx::B2DPolyPolygon& rUnitPolyPolygon); // data access - const ::basegfx::B2DHomMatrix& getTransform() const { return maTransform; } + const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } const attribute::SdrLineFillShadowTextAttribute& getSdrLFSTAttribute() const { return maSdrLFSTAttribute; } - const ::basegfx::B2DPolyPolygon& getUnitPolyPolygon() const { return maUnitPolyPolygon; } + const basegfx::B2DPolyPolygon& getUnitPolyPolygon() const { return maUnitPolyPolygon; } // compare operator virtual bool operator==(const BasePrimitive2D& rPrimitive) const; diff --git a/svx/inc/svx/sdr/primitive2d/sdrrectangleprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrrectangleprimitive2d.hxx index 6a3983835ef9..650cc1a882c5 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrrectangleprimitive2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrrectangleprimitive2d.hxx @@ -49,28 +49,35 @@ namespace drawinglayer class SdrRectanglePrimitive2D : public BasePrimitive2D { private: - ::basegfx::B2DHomMatrix maTransform; + basegfx::B2DHomMatrix maTransform; attribute::SdrLineFillShadowTextAttribute maSdrLFSTAttribute; double mfCornerRadiusX; // [0.0..1.0] relative to 1/2 width double mfCornerRadiusY; // [0.0..1.0] relative to 1/2 height + // bitfield + // flag which decides if this is a text frame. If Yes, the HitArea + // should be the filled geometry + bool mbTextFrame : 1; + protected: // local decomposition. virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const; public: SdrRectanglePrimitive2D( - const ::basegfx::B2DHomMatrix& rTransform, + const basegfx::B2DHomMatrix& rTransform, const attribute::SdrLineFillShadowTextAttribute& rSdrLFSTAttribute, - double fCornerRadiusX = 0.0, - double fCornerRadiusY = 0.0); + double fCornerRadiusX, + double fCornerRadiusY, + bool bTextFrame); // data access - const ::basegfx::B2DHomMatrix& getTransform() const { return maTransform; } + const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } const attribute::SdrLineFillShadowTextAttribute& getSdrLFSTAttribute() const { return maSdrLFSTAttribute; } double getCornerRadiusX() const { return mfCornerRadiusX; } double getCornerRadiusY() const { return mfCornerRadiusY; } - bool hasCornerRadius() const { return (0.0 != mfCornerRadiusX || 0.0 != mfCornerRadiusY); } + bool isCornerRadiusUsed() const { return (0.0 != mfCornerRadiusX || 0.0 != mfCornerRadiusY); } + bool getTextFrame() const { return mbTextFrame; } // compare operator virtual bool operator==(const BasePrimitive2D& rPrimitive) const; diff --git a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx index 8579b87e9470..6dd60b45d2d5 100644 --- a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx @@ -36,8 +36,10 @@ #include <basegfx/polygon/b2dpolypolygon.hxx> #include <basegfx/matrix/b2dhommatrix.hxx> #include <com/sun/star/drawing/XDrawPage.hpp> -#include <boost/shared_ptr.hpp> #include <svx/outlobj.hxx> +#include <tools/color.hxx>
+#include <svx/sdr/attribute/sdrformtextattribute.hxx> +#include <tools/weakbase.hxx> ////////////////////////////////////////////////////////////////////////////// // predefines @@ -54,11 +56,11 @@ namespace drawinglayer private: // The text model data; this sould later just be the OutlinerParaObject or // something equal - const SdrText& mrSdrText; // text model data + ::tools::WeakReference< SdrText > mrSdrText; // #i97628# - // The text content; now as OutlinerParaObject* and in exclusive, local, cloned - // form as needed in a primitive + // The text content; now as local OutlinerParaObject copy (internally RefCounted and + // COW) and in exclusive, local form as needed in a primitive const OutlinerParaObject maOutlinerParaObject; // remeber last VisualizingPage for which a decomposition was made. If the new target @@ -67,6 +69,18 @@ namespace drawinglayer // field renderings in SubGeometry and MasterPage mnode com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage > mxLastVisualizingPage; + // remember last PageNumber for which a decomposition was made. This is only used + // when mbContainsPageField is true, else it is 0 + sal_Int16 mnLastPageNumber; + + // remember last PageCount for which a decomposition was made. This is only used + // when mbContainsPageCountField is true, else it is 0 + sal_Int16 mnLastPageCount; + + // #i101443# remember last TextBackgroundColor to decide if a new decomposition is + // needed because of background color change + Color maLastTextBackgroundColor; + // bitfield // remember if last decomposition was with or without spell checker. In this special // case the get2DDecomposition implementation has to take care of this aspect. This is @@ -75,6 +89,8 @@ namespace drawinglayer // is there a PageNumber, Header, Footer or DateTimeField used? Evaluated at construction unsigned mbContainsPageField : 1; + unsigned mbContainsPageCountField : 1; + unsigned mbContainsOtherFields : 1; protected: // support for XTEXT_PAINTSHAPE_BEGIN/XTEXT_PAINTSHAPE_END Metafile comments @@ -85,11 +101,11 @@ namespace drawinglayer public: SdrTextPrimitive2D( - const SdrText& rSdrText, + const SdrText* pSdrText, const OutlinerParaObject& rOutlinerParaObjectPtr); // get data - const SdrText& getSdrText() const { return mrSdrText; } + const SdrText* getSdrText() const { return mrSdrText.get(); } const OutlinerParaObject& getOutlinerParaObject() const { return maOutlinerParaObject; } // compare operator @@ -100,7 +116,7 @@ namespace drawinglayer virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; // transformed clone operator - virtual SdrTextPrimitive2D* createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const = 0; + virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const = 0; }; } // end of namespace primitive2d } // end of namespace drawinglayer @@ -114,8 +130,11 @@ namespace drawinglayer class SdrContourTextPrimitive2D : public SdrTextPrimitive2D { private: - ::basegfx::B2DPolyPolygon maUnitPolyPolygon; // unit contour polygon (scaled to [0.0 .. 1.0]) - ::basegfx::B2DHomMatrix maObjectTransform; // complete contour polygon transform (scale, rotate, shear, translate) + // unit contour polygon (scaled to [0.0 .. 1.0]) + basegfx::B2DPolyPolygon maUnitPolyPolygon; + + // complete contour polygon transform (scale, rotate, shear, translate) + basegfx::B2DHomMatrix maObjectTransform; protected: // local decomposition. @@ -123,20 +142,20 @@ namespace drawinglayer public: SdrContourTextPrimitive2D( - const SdrText& rSdrText, + const SdrText* pSdrText, const OutlinerParaObject& rOutlinerParaObjectPtr, - const ::basegfx::B2DPolyPolygon& rUnitPolyPolygon, - const ::basegfx::B2DHomMatrix& rObjectTransform); + const basegfx::B2DPolyPolygon& rUnitPolyPolygon, + const basegfx::B2DHomMatrix& rObjectTransform); // get data - const ::basegfx::B2DPolyPolygon& getUnitPolyPolygon() const { return maUnitPolyPolygon; } - const ::basegfx::B2DHomMatrix& getObjectTransform() const { return maObjectTransform; } + const basegfx::B2DPolyPolygon& getUnitPolyPolygon() const { return maUnitPolyPolygon; } + const basegfx::B2DHomMatrix& getObjectTransform() const { return maObjectTransform; } // compare operator virtual bool operator==(const BasePrimitive2D& rPrimitive) const; // transformed clone operator - virtual SdrTextPrimitive2D* createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const; + virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const; // provide unique ID DeclPrimitrive2DIDBlock() @@ -153,7 +172,11 @@ namespace drawinglayer class SdrPathTextPrimitive2D : public SdrTextPrimitive2D { private: - ::basegfx::B2DPolyPolygon maPathPolyPolygon; // the path to use. Each paragraph will use one Polygon. + // the path to use. Each paragraph will use one Polygon. + basegfx::B2DPolyPolygon maPathPolyPolygon; + + // the Fontwork parameters + attribute::SdrFormTextAttribute maSdrFormTextAttribute; protected: // local decomposition. @@ -161,18 +184,20 @@ namespace drawinglayer public: SdrPathTextPrimitive2D( - const SdrText& rSdrText, + const SdrText* pSdrText, const OutlinerParaObject& rOutlinerParaObjectPtr, - const ::basegfx::B2DPolyPolygon& rPathPolyPolygon); + const basegfx::B2DPolyPolygon& rPathPolyPolygon, + const attribute::SdrFormTextAttribute& rSdrFormTextAttribute); // get data - const ::basegfx::B2DPolyPolygon& getPathPolyPolygon() const { return maPathPolyPolygon; } + const basegfx::B2DPolyPolygon& getPathPolyPolygon() const { return maPathPolyPolygon; } + const attribute::SdrFormTextAttribute& getSdrFormTextAttribute() const { return maSdrFormTextAttribute; } // compare operator virtual bool operator==(const BasePrimitive2D& rPrimitive) const; // transformed clone operator - virtual SdrTextPrimitive2D* createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const; + virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const; // provide unique ID DeclPrimitrive2DIDBlock() @@ -189,7 +214,8 @@ namespace drawinglayer class SdrBlockTextPrimitive2D : public SdrTextPrimitive2D { private: - ::basegfx::B2DHomMatrix maTextRangeTransform; // text range transformation from unit range ([0.0 .. 1.0]) to text range + // text range transformation from unit range ([0.0 .. 1.0]) to text range + basegfx::B2DHomMatrix maTextRangeTransform; // bitfield unsigned mbUnlimitedPage : 1; // force layout with no text break @@ -202,9 +228,9 @@ namespace drawinglayer public: SdrBlockTextPrimitive2D( - const SdrText& rSdrText, + const SdrText* pSdrText, const OutlinerParaObject& rOutlinerParaObjectPtr, - const ::basegfx::B2DHomMatrix& rTextRangeTransform, + const basegfx::B2DHomMatrix& rTextRangeTransform, bool bUnlimitedPage, bool bCellText, bool bWordWrap); @@ -219,7 +245,7 @@ namespace drawinglayer virtual bool operator==(const BasePrimitive2D& rPrimitive) const; // transformed clone operator - virtual SdrTextPrimitive2D* createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const; + virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const; // provide unique ID DeclPrimitrive2DIDBlock() @@ -236,7 +262,8 @@ namespace drawinglayer class SdrStretchTextPrimitive2D : public SdrTextPrimitive2D { private: - ::basegfx::B2DHomMatrix maTextRangeTransform; // text range transformation from unit range ([0.0 .. 1.0]) to text range + // text range transformation from unit range ([0.0 .. 1.0]) to text range + basegfx::B2DHomMatrix maTextRangeTransform; protected: // local decomposition. @@ -244,18 +271,18 @@ namespace drawinglayer public: SdrStretchTextPrimitive2D( - const SdrText& rSdrText, + const SdrText* pSdrText, const OutlinerParaObject& rOutlinerParaObjectPtr, - const ::basegfx::B2DHomMatrix& rTextRangeTransform); + const basegfx::B2DHomMatrix& rTextRangeTransform); // get data - const ::basegfx::B2DHomMatrix& getTextRangeTransform() const { return maTextRangeTransform; } + const basegfx::B2DHomMatrix& getTextRangeTransform() const { return maTextRangeTransform; } // compare operator virtual bool operator==(const BasePrimitive2D& rPrimitive) const; // transformed clone operator - virtual SdrTextPrimitive2D* createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const; + virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const; // provide unique ID DeclPrimitrive2DIDBlock() diff --git a/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx b/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx index d7dbf9f4ad9c..d1b857f510c3 100644 --- a/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx +++ b/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx @@ -52,6 +52,13 @@ #define PRIMITIVE2D_ID_SDRSTRETCHTEXTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_SVX| 13) #define PRIMITIVE2D_ID_SDRCELLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_SVX| 14) #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_OVERLAYHELPLINESTRIPEDPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 19) +#define PRIMITIVE2D_ID_OVERLAYROLLINGRECTANGLEPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 20) +#define PRIMITIVE2D_ID_SDRCONTROLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_SVX| 21) +#define PRIMITIVE2D_ID_SDROLECONTENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_SVX| 22) ////////////////////////////////////////////////////////////////////////////// diff --git a/svx/inc/svx/sdr/properties/properties.hxx b/svx/inc/svx/sdr/properties/properties.hxx index d8b374a18042..2c4512236cb7 100644 --- a/svx/inc/svx/sdr/properties/properties.hxx +++ b/svx/inc/svx/sdr/properties/properties.hxx @@ -184,6 +184,11 @@ namespace sdr // ClearItemAndBroadcast() and SetItemSetAndBroadcast(), see above. // But also from inside SdrObjects. void BroadcastItemChange(const ItemChangeBroadcaster& rChange); + + // #i101556# add versioning mechanism; used from e.g. text attribute set to + // allow detection of e.g. style sheet or single text attribute changes. The + // default implementation returns 0 (zero) + virtual sal_uInt32 getVersion() const; }; } // end of namespace properties } // end of namespace sdr diff --git a/svx/inc/svx/sdr/properties/textproperties.hxx b/svx/inc/svx/sdr/properties/textproperties.hxx index 424b76ba7610..77a19818f55a 100644 --- a/svx/inc/svx/sdr/properties/textproperties.hxx +++ b/svx/inc/svx/sdr/properties/textproperties.hxx @@ -42,6 +42,10 @@ namespace sdr { class SVX_DLLPUBLIC TextProperties : public AttributeProperties { + private: + // #i101556# versioning support + sal_uInt32 maVersion; + protected: // create a new itemset virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); @@ -82,6 +86,9 @@ namespace sdr // Set single item at the local ItemSet. *Does not use* AllowItemChange(), // ItemChange(), PostItemChange() and ItemSetChanged() calls. void SetObjectItemNoBroadcast(const SfxPoolItem& rItem); + + // #i101556# versioning support + virtual sal_uInt32 getVersion() const; }; } // end of namespace properties } // end of namespace sdr diff --git a/svx/inc/svx/sdr/overlay/overlaysdrobject.hxx b/svx/inc/svx/sdrhittesthelper.hxx index d5c8f7ba6ba6..037f7fa813a5 100644 --- a/svx/inc/svx/sdr/overlay/overlaysdrobject.hxx +++ b/svx/inc/svx/sdrhittesthelper.hxx @@ -6,8 +6,8 @@ * * OpenOffice.org - a multi-platform office productivity suite * - * $RCSfile: overlaysdrobject.hxx,v $ - * $Revision: 1.4 $ + * $RCSfile: svdetc.hxx,v $ + * $Revision: 1.4.152.1 $ * * This file is part of OpenOffice.org. * @@ -28,47 +28,54 @@ * ************************************************************************/ -#ifndef _SDR_OVERLAY_OVERLAYSDROBJECT_HXX -#define _SDR_OVERLAY_OVERLAYSDROBJECT_HXX +#ifndef _SDRHITTESTHELPER_HXX +#define _SDRHITTESTHELPER_HXX -#include <svx/sdr/overlay/overlayobject.hxx> +#include "svx/svxdllapi.h" +#include <tools/string.hxx> +#include <tools/gen.hxx> -////////////////////////////////////////////////////////////////////////////// -// predeclarations -class SdrObject; +///////////////////////////////////////////////////////////////////// +// #i101872# new Object HitTest as View-tooling -////////////////////////////////////////////////////////////////////////////// +class SdrObject; +class SdrPageView; +class SetOfByte; +class SdrObjList; +namespace sdr { namespace contact { class ViewObjectContact; }} +namespace basegfx { class B2DPoint; } -namespace sdr -{ - namespace overlay - { - class SVX_DLLPUBLIC OverlaySdrObject : public OverlayObjectWithBasePosition - { - protected: - // the SdrObject to show - const SdrObject& mrSdrObject; +///////////////////////////////////////////////////////////////////// +// Wrappers for classic Sdr* Mode/View classes - // Draw geometry - virtual void drawGeometry(OutputDevice& rOutputDevice); +SVX_DLLPUBLIC SdrObject* SdrObjectPrimitiveHit( + const SdrObject& rObject, + const Point& rPnt, + sal_uInt16 nTol, + const SdrPageView& rSdrPageView, + const SetOfByte* pVisiLayer, + bool bTextOnly); - // Create the BaseRange. This method needs to calculate maBaseRange. - virtual void createBaseRange(OutputDevice& rOutputDevice); +SVX_DLLPUBLIC SdrObject* SdrObjListPrimitiveHit( + const SdrObjList& rList, + const Point& rPnt, + sal_uInt16 nTol, + const SdrPageView& rSdrPageView, + const SetOfByte* pVisiLayer, + bool bTextOnly); - // Hittest with logical coordinates. Default tests against maBaseRange. - virtual sal_Bool isHit(const basegfx::B2DPoint& rPos, double fTol = 0.0) const; +///////////////////////////////////////////////////////////////////// +// the pure HitTest based on a VOC - public: - OverlaySdrObject( - const basegfx::B2DPoint& rBasePos, - const SdrObject& rObject); - virtual ~OverlaySdrObject(); - }; - } // end of namespace overlay -} // end of namespace sdr +SVX_DLLPUBLIC bool ViewObjectContactPrimitiveHit( + const sdr::contact::ViewObjectContact& rVOC, + const basegfx::B2DPoint& rHitPosition, + double fLogicHitTolerance, + bool bTextOnly); -////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////// -#endif //_SDR_OVERLAY_OVERLAYSDROBJECT_HXX +#endif //_SDRHITTESTHELPER_HXX +///////////////////////////////////////////////////////////////////// // eof diff --git a/svx/inc/svx/sdtfchim.hxx b/svx/inc/svx/sdtfchim.hxx index e52296dfe579..d8fa20507980 100644 --- a/svx/inc/svx/sdtfchim.hxx +++ b/svx/inc/svx/sdtfchim.hxx @@ -32,28 +32,28 @@ #include <svx/svddef.hxx> -class SdrTextFixedCellHeightItem : public SfxBoolItem +class SVX_DLLPUBLIC SdrTextFixedCellHeightItem : public SfxBoolItem { public: TYPEINFO(); SdrTextFixedCellHeightItem( BOOL bUseFixedCellHeight = FALSE ); - SdrTextFixedCellHeightItem( SvStream & rStream, sal_uInt16 nVersion ); + SVX_DLLPRIVATE SdrTextFixedCellHeightItem( SvStream & rStream, sal_uInt16 nVersion ); - virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePresentation, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePresentation, SfxMapUnit eCoreMetric, SfxMapUnit ePresentationMetric, String &rText, const IntlWrapper * = 0) const; - virtual SfxPoolItem* Create( SvStream&, sal_uInt16 nItem ) const; - virtual SvStream& Store( SvStream&, sal_uInt16 nVersion ) const; - virtual SfxPoolItem* Clone( SfxItemPool* pPool = NULL ) const; - virtual sal_uInt16 GetVersion( sal_uInt16 nFileFormatVersion ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream&, sal_uInt16 nItem ) const; + SVX_DLLPRIVATE virtual SvStream& Store( SvStream&, sal_uInt16 nVersion ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = NULL ) const; + SVX_DLLPRIVATE virtual sal_uInt16 GetVersion( sal_uInt16 nFileFormatVersion ) const; - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); #ifdef SDR_ISPOOLABLE - virtual int IsPoolable() const; + SVX_DLLPRIVATE virtual int IsPoolable() const; #endif }; diff --git a/svx/inc/svx/svdedxv.hxx b/svx/inc/svx/svdedxv.hxx index ccfc74ab00af..17333ad74459 100644 --- a/svx/inc/svx/svdedxv.hxx +++ b/svx/inc/svx/svdedxv.hxx @@ -130,9 +130,6 @@ protected: void ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectangle& rRect) const; void ImpInvalidateOutlinerView(OutlinerView& rOutlView) const; - // Hintergrundfarbe fuer die Outlinerviews bestimmen - Color ImpGetTextEditBackgroundColor() const; - // Feststellen, ob der gesamte Text markiert ist. Liefert auch TRUE wenn // kein Text vorhanden ist. BOOL ImpIsTextEditAllSelected() const; diff --git a/svx/inc/svx/svdetc.hxx b/svx/inc/svx/svdetc.hxx index 40ece921f6a2..fb922a7d896c 100644 --- a/svx/inc/svx/svdetc.hxx +++ b/svx/inc/svx/svdetc.hxx @@ -81,7 +81,7 @@ friend class SdrAttrObj; Fraction aMapFraction; private: - SVX_DLLPRIVATE static SdrEngineDefaults& GetDefaults(); + static SdrEngineDefaults& GetDefaults(); public: SdrEngineDefaults(); @@ -272,7 +272,7 @@ protected: public: SdrLinkList(): aList(1024,4,4) {} ~SdrLinkList() { Clear(); } - void Clear(); + SVX_DLLPUBLIC void Clear(); unsigned GetLinkCount() const { return (unsigned)aList.Count(); } Link& GetLink(unsigned nNum) { return *((Link*)(aList.GetObject(nNum))); } const Link& GetLink(unsigned nNum) const { return *((Link*)(aList.GetObject(nNum))); } @@ -299,7 +299,7 @@ class OLEObjCache : public Container public: OLEObjCache(); - ~OLEObjCache(); + SVX_DLLPUBLIC ~OLEObjCache(); void SetSize(ULONG nNewSize); void InsertObj(SdrOle2Obj* pObj); @@ -344,8 +344,12 @@ SVX_DLLPUBLIC String GetResourceString(sal_uInt16 nResID); } +///////////////////////////////////////////////////////////////////// +// #i101872# isolated GetTextEditBackgroundColor for tooling +class SdrObjEditView; + +SVX_DLLPUBLIC Color GetTextEditBackgroundColor(const SdrObjEditView& rView); ///////////////////////////////////////////////////////////////////// #endif //_SVDETC_HXX - diff --git a/svx/inc/svx/svdhdl.hxx b/svx/inc/svx/svdhdl.hxx index ab4abfdd7458..11d400b85b8a 100644 --- a/svx/inc/svx/svdhdl.hxx +++ b/svx/inc/svx/svdhdl.hxx @@ -245,7 +245,7 @@ public: sal_uInt32 GetSourceHdlNum() const { return nSourceHdlNum; } virtual Pointer GetPointer() const; - virtual bool IsHdlHit(const Point& rPnt) const; + bool IsHdlHit(const Point& rPnt) const; // #97016# II virtual BOOL IsFocusHdl() const; @@ -363,7 +363,6 @@ public: virtual ~SdrHdlLine(); virtual Pointer GetPointer() const; - virtual bool IsHdlHit(const Point& rPnt) const; }; // Ein SdrHdlBezWgt hat Kenntnis von seinem "BasisHandle". Seine Draw-Methode diff --git a/svx/inc/svx/svdmodel.hxx b/svx/inc/svx/svdmodel.hxx index 34c16511aacb..2873b77ac2ea 100644 --- a/svx/inc/svx/svdmodel.hxx +++ b/svx/inc/svx/svdmodel.hxx @@ -689,7 +689,7 @@ public: void SetModelStorage( SotStorage* pStor ) { pModelStorage = pStor; } ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getUnoModel(); - void setUnoModel( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xModel ) { mxUnoModel = xModel; } + void setUnoModel( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xModel ); // these functions are used by the api to disable repaints during a // set of api calls. diff --git a/svx/inc/svx/svdmrkv.hxx b/svx/inc/svx/svdmrkv.hxx index c9a590feccc5..88d0b941273d 100644 --- a/svx/inc/svx/svdmrkv.hxx +++ b/svx/inc/svx/svdmrkv.hxx @@ -180,9 +180,8 @@ protected: void ForceUndirtyMrkPnt() const { if (bMrkPntDirty) UndirtyMrkPnt(); } //HMHvoid ImpShowMarkHdl(bool bNoRefHdl); - SdrObject* ImpCheckObjHit(const Point& rPnt, USHORT nTol, SdrObject* pObj, SdrPageView* pPV, ULONG nOptions, const SetOfByte* pMVisLay) const; - SdrObject* ImpCheckObjHit(const Point& rPnt, USHORT nTol, SdrObjList* pOL, SdrPageView* pPV, ULONG nOptions, const SetOfByte* pMVisLay, SdrObject*& rpRootObj) const; - BOOL ImpIsObjHit(const Point& rPnt, USHORT nTol, SdrObject* pObj, SdrPageView* pPV, ULONG nOptions) const { return ImpCheckObjHit(rPnt,nTol,pObj,pPV,nOptions,NULL)!=NULL; } + virtual SdrObject* CheckSingleSdrObjectHit(const Point& rPnt, USHORT nTol, SdrObject* pObj, SdrPageView* pPV, ULONG nOptions, const SetOfByte* pMVisLay) const; + virtual SdrObject* CheckSingleSdrObjectHit(const Point& rPnt, USHORT nTol, SdrObjList* pOL, SdrPageView* pPV, ULONG nOptions, const SetOfByte* pMVisLay, SdrObject*& rpRootObj) const; BOOL ImpIsFrameHandles() const; void ImpTakeDescriptionStr(USHORT nStrCacheID, String& rStr, USHORT nVal=0, USHORT nOpt=0) const; @@ -309,9 +308,9 @@ public: // SDRSEARCH_DEEP SDRSEARCH_ALSOONMASTER SDRSEARCH_TESTMARKABLE SDRSEARCH_TESTTEXTEDIT // SDRSEARCH_WITHTEXT SDRSEARCH_TESTTEXTAREA SDRSEARCH_BACKWARD SDRSEARCH_MARKED // SDRSEARCH_WHOLEPAGE - BOOL PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, ULONG nOptions, SdrObject** ppRootObj, ULONG* pnMarkNum=NULL, USHORT* pnPassNum=NULL) const; - BOOL PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, ULONG nOptions=0) const; - BOOL PickObj(const Point& rPnt, SdrObject*& rpObj, SdrPageView*& rpPV, ULONG nOptions=0) const { return PickObj(rPnt,nHitTolLog,rpObj,rpPV,nOptions); } + virtual BOOL PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, ULONG nOptions, SdrObject** ppRootObj, ULONG* pnMarkNum=NULL, USHORT* pnPassNum=NULL) const; + virtual BOOL PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, ULONG nOptions=0) const; + // BOOL PickObj(const Point& rPnt, SdrObject*& rpObj, SdrPageView*& rpPV, ULONG nOptions=0) const { return PickObj(rPnt,nHitTolLog,rpObj,rpPV,nOptions); } BOOL MarkObj(const Point& rPnt, short nTol=-2, BOOL bToggle=FALSE, BOOL bDeep=FALSE); // Pick: Unterstuetzte Optionen fuer nOptions sind SDRSEARCH_PASS2BOUND und SDRSEARCH_PASS3NEAREST diff --git a/svx/inc/svx/svdoashp.hxx b/svx/inc/svx/svdoashp.hxx index c1579cd583fe..faf1aa7055aa 100644 --- a/svx/inc/svx/svdoashp.hxx +++ b/svx/inc/svx/svdoashp.hxx @@ -105,7 +105,7 @@ private: // #i37011# render geometry shadow SdrObject* mpLastShadowGeometry; - static SVX_DLLPRIVATE com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeEngine > GetCustomShapeEngine( const SdrObjCustomShape* pCustomShape ); + static com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeEngine > GetCustomShapeEngine( const SdrObjCustomShape* pCustomShape ); // SVX_DLLPRIVATE com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeHandle > > // SdrObjCustomShape::GetInteraction( const SdrObjCustomShape* pCustomShape ) const; @@ -134,7 +134,7 @@ public: const SdrObject* GetSdrObjectShadowFromCustomShape() const; sal_Bool GetTextBounds( Rectangle& rTextBound ) const; sal_Bool IsTextPath() const; - static SVX_DLLPRIVATE basegfx::B2DPolyPolygon GetLineGeometry( const SdrObjCustomShape* pCustomShape, const sal_Bool bBezierAllowed ); + static basegfx::B2DPolyPolygon GetLineGeometry( const SdrObjCustomShape* pCustomShape, const sal_Bool bBezierAllowed ); protected: @@ -224,8 +224,6 @@ public: virtual void TakeTextAnchorRect( Rectangle& rAnchorRect ) const; virtual void TakeTextRect( SdrOutliner& rOutliner, Rectangle& rTextRect, FASTBOOL bNoEditText=FALSE, Rectangle* pAnchorRect=NULL, BOOL bLineWidth=TRUE ) const; - - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator=(const SdrObject& rObj); virtual void TakeObjNameSingul(String& rName) const; diff --git a/svx/inc/svx/svdoattr.hxx b/svx/inc/svx/svdoattr.hxx index 20b196443739..3bcce26ea45e 100644 --- a/svx/inc/svx/svdoattr.hxx +++ b/svx/inc/svx/svdoattr.hxx @@ -66,9 +66,6 @@ protected: // Strichstaerke ermitteln. Keine Linie -> 0. sal_Int32 ImpGetLineWdt() const; - // Schattenabstand ermitteln. FALSE=Kein Schatten. - FASTBOOL ImpGetShadowDist(sal_Int32& nXDist, sal_Int32& nYDist) const; - // Zuhoeren, ob sich ein StyleSheet aendert virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint); diff --git a/svx/inc/svx/svdobj.hxx b/svx/inc/svx/svdobj.hxx index cc5c9be64438..349bf49ccf06 100644 --- a/svx/inc/svx/svdobj.hxx +++ b/svx/inc/svx/svdobj.hxx @@ -683,20 +683,10 @@ public: // Tooling for painting a single object to a OutputDevice. This will be needed as long // as not all painting is changed to use DrawContact objects. sal_Bool SingleObjectPainter(OutputDevice& rOut) const; - BOOL LineGeometryUsageIsNecessary() const; - // HitTest, 2. Stufe. nTol ist die zulaessige Toleranz in logischen Einheiten. - // rVisiLayer ist hauptsaechlich fuer Gruppenobjekte gedacht, die ja Objekte - // mit unterschiedlichen Layerzuordnungen beinhalten koennen. - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; - //SdrObject* CheckHit(const Point& rPnt, USHORT nTol) const { return CheckHit(rPnt,nTol,NULL); } - sal_Bool IsHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const { return CheckHit(rPnt,nTol,pVisiLayer)!=NULL; } - sal_Bool IsHit(const Point& rPnt, USHORT nTol) const { return CheckHit(rPnt,nTol,NULL)!=NULL; } - // Clone() soll eine komplette Kopie des Objektes erzeugen. virtual SdrObject* Clone() const; - // #116235# virtual SdrObject* Clone(SdrPage* pPage, SdrModel* pModel) const; virtual void operator=(const SdrObject& rObj); // TakeObjName...() ist fuer die Anzeige in der UI, z.B. "3 Rahmen selektiert". @@ -878,10 +868,6 @@ public: // TextEdit virtual FASTBOOL HasTextEdit() const; - virtual SdrObject* CheckTextEditHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; - //SdrObject* CheckTextEditHit(const Point& rPnt, USHORT nTol) const { return CheckTextEditHit(rPnt,nTol,NULL); } - sal_Bool IsTextEditHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const { return CheckTextEditHit(rPnt,nTol,pVisiLayer)!=NULL; } - sal_Bool IsTextEditHit(const Point& rPnt, USHORT nTol) const { return CheckTextEditHit(rPnt,nTol,NULL)!=NULL; } // Return==TRUE: TextEditMode gestartet virtual sal_Bool BegTextEdit(SdrOutliner& rOutl); diff --git a/svx/inc/svx/svdocapt.hxx b/svx/inc/svx/svdocapt.hxx index 8e7860c204ce..37bfd5ed2f9b 100644 --- a/svx/inc/svx/svdocapt.hxx +++ b/svx/inc/svx/svdocapt.hxx @@ -99,7 +99,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator=(const SdrObject& rObj); // for calc: special shadow only for text box diff --git a/svx/inc/svx/svdocirc.hxx b/svx/inc/svx/svdocirc.hxx index db31996939af..3f6a589d2cd7 100644 --- a/svx/inc/svx/svdocirc.hxx +++ b/svx/inc/svx/svdocirc.hxx @@ -111,7 +111,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; diff --git a/svx/inc/svx/svdoedge.hxx b/svx/inc/svx/svdoedge.hxx index 9d2effc87c28..227afd9ab027 100644 --- a/svx/inc/svx/svdoedge.hxx +++ b/svx/inc/svx/svdoedge.hxx @@ -73,7 +73,7 @@ protected: public: SdrObjConnection() { ResetVars(); } - ~SdrObjConnection(); + SVX_DLLPUBLIC ~SdrObjConnection(); void ResetVars(); FASTBOOL TakeGluePoint(SdrGluePoint& rGP, FASTBOOL bSetAbsolutePos) const; @@ -252,7 +252,6 @@ public: virtual void RecalcSnapRect(); virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator=(const SdrObject& rObj); virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; diff --git a/svx/inc/svx/svdograf.hxx b/svx/inc/svx/svdograf.hxx index 4d464d5c9836..4f00da997361 100644 --- a/svx/inc/svx/svdograf.hxx +++ b/svx/inc/svx/svdograf.hxx @@ -180,7 +180,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; @@ -227,6 +226,9 @@ public: sal_Bool IsObjectTransparent() const; ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > getInputStream(); + + // #i103116# FullDrag support + virtual SdrObject* getFullDragClone() const; }; #endif //_SVDOGRAF_HXX diff --git a/svx/inc/svx/svdogrp.hxx b/svx/inc/svx/svdogrp.hxx index b6d2a4519db6..5f243d451f90 100644 --- a/svx/inc/svx/svdogrp.hxx +++ b/svx/inc/svx/svdogrp.hxx @@ -84,7 +84,6 @@ public: virtual const Rectangle& GetCurrentBoundRect() const; virtual const Rectangle& GetSnapRect() const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator=(const SdrObject& rObj); virtual void TakeObjNameSingul(String& rName) const; diff --git a/svx/inc/svx/svdomeas.hxx b/svx/inc/svx/svdomeas.hxx index 866fda1eff48..406c5badbcb0 100644 --- a/svx/inc/svx/svdomeas.hxx +++ b/svx/inc/svx/svdomeas.hxx @@ -105,7 +105,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator=(const SdrObject& rObj); virtual void TakeObjNameSingul(String& rName) const; @@ -153,7 +152,6 @@ public: Rectangle* pAnchorRect=NULL, BOOL bLineWidth=TRUE ) const; virtual void TakeTextAnchorRect(Rectangle& rAnchorRect) const; virtual void TakeTextEditArea(Size* pPaperMin, Size* pPaperMax, Rectangle* pViewInit, Rectangle* pViewMin) const; - virtual SdrObject* CheckTextEditHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual USHORT GetOutlinerViewAnchorMode() const; virtual void NbcSetOutlinerParaObject(OutlinerParaObject* pTextObject); virtual OutlinerParaObject* GetOutlinerParaObject() const; diff --git a/svx/inc/svx/svdoole2.hxx b/svx/inc/svx/svdoole2.hxx index a98acc6f0442..2b5a19f7b60b 100644 --- a/svx/inc/svx/svdoole2.hxx +++ b/svx/inc/svx/svdoole2.hxx @@ -145,7 +145,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; @@ -185,14 +184,8 @@ public: sal_Bool CalculateNewScaling( Fraction& aScaleWidth, Fraction& aScaleHeight, Size& aObjAreaSize ); sal_Bool AddOwnLightClient(); - // helper for ViewObjectContactOfSdrOle2Obj. As long as the OLE stuff is not - // reworked, the things the old Do_PaintObject did at this object need to be - // emulated. Isolated those things here. Return value tells if the object - // is active - bool executeOldDoPaintPreparations(SdrPageView* pPageVew) const; - // handy to get the empty replacement bitmap without accessing all the old stuff - Bitmap GetEmtyOLEReplacementBitmap() const; + static Bitmap GetEmtyOLEReplacementBitmap(); void SetWindow(const com::sun::star::uno::Reference < com::sun::star::awt::XWindow >& _xWindow); }; diff --git a/svx/inc/svx/svdopath.hxx b/svx/inc/svx/svdopath.hxx index a43b06ffd2ab..382f968f19b2 100644 --- a/svx/inc/svx/svdopath.hxx +++ b/svx/inc/svx/svdopath.hxx @@ -99,7 +99,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator=(const SdrObject& rObj); virtual void TakeObjNameSingul(String& rName) const; diff --git a/svx/inc/svx/svdorect.hxx b/svx/inc/svx/svdorect.hxx index 2f4a3a3120dc..d8b0d2767553 100644 --- a/svx/inc/svx/svdorect.hxx +++ b/svx/inc/svx/svdorect.hxx @@ -75,7 +75,6 @@ protected: protected: XPolygon ImpCalcXPoly(const Rectangle& rRect1, long nRad1) const; - SdrObject* ImpCheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer, FASTBOOL bForceFilled, FASTBOOL bForceTol=FALSE) const; void SetXPolyDirty(); // RecalcXPoly sollte ueberladen werden. Dabei muss dann eine XPolygon @@ -103,7 +102,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; diff --git a/svx/inc/svx/svdotable.hxx b/svx/inc/svx/svdotable.hxx index 04348306a7de..a524ce757898 100644 --- a/svx/inc/svx/svdotable.hxx +++ b/svx/inc/svx/svdotable.hxx @@ -226,7 +226,6 @@ public: virtual FASTBOOL AdjustTextFrameWidthAndHeight(Rectangle& rR, FASTBOOL bHgt=TRUE, FASTBOOL bWdt=TRUE) const; virtual FASTBOOL AdjustTextFrameWidthAndHeight(FASTBOOL bHgt=TRUE, FASTBOOL bWdt=TRUE); - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; virtual void operator=(const SdrObject& rObj); diff --git a/svx/inc/svx/svdotext.hxx b/svx/inc/svx/svdotext.hxx index 080e20fd1a77..5298fc2dd79b 100644 --- a/svx/inc/svx/svdotext.hxx +++ b/svx/inc/svx/svdotext.hxx @@ -259,7 +259,7 @@ protected: // Flag for allowing text animation. Default is sal_true. BOOL mbTextAnimationAllowed : 1; - SVX_DLLPRIVATE SdrOutliner& ImpGetDrawOutliner() const; + SdrOutliner& ImpGetDrawOutliner() const; private: SVX_DLLPRIVATE void ImpCheckMasterCachable(); @@ -272,14 +272,14 @@ private: Rectangle& rAnchorRect, Rectangle& rPaintRect, Fraction& aFitXKorreg ) const; - SVX_DLLPRIVATE SdrObject* ImpConvertObj(FASTBOOL bToPoly) const; + SVX_DLLPRIVATE SdrObject* ImpConvertContainedTextToSdrPathObjs(bool bToPoly) const; SVX_DLLPRIVATE void ImpLinkAnmeldung(); SVX_DLLPRIVATE void ImpLinkAbmeldung(); SVX_DLLPRIVATE ImpSdrObjTextLinkUserData* GetLinkUserData() const; // void ImpCheckItemSetChanges(const SfxItemSet& rAttr); protected: - FASTBOOL ImpCanConvTextToCurve() const { return GetOutlinerParaObject()!=NULL && pModel!=NULL && !IsOutlText() && !IsFontwork(); } + bool ImpCanConvTextToCurve() const; SdrObject* ImpConvertMakeObj(const basegfx::B2DPolyPolygon& rPolyPolygon, sal_Bool bClosed, sal_Bool bBezier, sal_Bool bNoSetAttr = sal_False) const; SdrObject* ImpConvertAddText(SdrObject* pObj, FASTBOOL bBezier) const; void ImpSetTextStyleSheetListeners(); @@ -430,7 +430,6 @@ public: // Wird zur Bestimmung des Textankerbereichs benoetigt virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void TakeObjNameSingul(String& rName) const; virtual void TakeObjNamePlural(String& rName) const; virtual void operator=(const SdrObject& rObj); @@ -472,7 +471,6 @@ public: virtual sal_Bool BegTextEdit(SdrOutliner& rOutl); virtual void TakeTextEditArea(Size* pPaperMin, Size* pPaperMax, Rectangle* pViewInit, Rectangle* pViewMin) const; virtual void EndTextEdit(SdrOutliner& rOutl); - virtual SdrObject* CheckTextEditHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual USHORT GetOutlinerViewAnchorMode() const; void StartTextAnimation(OutputDevice* pOutDev, const Point& rOffset, long nExtraData=0L); diff --git a/svx/inc/svx/svdouno.hxx b/svx/inc/svx/svdouno.hxx index b366c50cfc84..83019f6b1cc5 100644 --- a/svx/inc/svx/svdouno.hxx +++ b/svx/inc/svx/svdouno.hxx @@ -90,7 +90,6 @@ public: virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const; virtual UINT16 GetObjIdentifier() const; - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual void operator = (const SdrObject& rObj); virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact); diff --git a/svx/inc/svx/svdovirt.hxx b/svx/inc/svx/svdovirt.hxx index d7010cd40b48..190576fc68c6 100644 --- a/svx/inc/svx/svdovirt.hxx +++ b/svx/inc/svx/svdovirt.hxx @@ -83,7 +83,6 @@ public: virtual const Rectangle& GetLastBoundRect() const; virtual void RecalcBoundRect(); virtual void SetChanged(); - virtual SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const; virtual SdrObject* Clone() const; virtual void operator=(const SdrObject& rObj); diff --git a/svx/inc/svx/svdpage.hxx b/svx/inc/svx/svdpage.hxx index d817ede41406..6f2753c4e896 100644 --- a/svx/inc/svx/svdpage.hxx +++ b/svx/inc/svx/svdpage.hxx @@ -132,9 +132,7 @@ friend class SdrEditView; FASTBOOL bRectsDirty; protected: virtual void RecalcRects(); -//#if 0 // _SOLAR__PRIVATE - FASTBOOL ImpGetFillColor(SdrObject* pObj, Color& rCol) const; -//#endif // __PRIVATE + private: /// simple ActionChildInserted forwarder to have it on a central place void impChildInserted(SdrObject& rChild) const; @@ -188,12 +186,6 @@ public: const Rectangle& GetAllObjSnapRect() const; const Rectangle& GetAllObjBoundRect() const; - // HitTest auf alle Objekte der Liste - SdrObject* CheckHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer, FASTBOOL bBackward=FALSE) const; - SdrObject* CheckHit(const Point& rPnt, USHORT nTol, FASTBOOL bBackward=FALSE) const { return CheckHit(rPnt,nTol,NULL,bBackward); } - FASTBOOL IsHit(const Point& rPnt, USHORT nTol, const SetOfByte* pVisiLayer) const { return CheckHit(rPnt,nTol,pVisiLayer)!=NULL; } - FASTBOOL IsHit(const Point& rPnt, USHORT nTol) const { return CheckHit(rPnt,nTol)!=NULL; } // #i24906# - // Alle Textobjekte neu formatieren, z.B. bei Druckerwechsel void NbcReformatAllTextObjects(); void ReformatAllTextObjects(); @@ -204,14 +196,6 @@ public: // Die Vorlagenattribute der Zeichenobjekte in harte Attribute verwandeln. void BurnInStyleSheetAttributes(); - // Bestimmung der FuellFarbe an einer bestimmten Position. - // FALSE=Kein Objekt mit FuellFarbe an dieser Position gefunden. - // rVisLayers gibt die zu durchsuchenden Layer an. - // bLayerSorted: TRUE=Es wird in der Reihenfolge der Layer gesucht (ni) - // rCol: Hier wird die gefundene Farbe zurueckgegeben - FASTBOOL GetFillColor(const Point& rPnt, const SetOfByte& rVisLayers, - /* FASTBOOL bLayerSorted, */ Color& rCol) const; - ULONG GetObjCount() const; SdrObject* GetObj(ULONG nNum) const; @@ -444,10 +428,6 @@ friend class ChXChartDocument; // this is a weak reference to a possible living api wrapper for this page ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxUnoPage; - // #108867# used by GetFillColor - FASTBOOL ImplGetFillColor(const Point& rPnt, const SetOfByte& rVisLayers, - /* FASTBOOL bLayerSorted, */ Color& rCol, FASTBOOL bSkipBackgroundShape) const; - protected: SdrLayerAdmin* pLayerAdmin; SdrObject* pBackgroundObj; @@ -530,15 +510,6 @@ public: const SdrLayerAdmin& GetLayerAdmin() const { return *pLayerAdmin; } SdrLayerAdmin& GetLayerAdmin() { return *pLayerAdmin; } - // Bestimmung der FuellFarbe an einer bestimmten Position. - // FALSE=Kein Objekt mit FuellFarbe an dieser Position gefunden. - // rVisLayers gibt die zu durchsuchenden Layer an. - // bLayerSorted: TRUE=Es wird in der Reihenfolge der Layer gesucht (ni) - // rCol: Hier wird die gefundene Farbe zurueckgegeben - // Auch MasterPages werden durchsucht. - FASTBOOL GetFillColor(const Point& rPnt, const SetOfByte& rVisLayers, - /*FASTBOOL bLayerSorted,*/ Color& rCol) const; - // GetBitmap und GetMetafile sind noch nicht implementiert. // Bitmap in Bildschirmaufloesung und -farbtiefe aus den Objekten der // Page erzeugen. diff --git a/svx/inc/svx/svdpntv.hxx b/svx/inc/svx/svdpntv.hxx index dcdbe7fc1c8f..48523dc97c3b 100644 --- a/svx/inc/svx/svdpntv.hxx +++ b/svx/inc/svx/svdpntv.hxx @@ -109,7 +109,7 @@ namespace sdr //////////////////////////////////////////////////////////////////////////////////////////////////// -class SvxViewHint : public SfxHint +class SVX_DLLPUBLIC SvxViewHint : public SfxHint { public: enum HintType { SVX_HINT_VIEWCHANGED }; @@ -319,6 +319,10 @@ public: void SetHitTolerancePixel(USHORT nVal) { nHitTolPix=nVal; TheresNewMapMode(); } USHORT GetHitTolerancePixel() const { return (USHORT)nHitTolPix; } + // data read access on logic HitTolerance and MinMoveTolerance + USHORT getHitTolLog() const { return nHitTolLog; } + USHORT getMinMovLog() const { return nMinMovLog; } + // Flag zur Visualisierung von Gruppen abfragen/testen BOOL DoVisualizeEnteredGroup() const { return bVisualizeEnteredGroup; } void SetVisualizeEnteredGroup(BOOL bNew) { bVisualizeEnteredGroup = bNew; } @@ -559,35 +563,6 @@ public: // #103911# Set document color for svx at SdrPageViews void SetApplicationDocumentColor(Color aDocumentColor); - /** Determine typical background color for given area on given page - - This method calculates a single representative color for the - given rectangular area. This is accomplished by sampling from - various points within that area, and calculating a weighted - mean value of those samples. High contrast settings are - respected by this method, i.e. in high contrast mode, - svtools::DOCCOLOR is used as the background color. - - @attention For some cases, such as highly structured - background or huge color ranges spanned by the background, - this method cannot yield meaningful results, as the background - simply cannot be represented by a single color. Beware. - - @param rArea - Rectangular area to determine representative background color from - - @param rVisibleLayers - Set of layers visible when calculating the background color - - @param rCurrPage - Current page for which to determine background color on - - @return a representative background color. - */ - Color CalcBackgroundColor( const Rectangle& rArea, - const SetOfByte& rVisibleLayers, - const SdrPage& rCurrPage ) const; - // #i38135# // Sets the timer for Object animations and restarts. void SetAnimationTimer(sal_uInt32 nTime); diff --git a/svx/inc/svx/svdtext.hxx b/svx/inc/svx/svdtext.hxx index 24e4d651cf50..d745bbe170de 100644 --- a/svx/inc/svx/svdtext.hxx +++ b/svx/inc/svx/svdtext.hxx @@ -33,6 +33,7 @@ #include <sal/types.h> #include "svx/svxdllapi.h" +#include <tools/weakbase.hxx> // -------------------------------------------------------------------- @@ -49,7 +50,7 @@ namespace sdr { namespace properties { /** This class stores information about one text inside a shape. */ -class SVX_DLLPUBLIC SdrText +class SVX_DLLPUBLIC SdrText : public tools::WeakBase< SdrText > { public: SdrText( SdrTextObj& rObject, OutlinerParaObject* pOutlinerParaObject = 0 ); diff --git a/svx/inc/svx/svdundo.hxx b/svx/inc/svx/svdundo.hxx index 1b8c0f76b8b2..717b1a070c6f 100644 --- a/svx/inc/svx/svdundo.hxx +++ b/svx/inc/svx/svdundo.hxx @@ -484,6 +484,35 @@ public: virtual bool CanSdrRepeat(SdrView& rView) const; }; +// --> OD 2009-07-09 #i73249# +class SdrUndoObjStrAttr : public SdrUndoObj +{ +public: + enum ObjStrAttrType + { + OBJ_NAME, + OBJ_TITLE, + OBJ_DESCRIPTION + }; + +protected: + const ObjStrAttrType meObjStrAttr; + const String msOldStr; + const String msNewStr; + +public: + SdrUndoObjStrAttr( SdrObject& rNewObj, + const ObjStrAttrType eObjStrAttr, + const String& sOldStr, + const String& sNewStr); + + virtual void Undo(); + virtual void Redo(); + + virtual String GetComment() const; +}; +// <-- + //////////////////////////////////////////////////////////////////////////////////////////////////// // // @@ @@@@ @@ @@ @@@@@ @@@@@ @@ -754,7 +783,7 @@ protected: SdrUndoPageMasterPage(SdrPage& rChangedPage); public: - virtual ~SdrUndoPageMasterPage(); + SVX_DLLPUBLIC virtual ~SdrUndoPageMasterPage(); }; //************************************************************ @@ -827,6 +856,13 @@ public: virtual SdrUndoAction* CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer ); virtual SdrUndoAction* CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText ); + // --> OD 2009-07-09 #i73249# + virtual SdrUndoAction* CreateUndoObjectStrAttr( SdrObject& rObject, + SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType, + String sOldStr, + String sNewStr ); + // <-- + // layer virtual SdrUndoAction* CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel); virtual SdrUndoAction* CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel); diff --git a/svx/inc/svx/svx3ditems.hxx b/svx/inc/svx/svx3ditems.hxx index a77a9c3f8459..e956edb69803 100644 --- a/svx/inc/svx/svx3ditems.hxx +++ b/svx/inc/svx/svx3ditems.hxx @@ -48,12 +48,12 @@ public: class Svx3DBackscaleItem : public SfxUInt16Item { public: - Svx3DBackscaleItem(sal_uInt16 nVal = 100); + SVX_DLLPUBLIC Svx3DBackscaleItem(sal_uInt16 nVal = 100); }; class Svx3DDepthItem : public SfxUInt32Item { public: - Svx3DDepthItem(sal_uInt32 nVal = 1000); + SVX_DLLPUBLIC Svx3DDepthItem(sal_uInt32 nVal = 1000); }; class SVX_DLLPUBLIC Svx3DHorizontalSegmentsItem : public SfxUInt32Item { @@ -63,12 +63,12 @@ public: class Svx3DVerticalSegmentsItem : public SfxUInt32Item { public: - Svx3DVerticalSegmentsItem(sal_uInt32 nVal = 24); + SVX_DLLPUBLIC Svx3DVerticalSegmentsItem(sal_uInt32 nVal = 24); }; class Svx3DEndAngleItem : public SfxUInt32Item { public: - Svx3DEndAngleItem(sal_uInt32 nVal = 3600); + SVX_DLLPUBLIC Svx3DEndAngleItem(sal_uInt32 nVal = 3600); }; class SVX_DLLPUBLIC Svx3DDoubleSidedItem : public SfxBoolItem { @@ -85,29 +85,29 @@ public: virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const; }; -class Svx3DNormalsKindItem : public SfxUInt16Item { +class SVX_DLLPUBLIC Svx3DNormalsKindItem : public SfxUInt16Item { public: Svx3DNormalsKindItem(sal_uInt16 nVal = 0); // use drawing::NormalsKind - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; }; class Svx3DNormalsInvertItem : public SfxBoolItem { public: - Svx3DNormalsInvertItem(BOOL bVal = 0); + SVX_DLLPUBLIC Svx3DNormalsInvertItem(BOOL bVal = 0); }; -class Svx3DTextureProjectionXItem : public SfxUInt16Item { +class SVX_DLLPUBLIC Svx3DTextureProjectionXItem : public SfxUInt16Item { public: Svx3DTextureProjectionXItem(sal_uInt16 nVal = 0); // use drawing::TextureProjectionMode - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; }; class SVX_DLLPUBLIC Svx3DTextureProjectionYItem : public SfxUInt16Item { @@ -122,7 +122,7 @@ public: class Svx3DShadow3DItem : public SfxBoolItem { public: - Svx3DShadow3DItem(BOOL bVal = 0); + SVX_DLLPUBLIC Svx3DShadow3DItem(BOOL bVal = 0); }; class Svx3DMaterialColorItem : public SvxColorItem { @@ -132,68 +132,68 @@ public: class Svx3DMaterialEmissionItem : public SvxColorItem { public: - Svx3DMaterialEmissionItem(const Color& rCol = Color(0x00000000)); + SVX_DLLPUBLIC Svx3DMaterialEmissionItem(const Color& rCol = Color(0x00000000)); }; class Svx3DMaterialSpecularItem : public SvxColorItem { public: - Svx3DMaterialSpecularItem(const Color& rCol = Color(0x00ffffff)); + SVX_DLLPUBLIC Svx3DMaterialSpecularItem(const Color& rCol = Color(0x00ffffff)); }; class Svx3DMaterialSpecularIntensityItem : public SfxUInt16Item { public: - Svx3DMaterialSpecularIntensityItem(sal_uInt16 nVal = 15); + SVX_DLLPUBLIC Svx3DMaterialSpecularIntensityItem(sal_uInt16 nVal = 15); }; -class Svx3DTextureKindItem : public SfxUInt16Item { +class SVX_DLLPUBLIC Svx3DTextureKindItem : public SfxUInt16Item { public: Svx3DTextureKindItem(sal_uInt16 nVal = 3); // use drawing::TextureKind - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; }; -class Svx3DTextureModeItem : public SfxUInt16Item { +class SVX_DLLPUBLIC Svx3DTextureModeItem : public SfxUInt16Item { public: Svx3DTextureModeItem(sal_uInt16 nVal = 2); // use drawing:TextureMode - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; }; class Svx3DTextureFilterItem : public SfxBoolItem { public: - Svx3DTextureFilterItem(BOOL bVal = 0); + SVX_DLLPUBLIC Svx3DTextureFilterItem(BOOL bVal = 0); }; // Svx3D _3DSCENE_ Items -class Svx3DPerspectiveItem : public SfxUInt16Item { +class SVX_DLLPUBLIC Svx3DPerspectiveItem : public SfxUInt16Item { public: Svx3DPerspectiveItem(sal_uInt16 nVal = (sal_uInt16)PR_PERSPECTIVE); // use drawing::ProjectionMode - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; }; class Svx3DDistanceItem : public SfxUInt32Item { public: - Svx3DDistanceItem(sal_uInt32 nVal = 100); + SVX_DLLPUBLIC Svx3DDistanceItem(sal_uInt32 nVal = 100); }; class Svx3DFocalLengthItem : public SfxUInt32Item { public: - Svx3DFocalLengthItem(sal_uInt32 nVal = 100); + SVX_DLLPUBLIC Svx3DFocalLengthItem(sal_uInt32 nVal = 100); }; class Svx3DTwoSidedLightingItem : public SfxBoolItem { public: - Svx3DTwoSidedLightingItem(BOOL bVal = 0); + SVX_DLLPUBLIC Svx3DTwoSidedLightingItem(BOOL bVal = 0); }; class SVX_DLLPUBLIC Svx3DLightcolor1Item : public SvxColorItem { @@ -323,17 +323,17 @@ public: class Svx3DShadowSlantItem : public SfxUInt16Item { public: - Svx3DShadowSlantItem(sal_uInt16 nVal = 0); + SVX_DLLPUBLIC Svx3DShadowSlantItem(sal_uInt16 nVal = 0); }; -class Svx3DShadeModeItem : public SfxUInt16Item { +class SVX_DLLPUBLIC Svx3DShadeModeItem : public SfxUInt16Item { public: Svx3DShadeModeItem(sal_uInt16 nVal = 2); // use drawing::ShadeMode - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const; }; ////////////////////////////////////////////////////////////////////////////// @@ -362,19 +362,19 @@ public: }; // #107245# Item to replace bExtrudeCloseFront and bLatheCloseFront -class Svx3DCloseFrontItem : public SfxBoolItem { +class SVX_DLLPUBLIC Svx3DCloseFrontItem : public SfxBoolItem { public: Svx3DCloseFrontItem(BOOL bVal = 1); - virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const; - virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const; + SVX_DLLPRIVATE virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const; }; // #107245# Item to replace bExtrudeCloseBack and bLatheCloseBack -class Svx3DCloseBackItem : public SfxBoolItem { +class SVX_DLLPUBLIC Svx3DCloseBackItem : public SfxBoolItem { public: Svx3DCloseBackItem(BOOL bVal = 1); - virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const; - virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const; + SVX_DLLPRIVATE virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const; }; #endif // _SVX3DITEMS_HXX diff --git a/svx/inc/svx/svxdlg.hxx b/svx/inc/svx/svxdlg.hxx index 233c7956f18a..e4b3b6152022 100644 --- a/svx/inc/svx/svxdlg.hxx +++ b/svx/inc/svx/svxdlg.hxx @@ -347,6 +347,13 @@ public: virtual sal_Int32 getColumns() const = 0; }; +class SvxAbstractInsRowColDlg : public VclAbstractDialog +{ +public: + virtual bool isInsertBefore() const = 0; + virtual sal_uInt16 getInsertCount() const = 0; +}; + //------------------------------------------------------------- class SVX_DLLPUBLIC SvxAbstractDialogFactory : public SfxAbstractDialogFactory @@ -543,6 +550,8 @@ public: virtual SvxAbstractSplittTableDialog* CreateSvxSplittTableDialog( Window* pParent, bool bIsTableVertical, long nMaxVertical, long nMaxHorizontal )=0; virtual SvxAbstractNewTableDialog* CreateSvxNewTableDialog( Window* pParent ) = 0; + + virtual SvxAbstractInsRowColDlg* CreateSvxInsRowColDlg( Window* pParent, bool bCol, ULONG nHelpId ) = 0; }; #endif diff --git a/svx/inc/svx/svxfont.hxx b/svx/inc/svx/svxfont.hxx index b0165d73f978..cab43c06628c 100644 --- a/svx/inc/svx/svxfont.hxx +++ b/svx/inc/svx/svxfont.hxx @@ -70,7 +70,8 @@ public: inline void SetCaseMap( const SvxCaseMap eNew ) { eCaseMap = eNew; } inline LanguageType GetLanguage() const { return eLang; } - inline void SetLanguage( const LanguageType eNewLan ) { eLang = eNewLan; } + inline void SetLanguage( const LanguageType eNewLan ) + { eLang = eNewLan; Font::SetLanguage(eNewLan); } // Is-Methoden: inline BOOL IsCaseMap() const { return SVX_CASEMAP_NOT_MAPPED != eCaseMap; } diff --git a/svx/inc/svx/svxids.hrc b/svx/inc/svx/svxids.hrc index d7c018bedaac..6019c3590d55 100644 --- a/svx/inc/svx/svxids.hrc +++ b/svx/inc/svx/svxids.hrc @@ -831,7 +831,11 @@ #define SID_OFASLOTS_START ( SID_SVX_START + 425 ) //#define SID_SD_AUTOPILOT ( SID_SVX_START + 425 ) -> sfxsids.hrc #define SID_AUTOPILOT SID_SD_AUTOPILOT -// 4 defines of Writer's old wizards have been removed here + +#define SID_TABLE_INSERT_COL_DLG ( SID_SVX_START + 426 ) +#define SID_TABLE_INSERT_ROW_DLG ( SID_SVX_START + 427 ) +#define SID_TABLE_PARAM_INSERT_AFTER ( SID_SVX_START + 428 ) + #define SID_TABLEDESIGN ( SID_SVX_START + 429 ) #define SID_MN_AUTOPILOT ( SID_SVX_START + 430 ) #define SID_GENERAL_OPTIONS ( SID_SVX_START + 432 ) diff --git a/svx/inc/svx/sxfiitm.hxx b/svx/inc/svx/sxfiitm.hxx index 27690098aad6..3228dee660e7 100644 --- a/svx/inc/svx/sxfiitm.hxx +++ b/svx/inc/svx/sxfiitm.hxx @@ -40,7 +40,7 @@ class SdrFractionItem: public SfxPoolItem { Fraction nValue; public: - TYPEINFO(); + TYPEINFO_VISIBILITY( SVX_DLLPUBLIC ); SdrFractionItem(USHORT nId=0): SfxPoolItem(nId) {} SdrFractionItem(USHORT nId, const Fraction& rVal): SfxPoolItem(nId), nValue(rVal) {} SdrFractionItem(USHORT nId, SvStream& rIn); diff --git a/svx/inc/svx/unoedsrc.hxx b/svx/inc/svx/unoedsrc.hxx index 3eafa5795893..a4777b6469b4 100644 --- a/svx/inc/svx/unoedsrc.hxx +++ b/svx/inc/svx/unoedsrc.hxx @@ -31,6 +31,8 @@ #ifndef _SVX_UNOEDSRC_HXX #define _SVX_UNOEDSRC_HXX +#include <com/sun/star/accessibility/TextSegment.hpp> + #include <tools/solar.h> #include <i18npool/lang.h> #include <tools/link.hxx> @@ -358,6 +360,36 @@ public: */ virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const = 0; + /** Query bounds of line in paragraph + + @param rStart [output param; 0 .. text_len] + The index in the paragraph text that belongs to the chara at the start of the line + + @param rEnd [output param; 0 .. text_len] + The index in the paragraph text that follows the last chara in the line + + @param nParagraph[0 .. n-1] + Index of paragraph to query line length in + + @param nLine[0 .. m-1] + Index of line in paragraph to query line length of + + */ + virtual void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const = 0; + + /** Query the line number for a index in the paragraphs text + + @param nPara[0 .. n-1] + Index of paragraph to query line length in + + @param nIndex[0 .. m-1] + Index of of the chara in the paragraph text + + @returns [0 .. k-1] + The line number of the chara in the paragraph + */ + virtual USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const = 0; + /** Delete given text range and reformat text @param rSelection diff --git a/svx/inc/svx/unofored.hxx b/svx/inc/svx/unofored.hxx index e912e5e4e593..a9c72f766a35 100644 --- a/svx/inc/svx/unofored.hxx +++ b/svx/inc/svx/unofored.hxx @@ -81,6 +81,8 @@ public: virtual sal_Bool GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const; virtual USHORT GetLineCount( USHORT nPara ) const; virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const; + virtual void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const; + virtual USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const; virtual sal_Bool Delete( const ESelection& ); virtual sal_Bool InsertText( const String&, const ESelection& ); virtual sal_Bool QuickFormatDoc( BOOL bFull=FALSE ); diff --git a/svx/inc/svx/unoforou.hxx b/svx/inc/svx/unoforou.hxx index 91ef33cae3b7..75adcc620a47 100644 --- a/svx/inc/svx/unoforou.hxx +++ b/svx/inc/svx/unoforou.hxx @@ -102,6 +102,8 @@ public: virtual sal_Bool GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const; virtual USHORT GetLineCount( USHORT nPara ) const; virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const; + virtual void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nPara, USHORT nLine ) const; + virtual USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const; virtual sal_Bool Delete( const ESelection& ); virtual sal_Bool InsertText( const String&, const ESelection& ); virtual sal_Bool QuickFormatDoc( BOOL bFull=FALSE ); diff --git a/svx/inc/svx/unoprov.hxx b/svx/inc/svx/unoprov.hxx index 319a587b59ff..ebe1e375f58c 100644 --- a/svx/inc/svx/unoprov.hxx +++ b/svx/inc/svx/unoprov.hxx @@ -166,7 +166,7 @@ namespace comphelper { class PropertySetInfo; } class SvxPropertySetInfoPool { public: - static comphelper::PropertySetInfo* getOrCreate( sal_Int32 nServiceId ) throw(); + SVX_DLLPUBLIC static comphelper::PropertySetInfo* getOrCreate( sal_Int32 nServiceId ) throw(); private: static comphelper::PropertySetInfo* mpInfos[SVXUNO_SERVICEID_LASTID+1]; diff --git a/svx/inc/svx/unoshtxt.hxx b/svx/inc/svx/unoshtxt.hxx index e8d8e2b76f6c..6027191d222e 100644 --- a/svx/inc/svx/unoshtxt.hxx +++ b/svx/inc/svx/unoshtxt.hxx @@ -35,9 +35,14 @@ #include <svx/unoedsrc.hxx> #include "svx/svxdllapi.h" -namespace com { namespace sun { namespace star { namespace uno { - class XInterface; -} } } } +namespace com { namespace sun { namespace star { + namespace uno { + class XInterface; + } + namespace accessibility { + struct TextSegment; + } +} } } class SvxTextForwarder; class SdrObject; @@ -80,7 +85,7 @@ public: // static sal_Bool hasLevels( const SdrObject* pObject ); - // the viewforwarder interface + // the SvxViewForwarder interface virtual BOOL IsValid() const; virtual Rectangle GetVisArea() const; virtual Point LogicToPixel( const Point&, const MapMode& ) const; diff --git a/svx/inc/svx/unotext.hxx b/svx/inc/svx/unotext.hxx index 1a5b446be144..63ce0a28b739 100644 --- a/svx/inc/svx/unotext.hxx +++ b/svx/inc/svx/unotext.hxx @@ -231,6 +231,8 @@ public: virtual sal_Bool GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const; virtual USHORT GetLineCount( USHORT nPara ) const; virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const; + virtual void GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const; + virtual USHORT GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const; virtual sal_Bool Delete( const ESelection& ); virtual sal_Bool InsertText( const String&, const ESelection& ); virtual sal_Bool QuickFormatDoc( BOOL bFull=FALSE ); @@ -673,9 +675,9 @@ public: }; -const SvxItemPropertySet* ImplGetSvxUnoOutlinerTextCursorSvxPropertySet(); -const SfxItemPropertyMapEntry* ImplGetSvxUnoOutlinerTextCursorPropertyMap(); -const SvxItemPropertySet* ImplGetSvxTextPortionSvxPropertySet(); -const SfxItemPropertyMapEntry* ImplGetSvxTextPortionPropertyMap(); +SVX_DLLPUBLIC const SvxItemPropertySet* ImplGetSvxUnoOutlinerTextCursorSvxPropertySet(); +SVX_DLLPUBLIC const SfxItemPropertyMapEntry* ImplGetSvxUnoOutlinerTextCursorPropertyMap(); +SVX_DLLPUBLIC const SvxItemPropertySet* ImplGetSvxTextPortionSvxPropertySet(); +SVX_DLLPUBLIC const SfxItemPropertyMapEntry* ImplGetSvxTextPortionPropertyMap(); #endif diff --git a/svx/inc/svx/xcolit.hxx b/svx/inc/svx/xcolit.hxx index 719ef1a48fc2..e8d041079652 100644 --- a/svx/inc/svx/xcolit.hxx +++ b/svx/inc/svx/xcolit.hxx @@ -48,7 +48,7 @@ class SVX_DLLPUBLIC XColorItem : public NameOrIndex public: TYPEINFO(); XColorItem() {} - XColorItem(USHORT nWhich, long nIndex, const Color& rTheColor); + XColorItem(USHORT nWhich, INT32 nIndex, const Color& rTheColor); virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); diff --git a/svx/inc/svx/xflbckit.hxx b/svx/inc/svx/xflbckit.hxx index 8f4de04218df..2744982b8639 100644 --- a/svx/inc/svx/xflbckit.hxx +++ b/svx/inc/svx/xflbckit.hxx @@ -46,13 +46,13 @@ public: TYPEINFO(); XFillBackgroundItem( BOOL bFill = FALSE ); - XFillBackgroundItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBackgroundItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = NULL ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = NULL ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; diff --git a/svx/inc/svx/xflbmpit.hxx b/svx/inc/svx/xflbmpit.hxx index ff15f038dcd3..42117613cba4 100644 --- a/svx/inc/svx/xflbmpit.hxx +++ b/svx/inc/svx/xflbmpit.hxx @@ -45,18 +45,18 @@ class SVX_DLLPUBLIC XFillBmpPosItem : public SfxEnumItem public: TYPEINFO(); XFillBmpPosItem( RECT_POINT eRP = RP_MM ); - XFillBmpPosItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpPosItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; - virtual USHORT GetValueCount() const; - RECT_POINT GetValue() const { return (RECT_POINT) SfxEnumItem::GetValue(); } + SVX_DLLPRIVATE virtual USHORT GetValueCount() const; + SVX_DLLPRIVATE RECT_POINT GetValue() const { return (RECT_POINT) SfxEnumItem::GetValue(); } }; diff --git a/svx/inc/svx/xflbmsli.hxx b/svx/inc/svx/xflbmsli.hxx index f57f4dc811d1..332bbf9792b7 100644 --- a/svx/inc/svx/xflbmsli.hxx +++ b/svx/inc/svx/xflbmsli.hxx @@ -45,12 +45,12 @@ class SVX_DLLPUBLIC XFillBmpSizeLogItem : public SfxBoolItem public: TYPEINFO(); XFillBmpSizeLogItem( BOOL bLog = TRUE ); - XFillBmpSizeLogItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpSizeLogItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; diff --git a/svx/inc/svx/xflbmsxy.hxx b/svx/inc/svx/xflbmsxy.hxx index c9da8290daa0..78263dd2c5e3 100644 --- a/svx/inc/svx/xflbmsxy.hxx +++ b/svx/inc/svx/xflbmsxy.hxx @@ -45,12 +45,12 @@ class SVX_DLLPUBLIC XFillBmpSizeXItem : public SfxMetricItem public: TYPEINFO(); XFillBmpSizeXItem( long nSizeX = 0 ); - XFillBmpSizeXItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpSizeXItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; @@ -58,7 +58,7 @@ public: // Dieses Item nimmt sowohl metrische als auch // Prozentwerte ( sind negativ ) auf; das muessen // wir hier beruecksichtigen - virtual FASTBOOL HasMetrics() const; + SVX_DLLPRIVATE virtual FASTBOOL HasMetrics() const; }; /************************************************************************* @@ -72,12 +72,12 @@ class SVX_DLLPUBLIC XFillBmpSizeYItem : public SfxMetricItem public: TYPEINFO(); XFillBmpSizeYItem( long nSizeY = 0 ); - XFillBmpSizeYItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpSizeYItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; @@ -85,7 +85,7 @@ public: // Dieses Item nimmt sowohl metrische als auch // Prozentwerte ( sind negativ ) auf; das muessen // wir hier beruecksichtigen - virtual FASTBOOL HasMetrics() const; + SVX_DLLPRIVATE virtual FASTBOOL HasMetrics() const; }; #endif diff --git a/svx/inc/svx/xflboxy.hxx b/svx/inc/svx/xflboxy.hxx index 6e9024399ef0..9f0c37f9b6b3 100644 --- a/svx/inc/svx/xflboxy.hxx +++ b/svx/inc/svx/xflboxy.hxx @@ -45,12 +45,12 @@ class SVX_DLLPUBLIC XFillBmpPosOffsetXItem : public SfxUInt16Item public: TYPEINFO(); XFillBmpPosOffsetXItem( USHORT nOffPosX = 0 ); - XFillBmpPosOffsetXItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpPosOffsetXItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; @@ -68,12 +68,12 @@ class SVX_DLLPUBLIC XFillBmpPosOffsetYItem : public SfxUInt16Item public: TYPEINFO(); XFillBmpPosOffsetYItem( USHORT nOffPosY = 0 ); - XFillBmpPosOffsetYItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpPosOffsetYItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; diff --git a/svx/inc/svx/xflbtoxy.hxx b/svx/inc/svx/xflbtoxy.hxx index e01eb79ff146..828435432bb1 100644 --- a/svx/inc/svx/xflbtoxy.hxx +++ b/svx/inc/svx/xflbtoxy.hxx @@ -45,12 +45,12 @@ class SVX_DLLPUBLIC XFillBmpTileOffsetXItem : public SfxUInt16Item public: TYPEINFO(); XFillBmpTileOffsetXItem( USHORT nOffX = 0 ); - XFillBmpTileOffsetXItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpTileOffsetXItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; @@ -68,12 +68,12 @@ class SVX_DLLPUBLIC XFillBmpTileOffsetYItem : public SfxUInt16Item public: TYPEINFO(); XFillBmpTileOffsetYItem( USHORT nOffX = 0 ); - XFillBmpTileOffsetYItem( SvStream& rIn ); + SVX_DLLPRIVATE XFillBmpTileOffsetYItem( SvStream& rIn ); - virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create( SvStream& rIn, USHORT nVer ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; diff --git a/svx/inc/svx/xflclit.hxx b/svx/inc/svx/xflclit.hxx index 72f7728c14ab..39a382bd5e60 100644 --- a/svx/inc/svx/xflclit.hxx +++ b/svx/inc/svx/xflclit.hxx @@ -46,7 +46,7 @@ class SVX_DLLPUBLIC XFillColorItem : public XColorItem public: TYPEINFO(); XFillColorItem() {} - XFillColorItem(long nIndex, const Color& rTheColor); + XFillColorItem(INT32 nIndex, const Color& rTheColor); XFillColorItem(const String& rName, const Color& rTheColor); XFillColorItem(SvStream& rIn); diff --git a/svx/inc/svx/xflftrit.hxx b/svx/inc/svx/xflftrit.hxx index d2c5ef8ef0b3..1e77f2a6d2e0 100644 --- a/svx/inc/svx/xflftrit.hxx +++ b/svx/inc/svx/xflftrit.hxx @@ -50,7 +50,7 @@ public: TYPEINFO(); XFillFloatTransparenceItem(); - XFillFloatTransparenceItem( long nIndex, const XGradient& rGradient, BOOL bEnable = TRUE ); + XFillFloatTransparenceItem( INT32 nIndex, const XGradient& rGradient, BOOL bEnable = TRUE ); XFillFloatTransparenceItem(const String& rName, const XGradient& rGradient, BOOL bEnable = TRUE ); XFillFloatTransparenceItem(SfxItemPool* pPool, const XGradient& rTheGradient, BOOL bEnable = TRUE ); XFillFloatTransparenceItem(SfxItemPool* pPool ); diff --git a/svx/inc/svx/xflgrit.hxx b/svx/inc/svx/xflgrit.hxx index f463dd8f6dae..fd0a7a202c81 100644 --- a/svx/inc/svx/xflgrit.hxx +++ b/svx/inc/svx/xflgrit.hxx @@ -47,7 +47,7 @@ class SVX_DLLPUBLIC XFillGradientItem : public NameOrIndex public: TYPEINFO(); XFillGradientItem() : NameOrIndex(XATTR_FILLGRADIENT, -1) {} - XFillGradientItem(long nIndex, const XGradient& rTheGradient); + XFillGradientItem(INT32 nIndex, const XGradient& rTheGradient); XFillGradientItem(const UniString& rName, const XGradient& rTheGradient); XFillGradientItem(SfxItemPool* pPool, const XGradient& rTheGradient); XFillGradientItem(SfxItemPool* pPool ); diff --git a/svx/inc/svx/xflhtit.hxx b/svx/inc/svx/xflhtit.hxx index 30686200f298..212977c87a1f 100644 --- a/svx/inc/svx/xflhtit.hxx +++ b/svx/inc/svx/xflhtit.hxx @@ -47,7 +47,7 @@ class SVX_DLLPUBLIC XFillHatchItem : public NameOrIndex public: TYPEINFO(); XFillHatchItem() : NameOrIndex(XATTR_FILLHATCH, -1) {} - XFillHatchItem(long nIndex, const XHatch& rTheHatch); + XFillHatchItem(INT32 nIndex, const XHatch& rTheHatch); XFillHatchItem(const String& rName, const XHatch& rTheHatch); XFillHatchItem(SfxItemPool* pPool, const XHatch& rTheHatch); XFillHatchItem(SfxItemPool* pPool ); diff --git a/svx/inc/svx/xftshcit.hxx b/svx/inc/svx/xftshcit.hxx index 9668b01441dc..7f767d163278 100644 --- a/svx/inc/svx/xftshcit.hxx +++ b/svx/inc/svx/xftshcit.hxx @@ -45,7 +45,7 @@ class SVX_DLLPUBLIC XFormTextShadowColorItem : public XColorItem public: TYPEINFO(); XFormTextShadowColorItem() {} - XFormTextShadowColorItem(long nIndex, const Color& rTheColor); + XFormTextShadowColorItem(INT32 nIndex, const Color& rTheColor); XFormTextShadowColorItem(const String& rName, const Color& rTheColor); XFormTextShadowColorItem(SvStream& rIn); diff --git a/svx/inc/svx/xit.hxx b/svx/inc/svx/xit.hxx index 2eaaa1629ef2..993f16eb1f43 100644 --- a/svx/inc/svx/xit.hxx +++ b/svx/inc/svx/xit.hxx @@ -54,7 +54,7 @@ typedef BOOL (*SvxCompareValueFunc)( const NameOrIndex* p1, const NameOrIndex* p //------------------- class SVX_DLLPUBLIC NameOrIndex : public SfxStringItem { - long nPalIndex; + INT32 nPalIndex; protected: void Detach() { nPalIndex = -1; } @@ -62,7 +62,7 @@ protected: public: TYPEINFO(); NameOrIndex() { nPalIndex = -1; } - NameOrIndex(USHORT nWhich, long nIndex); + NameOrIndex(USHORT nWhich, INT32 nIndex); NameOrIndex(USHORT nWhich, const String& rName= String()); NameOrIndex(USHORT nWhich, SvStream& rIn); @@ -76,8 +76,8 @@ public: String GetName() const { return GetValue(); } void SetName(const String& rName) { SetValue(rName); } - long GetIndex() const { return nPalIndex; } - void SetIndex(long nIndex) { nPalIndex = nIndex; } + INT32 GetIndex() const { return nPalIndex; } + void SetIndex(INT32 nIndex) { nPalIndex = nIndex; } BOOL IsIndex() const { return (nPalIndex >= 0); } /** this static checks if the given NameOrIndex item has a unique name for its value. diff --git a/svx/inc/svx/xlnclit.hxx b/svx/inc/svx/xlnclit.hxx index 662531856689..f3622b32ce90 100644 --- a/svx/inc/svx/xlnclit.hxx +++ b/svx/inc/svx/xlnclit.hxx @@ -42,7 +42,7 @@ class SVX_DLLPUBLIC XLineColorItem : public XColorItem public: TYPEINFO(); XLineColorItem() {} - XLineColorItem(long nIndex, const Color& rTheColor); + XLineColorItem(INT32 nIndex, const Color& rTheColor); XLineColorItem(const String& rName, const Color& rTheColor); XLineColorItem(SvStream& rIn); diff --git a/svx/inc/svx/xlndsit.hxx b/svx/inc/svx/xlndsit.hxx index 355ea3f72f55..4315161b34eb 100644 --- a/svx/inc/svx/xlndsit.hxx +++ b/svx/inc/svx/xlndsit.hxx @@ -50,7 +50,7 @@ class SVX_DLLPUBLIC XLineDashItem : public NameOrIndex public: TYPEINFO(); XLineDashItem() : NameOrIndex(XATTR_LINEDASH, -1) {} - XLineDashItem(long nIndex, const XDash& rTheDash); + XLineDashItem(INT32 nIndex, const XDash& rTheDash); XLineDashItem(const String& rName, const XDash& rTheDash); XLineDashItem(SfxItemPool* pPool, const XDash& rTheDash); XLineDashItem(SfxItemPool* pPool ); diff --git a/svx/inc/svx/xlnedit.hxx b/svx/inc/svx/xlnedit.hxx index fa96776a18c4..46ef12ee2937 100644 --- a/svx/inc/svx/xlnedit.hxx +++ b/svx/inc/svx/xlnedit.hxx @@ -46,7 +46,7 @@ class SVX_DLLPUBLIC XLineEndItem : public NameOrIndex public: TYPEINFO(); - XLineEndItem(long nIndex = -1); + XLineEndItem(INT32 nIndex = -1); XLineEndItem(const String& rName, const basegfx::B2DPolyPolygon& rPolyPolygon); XLineEndItem(SfxItemPool* pPool, const basegfx::B2DPolyPolygon& rPolyPolygon); XLineEndItem(SfxItemPool* pPool ); diff --git a/svx/inc/svx/xlnstit.hxx b/svx/inc/svx/xlnstit.hxx index 0256e078d148..1d6af8690acd 100644 --- a/svx/inc/svx/xlnstit.hxx +++ b/svx/inc/svx/xlnstit.hxx @@ -46,7 +46,7 @@ class SVX_DLLPUBLIC XLineStartItem : public NameOrIndex public: TYPEINFO(); - XLineStartItem(long nIndex = -1); + XLineStartItem(INT32 nIndex = -1); XLineStartItem(const String& rName, const basegfx::B2DPolyPolygon& rPolyPolygon); XLineStartItem(SfxItemPool* pPool, const basegfx::B2DPolyPolygon& rPolyPolygon); XLineStartItem(SfxItemPool* pPool ); diff --git a/svx/inc/svx/xsflclit.hxx b/svx/inc/svx/xsflclit.hxx index eebe2e723620..802d247180a8 100644 --- a/svx/inc/svx/xsflclit.hxx +++ b/svx/inc/svx/xsflclit.hxx @@ -36,24 +36,24 @@ //------------------------------ // class XSecondaryFillColorItem //------------------------------ -class XSecondaryFillColorItem : public XColorItem +class SVX_DLLPUBLIC XSecondaryFillColorItem : public XColorItem { public: TYPEINFO(); - XSecondaryFillColorItem() {} - XSecondaryFillColorItem(long nIndex, const Color& rTheColor); + SVX_DLLPRIVATE XSecondaryFillColorItem() {} + SVX_DLLPRIVATE XSecondaryFillColorItem(INT32 nIndex, const Color& rTheColor); XSecondaryFillColorItem(const String& rName, const Color& rTheColor); - XSecondaryFillColorItem(SvStream& rIn); + SVX_DLLPRIVATE XSecondaryFillColorItem(SvStream& rIn); - virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const; - virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const; + SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, USHORT nVer) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SVX_DLLPRIVATE virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText, const IntlWrapper * = 0 ) const; - virtual USHORT GetVersion( USHORT nFileFormatVersion ) const; + SVX_DLLPRIVATE virtual USHORT GetVersion( USHORT nFileFormatVersion ) const; }; diff --git a/svx/inc/unoapi.hxx b/svx/inc/unoapi.hxx index 128e11d5dc77..afd6cbec14a9 100644 --- a/svx/inc/unoapi.hxx +++ b/svx/inc/unoapi.hxx @@ -97,12 +97,12 @@ SVX_DLLPUBLIC sal_Bool SvxFieldUnitToMeasureUnit( const short nVcl, short& eApi /** if the given name is a predefined name for the current language it is replaced by the corresponding api name. */ -void SvxUnogetApiNameForItem( const sal_Int16 nWhich, const String& rInternalName, rtl::OUString& rApiName ) throw(); +SVX_DLLPUBLIC void SvxUnogetApiNameForItem( const sal_Int16 nWhich, const String& rInternalName, rtl::OUString& rApiName ) throw(); /** if the given name is a predefined api name it is replaced by the predefined name for the current language. */ -void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& rApiName, String& rInternalName ) throw(); +SVX_DLLPUBLIC void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& rApiName, String& rInternalName ) throw(); /** returns the which id for the given property name. This only works for properties of shapes (map SVXMAP_SHAPE is used for searching) @@ -115,10 +115,10 @@ void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& //SVX_DLLPUBLIC sal_Int16 SvxUnoGetWhichIdForNamedProperty( const ::rtl::OUString & rPropName ); /** converts the given any with a metric to 100th/mm if needed */ -void SvxUnoConvertToMM( const SfxMapUnit eSourceMapUnit, com::sun::star::uno::Any & rMetric ) throw(); +SVX_DLLPUBLIC void SvxUnoConvertToMM( const SfxMapUnit eSourceMapUnit, com::sun::star::uno::Any & rMetric ) throw(); /** converts the given any with a metric from 100th/mm to the given metric if needed */ -void SvxUnoConvertFromMM( const SfxMapUnit eDestinationMapUnit, com::sun::star::uno::Any & rMetric ) throw(); +SVX_DLLPUBLIC void SvxUnoConvertFromMM( const SfxMapUnit eDestinationMapUnit, com::sun::star::uno::Any & rMetric ) throw(); #endif // _SVX_UNOAPI_HXX_ diff --git a/svx/inc/unoedhlp.hxx b/svx/inc/unoedhlp.hxx index 83e8d52034d0..b732ba867af1 100644 --- a/svx/inc/unoedhlp.hxx +++ b/svx/inc/unoedhlp.hxx @@ -49,7 +49,7 @@ class EditEngine; case denotes the destination position, the two parameters the start and the end of the moved paragraph range. */ -class SvxEditSourceHint : public TextHint +class SVX_DLLPUBLIC SvxEditSourceHint : public TextHint { private: ULONG mnStart; diff --git a/svx/inc/unolingu.hxx b/svx/inc/unolingu.hxx index d81fe9177587..8dc76a291ceb 100644 --- a/svx/inc/unolingu.hxx +++ b/svx/inc/unolingu.hxx @@ -67,7 +67,7 @@ class SvxLinguConfigUpdate public: - static void UpdateAll( sal_Bool bForceCheck = sal_False ); + SVX_DLLPUBLIC static void UpdateAll( sal_Bool bForceCheck = sal_False ); static BOOL IsNeedUpdateAll( sal_Bool bForceCheck = sal_False ); }; diff --git a/svx/inc/xexch.hxx b/svx/inc/xexch.hxx index cd44f82cfd85..4042303be3ae 100644 --- a/svx/inc/xexch.hxx +++ b/svx/inc/xexch.hxx @@ -60,7 +60,7 @@ public: // Zuweisungsoperator XFillExchangeData& operator=( const XFillExchangeData& rXFillExchangeData ); - friend SvStream& operator<<( SvStream& rOStm, const XFillExchangeData& rXFillExchangeData ); + SVX_DLLPUBLIC friend SvStream& operator<<( SvStream& rOStm, const XFillExchangeData& rXFillExchangeData ); SVX_DLLPUBLIC friend SvStream& operator>>( SvStream& rIStm, XFillExchangeData& rXFillExchangeData ); static ULONG RegisterClipboardFormatName(); diff --git a/svx/inc/xmlgrhlp.hxx b/svx/inc/xmlgrhlp.hxx index f36733706ab5..77e6eb0be322 100644 --- a/svx/inc/xmlgrhlp.hxx +++ b/svx/inc/xmlgrhlp.hxx @@ -95,7 +95,7 @@ private: SVX_DLLPRIVATE sal_Bool ImplWriteGraphic( const ::rtl::OUString& rPictureStorageName, const ::rtl::OUString& rPictureStreamName, const ::rtl::OUString& rGraphicId ); - SVX_DLLPRIVATE void ImplInsertGraphicURL( const ::rtl::OUString& rURLStr, sal_uInt32 nInsertPos ); + SVX_DLLPRIVATE void ImplInsertGraphicURL( const ::rtl::OUString& rURLStr, sal_uInt32 nInsertPos, rtl::OUString& rRequestedFileName ); protected: SvXMLGraphicHelper(); @@ -142,9 +142,9 @@ namespace svx uses eCreateMode == GRAPHICHELPER_MODE_READ, bDirect == TRUE in SvXMLGraphicHelper */ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); -::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() throw(); -::rtl::OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() throw(); +SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); +SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() throw(); +SVX_DLLPUBLIC ::rtl::OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() throw(); /** Create this with createInstanceWithArguments. service name "com.sun.star.comp.Svx.GraphicExportHelper", one argument which is the @@ -158,9 +158,9 @@ namespace svx uses eCreateMode == GRAPHICHELPER_MODE_WRITE, bDirect == TRUE in SvXMLGraphicHelper */ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); -::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() throw(); -::rtl::OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() throw(); +SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); +SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() throw(); +SVX_DLLPUBLIC ::rtl::OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() throw(); } #endif diff --git a/svx/inc/xoutbmp.hxx b/svx/inc/xoutbmp.hxx index 3cefd9b60f1f..6bbbb0b1073a 100644 --- a/svx/inc/xoutbmp.hxx +++ b/svx/inc/xoutbmp.hxx @@ -95,6 +95,6 @@ public: // - DitherBitmap - // ---------------- -BOOL DitherBitmap( Bitmap& rBitmap ); +SVX_DLLPUBLIC BOOL DitherBitmap( Bitmap& rBitmap ); #endif // _XOUTBMP_HXX |