0a1d822372
Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. (cherry picked from commit a6efc99d19d533fcf53106b6667bafba4d364370) Conflicts: accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java accessibility/bridge/org/openoffice/java/accessibility/Component.java accessibility/bridge/org/openoffice/java/accessibility/Container.java accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java accessibility/bridge/org/openoffice/java/accessibility/Dialog.java accessibility/bridge/org/openoffice/java/accessibility/Frame.java accessibility/bridge/org/openoffice/java/accessibility/List.java accessibility/bridge/org/openoffice/java/accessibility/Menu.java accessibility/bridge/org/openoffice/java/accessibility/Table.java accessibility/bridge/org/openoffice/java/accessibility/Tree.java accessibility/bridge/org/openoffice/java/accessibility/Window.java accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx accessibility/source/extended/accessibleiconchoicectrlentry.cxx accessibility/source/extended/accessiblelistboxentry.cxx accessibility/source/extended/accessibletablistbox.cxx accessibility/source/extended/accessibletablistboxtable.cxx accessibility/workben/org/openoffice/accessibility/awb/canvas/Canvas.java accessibility/workben/org/openoffice/accessibility/misc/OfficeConnection.java apple_remote/AppleRemote.m autodoc/inc/ary/cpp/c_gate.hxx autodoc/inc/ary/cpp/cp_ce.hxx autodoc/inc/ary/cpp/cp_def.hxx autodoc/inc/ary/cpp/cp_type.hxx autodoc/inc/ary/doc/d_parametrized.hxx autodoc/inc/ary/idl/i_type.hxx autodoc/source/ary/inc/cross_refs.hxx autodoc/source/ary/inc/sorted_idset.hxx autodoc/source/display/html/outfile.hxx autodoc/source/display/html/pagemake.cxx autodoc/source/display/idl/hi_env.hxx autodoc/source/parser/inc/tokens/tokproct.hxx autodoc/source/parser_i/inc/s2_luidl/tokproct.hxx autodoc/source/parser_i/inc/tokens/tkp2.hxx automation/inc/automation/commtypes.hxx automation/inc/automation/simplecm.hxx automation/source/server/recorder.cxx automation/source/server/recorder.hxx automation/source/server/statemnt.cxx automation/source/simplecm/packethandler.hxx automation/source/simplecm/simplecm.cxx avmedia/source/framework/soundhandler.cxx basegfx/inc/basegfx/range/rangeexpander.hxx basic/inc/basic/sbxdef.hxx basic/source/classes/sbunoobj.cxx basic/source/classes/sbxmod.cxx basic/source/comp/dim.cxx basic/source/comp/exprgen.cxx basic/source/runtime/step1.cxx basic/source/runtime/step2.cxx basic/source/sbx/sbxint.cxx basic/source/uno/namecont.cxx basic/workben/mgrtest.cxx bean/com/sun/star/beans/LocalOfficeConnection.java bean/com/sun/star/beans/LocalOfficeWindow.java bean/com/sun/star/comp/beans/LocalOfficeConnection.java bean/com/sun/star/comp/beans/LocalOfficeWindow.java bean/com/sun/star/comp/beans/OOoBean.java bridges/inc/bridges/cpp_uno/bridge.hxx bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx bridges/source/cpp_uno/cc50_solaris_intel/except.cxx bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx bridges/source/cpp_uno/cc50_solaris_sparc/except.cxx bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/except.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/uno2cpp.cxx bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_os2_intel/except.cxx bridges/source/cpp_uno/gcc3_os2_intel/uno2cpp.cxx bridges/source/cpp_uno/mingw_x86-64/uno2cpp.cxx bridges/source/cpp_uno/msvc_win32_intel/except.cxx bridges/source/cpp_uno/s5abi_macosx_x86-64/except.cxx bridges/source/cpp_uno/shared/component.cxx bridges/source/jni_uno/jni_base.h bridges/source/jni_uno/jni_bridge.cxx bridges/source/jni_uno/jni_java2uno.cxx bridges/source/jni_uno/jni_uno2java.cxx canvas/inc/canvas/base/doublebitmapbase.hxx canvas/inc/canvas/base/floatbitmapbase.hxx canvas/inc/canvas/base/integerbitmapbase.hxx canvas/source/cairo/cairo_canvasbitmap.cxx canvas/source/cairo/cairo_textlayout.cxx chart2/source/controller/dialogs/ObjectNameProvider.cxx chart2/source/view/diagram/VDiagram.cxx chart2/source/view/main/ChartView.cxx cli_ure/source/native/makefile.mk cli_ure/source/uno_bridge/cli_data.cxx codemaker/source/javamaker/javatype.cxx comphelper/inc/comphelper/componentcontext.hxx comphelper/inc/comphelper/interaction.hxx comphelper/inc/comphelper/locale.hxx comphelper/inc/comphelper/string.hxx comphelper/source/container/embeddedobjectcontainer.cxx comphelper/source/misc/accessiblecontexthelper.cxx comphelper/source/misc/asyncnotification.cxx comphelper/source/misc/locale.cxx comphelper/source/misc/mediadescriptor.cxx comphelper/source/misc/numberedcollection.cxx comphelper/source/misc/proxyaggregation.cxx comphelper/source/misc/scopeguard.cxx comphelper/source/misc/sequenceashashmap.cxx configure.in connectivity/source/commontools/parameters.cxx connectivity/source/drivers/dbase/DTable.cxx connectivity/source/drivers/evoab2/NStatement.cxx connectivity/source/drivers/file/FPreparedStatement.cxx connectivity/source/drivers/jdbc/DatabaseMetaData.cxx connectivity/source/inc/flat/ETable.hxx connectivity/source/parse/sqlnode.cxx cosv/inc/cosv/persist.hxx cosv/inc/cosv/ploc_dir.hxx cosv/inc/cosv/tpl/dyn.hxx cppu/source/LogBridge/LogBridge.cxx cppu/source/uno/data.cxx cppuhelper/source/bootstrap.cxx cppuhelper/source/component_context.cxx cppuhelper/source/propshlp.cxx cppuhelper/source/servicefactory.cxx cpputools/source/registercomponent/registercomponent.cxx cui/source/customize/acccfg.cxx cui/source/dialogs/about.cxx cui/source/dialogs/commonlingui.hxx cui/source/dialogs/showcols.cxx cui/source/inc/cuihyperdlg.hxx cui/source/inc/cuitabline.hxx cui/source/options/optsave.src cui/source/tabpages/tpline.cxx cui/source/tabpages/transfrm.cxx dbaccess/source/core/api/CacheSet.cxx dbaccess/source/core/api/KeySet.cxx dbaccess/source/core/api/RowSet.cxx dbaccess/source/core/api/RowSet.hxx dbaccess/source/core/api/RowSetBase.cxx dbaccess/source/core/api/RowSetBase.hxx dbaccess/source/core/api/RowSetCache.cxx dbaccess/source/core/api/querycomposer.cxx dbaccess/source/ext/adabas/Acomponentmodule.hxx dbaccess/source/ui/app/AppControllerDnD.cxx dbaccess/source/ui/app/AppDetailView.cxx dbaccess/source/ui/browser/brwctrlr.cxx dbaccess/source/ui/browser/sbagrid.cxx dbaccess/source/ui/browser/unodatbr.cxx dbaccess/source/ui/dlg/AdabasStat.hxx dbaccess/source/ui/dlg/UserAdmin.cxx dbaccess/source/ui/dlg/directsql.cxx dbaccess/source/ui/dlg/generalpage.hxx dbaccess/source/ui/dlg/tablespage.cxx dbaccess/source/ui/inc/JoinTableView.hxx dbaccess/source/ui/inc/TableController.hxx dbaccess/source/ui/inc/UITools.hxx dbaccess/source/ui/inc/brwctrlr.hxx dbaccess/source/ui/inc/datasourcemap.hxx dbaccess/source/ui/querydesign/JoinTableView.cxx dbaccess/source/ui/querydesign/QueryDesignView.cxx dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx dbaccess/source/ui/querydesign/TableWindow.cxx dbaccess/source/ui/querydesign/querycontroller.cxx dbaccess/source/ui/relationdesign/RelationTableView.cxx dbaccess/source/ui/tabledesign/TableController.cxx desktop/source/app/app.cxx desktop/source/app/appinit.cxx desktop/source/app/langselect.cxx desktop/source/app/officeipcthread.cxx desktop/source/deployment/manager/dp_extensionmanager.cxx desktop/source/deployment/misc/dp_misc.cxx desktop/source/deployment/misc/dp_resource.cxx desktop/source/deployment/registry/dp_backend.cxx desktop/source/deployment/registry/package/dp_package.cxx desktop/source/migration/cfgfilter.cxx desktop/source/migration/migration.cxx desktop/source/splash/splash.cxx desktop/win32/source/QuickStart/QuickStart.cpp desktop/win32/source/setup/setup.cpp drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx dtrans/source/win32/clipb/MtaOleClipb.hxx dtrans/source/win32/clipb/WinClipbImpl.cxx editeng/source/editeng/editview.cxx editeng/source/editeng/impedit2.cxx editeng/source/editeng/impedit3.cxx editeng/source/editeng/impedit4.cxx editeng/source/editeng/textconv.hxx editeng/source/misc/unolingu.cxx embeddedobj/source/commonembedding/persistence.cxx embeddedobj/source/general/dummyobject.cxx embeddedobj/source/msole/olecomponent.cxx embeddedobj/source/msole/olepersist.cxx embeddedobj/test/Container1/NativeView.java extensions/source/bibliography/framectr.cxx extensions/source/macosx/spotlight/OOoContentDataParser.m extensions/source/macosx/spotlight/unzip.h extensions/source/macosx/spotlight/unzip.m extensions/source/oooimprovement/myconfigurationhelper.hxx extensions/source/propctrlr/eventhandler.cxx extensions/source/propctrlr/formcomponenthandler.cxx extensions/source/propctrlr/pcrcomponentcontext.hxx extensions/source/scanner/twain.cxx extensions/source/update/check/updatecheckconfig.hxx external/mingwheaders/mingw_atl_headers.patch extras/source/misc_config/wizard/web/layouts/source.xml.xsl fileaccess/source/FileAccess.cxx filter/inc/filter/msfilter/msocximex.hxx filter/inc/filter/msfilter/svxmsbas.hxx filter/qa/complex/filter/detection/typeDetection/Helper.java filter/source/config/cache/basecontainer.cxx filter/source/config/cache/cacheitem.hxx filter/source/config/cache/contenthandlerfactory.cxx filter/source/config/cache/filtercache.cxx filter/source/config/cache/filtercache.hxx filter/source/config/cache/filterfactory.cxx filter/source/config/cache/frameloaderfactory.cxx filter/source/config/cache/querytokenizer.hxx filter/source/config/cache/typedetection.cxx filter/source/config/cache/typedetection.hxx filter/source/config/cache/versions.hxx filter/source/config/fragments/makefile.mk filter/source/config/tools/merge/pyAltFCFGMerge filter/source/flash/swfwriter.cxx filter/source/flash/swfwriter1.cxx filter/source/msfilter/msdffimp.cxx filter/source/msfilter/msocximex.cxx filter/source/msfilter/msvbahelper.cxx filter/source/msfilter/svxmsbas.cxx filter/source/xmlfilterdetect/filterdetect.cxx filter/source/xslt/import/uof2/uof2odf.xsl filter/source/xslt/odf2xhtml/export/xhtml/body.xsl filter/source/xsltfilter/com/sun/star/comp/xsltfilter/Base64.java forms/source/xforms/convert.hxx forms/source/xforms/model.cxx fpicker/source/aqua/SalAquaFilePicker.mm fpicker/source/office/fpinteraction.cxx fpicker/source/unx/gnome/SalGtkFolderPicker.cxx fpicker/source/unx/kde4/KDE4FilePicker.cxx fpicker/source/win32/filepicker/PreviewCtrl.cxx fpicker/source/win32/filepicker/PreviewCtrl.hxx fpicker/source/win32/filepicker/VistaFilePicker.cxx fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx fpicker/source/win32/filepicker/helppopupwindow.hxx fpicker/source/win32/folderpicker/MtaFop.hxx framework/inc/classes/droptargetlistener.hxx framework/inc/classes/filtercache.hxx framework/inc/classes/filtercachedata.hxx framework/inc/classes/protocolhandlercache.hxx framework/inc/classes/servicemanager.hxx framework/inc/commands.h framework/inc/dispatch/basedispatcher.hxx framework/inc/dispatch/blankdispatcher.hxx framework/inc/dispatch/closedispatcher.hxx framework/inc/dispatch/createdispatcher.hxx framework/inc/dispatch/dispatchprovider.hxx framework/inc/dispatch/helpagentdispatcher.hxx framework/inc/dispatch/mailtodispatcher.hxx framework/inc/dispatch/menudispatcher.hxx framework/inc/dispatch/oxt_handler.hxx framework/inc/dispatch/popupmenudispatcher.hxx framework/inc/dispatch/selfdispatcher.hxx framework/inc/dispatch/servicehandler.hxx framework/inc/dispatch/startmoduledispatcher.hxx framework/inc/dispatch/systemexec.hxx framework/inc/helper/fixeddocumentproperties.hxx framework/inc/helper/ocomponentaccess.hxx framework/inc/helper/oframes.hxx framework/inc/helper/otasksenumeration.hxx framework/inc/helper/persistentwindowstate.hxx framework/inc/helper/statusindicator.hxx framework/inc/helper/statusindicatorfactory.hxx framework/inc/helper/tagwindowasmodified.hxx framework/inc/helper/titlebarupdate.hxx framework/inc/helper/vclstatusindicator.hxx framework/inc/interaction/quietinteraction.hxx framework/inc/jobs/helponstartup.hxx framework/inc/jobs/job.hxx framework/inc/jobs/jobdata.hxx framework/inc/jobs/jobexecutor.hxx framework/inc/loadstate.h framework/inc/macros/debug/assertion.hxx framework/inc/macros/debug/event.hxx framework/inc/macros/debug/filterdbg.hxx framework/inc/macros/debug/memorymeasure.hxx framework/inc/macros/debug/timemeasure.hxx framework/inc/macros/xserviceinfo.hxx framework/inc/queries.h framework/inc/recording/dispatchrecordersupplier.hxx framework/inc/services/autorecovery.hxx framework/inc/services/backingcomp.hxx framework/inc/services/contenthandlerfactory.hxx framework/inc/services/desktop.hxx framework/inc/services/detectorfactory.hxx framework/inc/services/frame.hxx framework/inc/services/frameloaderfactory.hxx framework/inc/services/layoutmanager.hxx framework/inc/services/license.hxx framework/inc/services/logindialog.hxx framework/inc/services/modulemanager.hxx framework/inc/services/pathsettings.hxx framework/inc/services/pluginframe.hxx framework/inc/services/substitutepathvars.hxx framework/inc/services/task.hxx framework/inc/services/taskcreatorsrv.hxx framework/inc/stdtypes.h framework/inc/threadhelp/fairrwlock.hxx framework/inc/threadhelp/inoncopyable.h framework/inc/threadhelp/itransactionmanager.h framework/inc/threadhelp/lockhelper.hxx framework/inc/threadhelp/readguard.hxx framework/inc/threadhelp/resetableguard.hxx framework/inc/threadhelp/transactionguard.hxx framework/inc/threadhelp/writeguard.hxx framework/inc/uifactory/uielementfactorymanager.hxx framework/inc/xml/acceleratorconfigurationreader.hxx framework/qa/complex/dispatches/checkdispatchapi.java framework/qa/complex/framework/autosave/AutoSave.java framework/qa/complex/framework/autosave/Protocol.java framework/qa/complex/framework/recovery/RecoveryTest.java framework/qa/complex/loadAllDocuments/StreamSimulator.java framework/source/accelerators/acceleratorconfiguration.cxx framework/source/accelerators/acceleratorexecute.cxx framework/source/accelerators/acceleratorexecute.hxx framework/source/accelerators/keymapping.cxx framework/source/accelerators/presethandler.cxx framework/source/application/framework.cxx framework/source/application/login.cxx framework/source/classes/framecontainer.cxx framework/source/classes/menumanager.cxx framework/source/classes/taskcreator.cxx framework/source/dispatch/closedispatcher.cxx framework/source/dispatch/dispatchprovider.cxx framework/source/dispatch/helpagentdispatcher.cxx framework/source/dispatch/interceptionhelper.cxx framework/source/dispatch/mailtodispatcher.cxx framework/source/dispatch/menudispatcher.cxx framework/source/dispatch/oxt_handler.cxx framework/source/dispatch/servicehandler.cxx framework/source/fwe/classes/framelistanalyzer.cxx framework/source/fwe/dispatch/interaction.cxx framework/source/fwe/helper/titlehelper.cxx framework/source/fwe/helper/undomanagerhelper.cxx framework/source/fwe/xml/eventsdocumenthandler.cxx framework/source/fwe/xml/statusbardocumenthandler.cxx framework/source/fwe/xml/toolboxdocumenthandler.cxx framework/source/fwi/classes/protocolhandlercache.cxx framework/source/fwi/threadhelp/lockhelper.cxx framework/source/fwi/threadhelp/transactionmanager.cxx framework/source/helper/persistentwindowstate.cxx framework/source/helper/statusindicatorfactory.cxx framework/source/helper/vclstatusindicator.cxx framework/source/inc/accelerators/acceleratorcache.hxx framework/source/inc/accelerators/acceleratorconfiguration.hxx framework/source/inc/accelerators/presethandler.hxx framework/source/inc/accelerators/storageholder.hxx framework/source/inc/loadenv/actionlockguard.hxx framework/source/inc/loadenv/loadenv.hxx framework/source/inc/loadenv/loadenvexception.hxx framework/source/inc/pattern/frame.hxx framework/source/inc/pattern/storages.hxx framework/source/inc/pattern/window.hxx framework/source/jobs/helponstartup.cxx framework/source/jobs/job.cxx framework/source/jobs/jobdata.cxx framework/source/jobs/jobdispatch.cxx framework/source/jobs/jobresult.cxx framework/source/jobs/joburl.cxx framework/source/jobs/shelljob.cxx framework/source/loadenv/loadenv.cxx framework/source/services/autorecovery.cxx framework/source/services/backingwindow.cxx framework/source/services/desktop.cxx framework/source/services/frame.cxx framework/source/services/modulemanager.cxx framework/source/services/pathsettings.cxx framework/source/services/substitutepathvars.cxx framework/source/uiconfiguration/moduleuicfgsupplier.cxx framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx framework/source/uiconfiguration/uicategorydescription.cxx framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx framework/source/uiconfiguration/windowstateconfiguration.cxx framework/source/uielement/uicommanddescription.cxx framework/source/unotypes/fwk.xml framework/source/xml/imagesdocumenthandler.cxx framework/test/test.cxx framework/test/test_componentenumeration.bas framework/test/test_statusindicatorfactory.bas framework/test/threadtest.cxx framework/test/threadtest/threadtest.cxx framework/test/typecfg/cfgview.cxx framework/test/typecfg/xml2xcd.cxx include/basegfx/polygon/b2dpolygon.hxx include/canvas/base/graphicdevicebase.hxx include/canvas/canvastools.hxx include/comphelper/configurationhelper.hxx include/comphelper/embeddedobjectcontainer.hxx include/comphelper/propagg.hxx include/comphelper/sequenceashashmap.hxx include/connectivity/sqlerror.hxx include/connectivity/sqlnode.hxx include/cppuhelper/propshlp.hxx include/editeng/AccessibleContextBase.hxx include/framework/framelistanalyzer.hxx sfx2/source/dialog/backingcomp.cxx vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx Change-Id: I2618bf83c0e30f68f23ff25f6eb466df04d34c6d
509 lines
25 KiB
C++
509 lines
25 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
#ifndef INCLUDED_BASEGFX_POLYGON_B2DPOLYGONTOOLS_HXX
|
|
#define INCLUDED_BASEGFX_POLYGON_B2DPOLYGONTOOLS_HXX
|
|
|
|
#include <basegfx/point/b2dpoint.hxx>
|
|
#include <basegfx/vector/b2dvector.hxx>
|
|
#include <basegfx/range/b2drectangle.hxx>
|
|
#include <basegfx/polygon/b2dpolypolygon.hxx>
|
|
#include <basegfx/polygon/b3dpolygon.hxx>
|
|
#include <com/sun/star/drawing/PointSequence.hpp>
|
|
#include <com/sun/star/drawing/FlagSequence.hpp>
|
|
#include <vector>
|
|
#include <basegfx/basegfxdllapi.h>
|
|
|
|
|
|
|
|
namespace basegfx
|
|
{
|
|
// predefinitions
|
|
class B2DPolygon;
|
|
class B2DRange;
|
|
|
|
namespace tools
|
|
{
|
|
// B2DPolygon tools
|
|
|
|
// open/close with point add/remove and control point corrections
|
|
BASEGFX_DLLPUBLIC void openWithGeometryChange(B2DPolygon& rCandidate);
|
|
BASEGFX_DLLPUBLIC void closeWithGeometryChange(B2DPolygon& rCandidate);
|
|
|
|
/** Check if given polygon is closed.
|
|
|
|
This is kind of a 'classic' method to support old polygon
|
|
definitions. Those old polygon definitions define the
|
|
closed state of the polygon using identical start and
|
|
endpoints. This method corrects this (removes double
|
|
start/end points) and sets the Closed()-state of the
|
|
polygon correctly.
|
|
*/
|
|
BASEGFX_DLLPUBLIC void checkClosed(B2DPolygon& rCandidate);
|
|
|
|
// Get successor and predecessor indices. Returning the same index means there
|
|
// is none. Same for successor.
|
|
BASEGFX_DLLPUBLIC sal_uInt32 getIndexOfPredecessor(sal_uInt32 nIndex, const B2DPolygon& rCandidate);
|
|
BASEGFX_DLLPUBLIC sal_uInt32 getIndexOfSuccessor(sal_uInt32 nIndex, const B2DPolygon& rCandidate);
|
|
|
|
// Get orientation of Polygon
|
|
BASEGFX_DLLPUBLIC B2VectorOrientation getOrientation(const B2DPolygon& rCandidate);
|
|
|
|
// isInside tests for B2dPoint and other B2dPolygon. On border is not inside as long as
|
|
// not true is given in bWithBorder flag.
|
|
BASEGFX_DLLPUBLIC bool isInside(const B2DPolygon& rCandidate, const B2DPoint& rPoint, bool bWithBorder = false);
|
|
BASEGFX_DLLPUBLIC bool isInside(const B2DPolygon& rCandidate, const B2DPolygon& rPolygon, bool bWithBorder = false);
|
|
|
|
/** Get the range of a polygon
|
|
|
|
This method creates the outer range of the subdivided bezier curve.
|
|
For detailed discussion see B2DPolygon::getB2DRange()
|
|
|
|
@param rCandidate
|
|
The B2DPolygon eventually containing bezier segments
|
|
|
|
@return
|
|
The outer range of the bezier curve
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DRange getRange(const B2DPolygon& rCandidate);
|
|
|
|
// get signed area of polygon
|
|
BASEGFX_DLLPUBLIC double getSignedArea(const B2DPolygon& rCandidate);
|
|
|
|
// get area of polygon
|
|
BASEGFX_DLLPUBLIC double getArea(const B2DPolygon& rCandidate);
|
|
|
|
/** get length of polygon edge from point nIndex to nIndex + 1 */
|
|
BASEGFX_DLLPUBLIC double getEdgeLength(const B2DPolygon& rCandidate, sal_uInt32 nIndex);
|
|
|
|
/** get length of polygon */
|
|
BASEGFX_DLLPUBLIC double getLength(const B2DPolygon& rCandidate);
|
|
|
|
// get position on polygon for absolute given distance. If
|
|
// length is given, it is assumed the correct polygon length, if 0.0 it is calculated
|
|
// using getLength(...)
|
|
BASEGFX_DLLPUBLIC B2DPoint getPositionAbsolute(const B2DPolygon& rCandidate, double fDistance, double fLength = 0.0);
|
|
|
|
// get position on polygon for relative given distance in range [0.0 .. 1.0]. If
|
|
// length is given, it is assumed the correct polygon length, if 0.0 it is calculated
|
|
// using getLength(...)
|
|
BASEGFX_DLLPUBLIC B2DPoint getPositionRelative(const B2DPolygon& rCandidate, double fDistance, double fLength = 0.0);
|
|
|
|
// get a snippet from given polygon for absolute distances. The polygon is assumed
|
|
// to be opened (not closed). fFrom and fTo need to be in range [0.0 .. fLength], where
|
|
// fTo >= fFrom. If length is given, it is assumed the correct polygon length,
|
|
// if 0.0 it is calculated using getLength(...)
|
|
BASEGFX_DLLPUBLIC B2DPolygon getSnippetAbsolute(const B2DPolygon& rCandidate, double fFrom, double fTo, double fLength = 0.0);
|
|
|
|
// Continuity check for point with given index
|
|
BASEGFX_DLLPUBLIC B2VectorContinuity getContinuityInPoint(const B2DPolygon& rCandidate, sal_uInt32 nIndex);
|
|
|
|
// Subdivide all contained curves. Use distanceBound value if given.
|
|
BASEGFX_DLLPUBLIC B2DPolygon adaptiveSubdivideByDistance(const B2DPolygon& rCandidate, double fDistanceBound = 0.0);
|
|
|
|
// Subdivide all contained curves. Use angleBound value if given.
|
|
BASEGFX_DLLPUBLIC B2DPolygon adaptiveSubdivideByAngle(const B2DPolygon& rCandidate, double fAngleBound = 0.0);
|
|
|
|
// #i37443# Subdivide all contained curves.
|
|
BASEGFX_DLLPUBLIC B2DPolygon adaptiveSubdivideByCount(const B2DPolygon& rCandidate, sal_uInt32 nCount = 0L);
|
|
|
|
// Definitions for the cut flags used from the findCut methods
|
|
typedef sal_uInt16 CutFlagValue;
|
|
|
|
#define CUTFLAG_NONE (0x0000)
|
|
#define CUTFLAG_LINE (0x0001)
|
|
#define CUTFLAG_START1 (0x0002)
|
|
#define CUTFLAG_START2 (0x0004)
|
|
#define CUTFLAG_END1 (0x0008)
|
|
#define CUTFLAG_END2 (0x0010)
|
|
#define CUTFLAG_ALL (CUTFLAG_LINE|CUTFLAG_START1|CUTFLAG_START2|CUTFLAG_END1|CUTFLAG_END2)
|
|
#define CUTFLAG_DEFAULT (CUTFLAG_LINE|CUTFLAG_START2|CUTFLAG_END2)
|
|
|
|
// This version works with two points and vectors to define the
|
|
// edges for the cut test.
|
|
BASEGFX_DLLPUBLIC CutFlagValue findCut(
|
|
const B2DPoint& rEdge1Start, const B2DVector& rEdge1Delta,
|
|
const B2DPoint& rEdge2Start, const B2DVector& rEdge2Delta,
|
|
CutFlagValue aCutFlags = CUTFLAG_DEFAULT,
|
|
double* pCut1 = 0L, double* pCut2 = 0L);
|
|
|
|
// test if point is on the given edge in range ]0.0..1.0[ without
|
|
// the start/end points. If so, return true and put the parameter
|
|
// value in pCut (if provided)
|
|
BASEGFX_DLLPUBLIC bool isPointOnEdge(
|
|
const B2DPoint& rPoint,
|
|
const B2DPoint& rEdgeStart,
|
|
const B2DVector& rEdgeDelta,
|
|
double* pCut = 0L);
|
|
|
|
/** Apply given LineDashing to given polygon
|
|
|
|
This method is used to cut down line polygons to the needed
|
|
pieces when a dashing needs to be applied.
|
|
It is now capable of keeping contained bezier segments.
|
|
It is also capable of delivering line and non-line portions
|
|
depending on what target polygons You provide. This is useful
|
|
e.g. for dashed lines with two colors.
|
|
If the last and the first snippet in one of the results have
|
|
a common start/end ppoint, they will be merged to achieve as
|
|
view as needed result line snippets. This is also relevant for
|
|
further processing the results.
|
|
|
|
@param rCandidate
|
|
The polygon based on which the snippets will be created.
|
|
|
|
@param rDotDashArray
|
|
The line pattern given as array of length values
|
|
|
|
@param pLineTarget
|
|
The target for line snippets, e.g. the first entry will be
|
|
a line segment with length rDotDashArray[0]. The given
|
|
polygon will be emptied as preparation.
|
|
|
|
@param pGapTarget
|
|
The target for gap snippets, e.g. the first entry will be
|
|
a line segment with length rDotDashArray[1]. The given
|
|
polygon will be emptied as preparation.
|
|
|
|
@param fFullDashDotLen
|
|
The sumed-up length of the rDotDashArray. If zero, it will
|
|
be calculated internally.
|
|
*/
|
|
BASEGFX_DLLPUBLIC void applyLineDashing(
|
|
const B2DPolygon& rCandidate,
|
|
const ::std::vector<double>& rDotDashArray,
|
|
B2DPolyPolygon* pLineTarget,
|
|
B2DPolyPolygon* pGapTarget = 0,
|
|
double fFullDashDotLen = 0.0);
|
|
|
|
// test if point is inside epsilon-range around an edge defined
|
|
// by the two given points. Can be used for HitTesting. The epsilon-range
|
|
// is defined to be the rectangle centered to the given edge, using height
|
|
// 2 x fDistance, and the circle around both points with radius fDistance.
|
|
BASEGFX_DLLPUBLIC bool isInEpsilonRange(const B2DPoint& rEdgeStart, const B2DPoint& rEdgeEnd, const B2DPoint& rTestPosition, double fDistance);
|
|
|
|
// test if point is inside epsilon-range around the given Polygon. Can be used
|
|
// for HitTesting. The epsilon-range is defined to be the rectangle centered
|
|
// to the given edge, using height 2 x fDistance, and the circle around both points
|
|
// with radius fDistance.
|
|
BASEGFX_DLLPUBLIC bool isInEpsilonRange(const B2DPolygon& rCandidate, const B2DPoint& rTestPosition, double fDistance);
|
|
|
|
/** Create a polygon from a rectangle.
|
|
|
|
@param rRect
|
|
The rectangle which describes the polygon size
|
|
|
|
@param fRadiusX
|
|
@param fRadiusY
|
|
Radius of the edge rounding, relative to the rectangle size. 0.0 means no
|
|
rounding, 1.0 will lead to an ellipse
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromRect( const B2DRectangle& rRect, double fRadiusX, double fRadiusY );
|
|
|
|
/** Create a polygon from a rectangle.
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromRect( const B2DRectangle& rRect );
|
|
|
|
/** Create the unit polygon
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createUnitPolygon();
|
|
|
|
/** Create a circle polygon with given radius.
|
|
|
|
This method creates a circle approximation consisting of
|
|
four cubic bezier segments, which approximate the given
|
|
circle with an error of less than 0.5 percent.
|
|
|
|
@param rCenter
|
|
Center point of the circle
|
|
|
|
@param fRadius
|
|
Radius of the circle
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromCircle( const B2DPoint& rCenter, double fRadius );
|
|
|
|
/// create half circle centered on (0,0) from [0 .. F_PI]
|
|
B2DPolygon createHalfUnitCircle();
|
|
|
|
/** create a polygon which describes the unit circle and close it
|
|
|
|
@param nStartQuadrant
|
|
To be able to rebuild the old behaviour where the circles started at bottom,
|
|
this parameter is used. Default is 0 which is the first quadrant and the
|
|
polygon's start point will be the rightmost one. When using e.g. 1, the
|
|
first created quadrant will start at the YMax-position (with Y down on screens,
|
|
this is the lowest one). This is needed since when lines are dashed, toe old
|
|
geometry started at bottom point, else it would look different.
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromUnitCircle(sal_uInt32 nStartQuadrant = 0);
|
|
|
|
/** Create an ellipse polygon with given radii.
|
|
|
|
This method creates an ellipse approximation consisting of
|
|
four cubic bezier segments, which approximate the given
|
|
ellipse with an error of less than 0.5 percent.
|
|
|
|
@param rCenter
|
|
Center point of the circle
|
|
|
|
@param fRadiusX
|
|
Radius of the ellipse in X direction
|
|
|
|
@param fRadiusY
|
|
Radius of the ellipse in Y direction
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromEllipse( const B2DPoint& rCenter, double fRadiusX, double fRadiusY );
|
|
|
|
/** Create an unit ellipse polygon with the given angles, from start to end
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromEllipseSegment( const B2DPoint& rCenter, double fRadiusX, double fRadiusY, double fStart, double fEnd );
|
|
|
|
BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromUnitEllipseSegment( double fStart, double fEnd );
|
|
|
|
/** Predicate whether a given polygon is a rectangle.
|
|
|
|
@param rPoly
|
|
Polygon to check
|
|
|
|
@return true, if the polygon describes a rectangle
|
|
(polygon is closed, and the points are either cw or ccw
|
|
enumerations of a rectangle's vertices). Note that
|
|
intermediate points and duplicate points are ignored.
|
|
*/
|
|
BASEGFX_DLLPUBLIC bool isRectangle( const B2DPolygon& rPoly );
|
|
|
|
// create 3d polygon from given 2d polygon. The given fZCoordinate is used to expand the
|
|
// third coordinate.
|
|
BASEGFX_DLLPUBLIC B3DPolygon createB3DPolygonFromB2DPolygon(const B2DPolygon& rCandidate, double fZCoordinate = 0.0);
|
|
|
|
// create 2d PolyPolygon from given 3d PolyPolygon. All coordinates are transformed using the given
|
|
// matrix and the resulting x,y is used to form the new polygon.
|
|
BASEGFX_DLLPUBLIC B2DPolygon createB2DPolygonFromB3DPolygon(const B3DPolygon& rCandidate, const B3DHomMatrix& rMat);
|
|
|
|
// calculate the smallest distance to given edge and return. The relative position on the edge is returned in Cut.
|
|
// That position is in the range [0.0 .. 1.0] and the returned distance is adapted accordingly to the start or end
|
|
// point of the edge
|
|
BASEGFX_DLLPUBLIC double getSmallestDistancePointToEdge(const B2DPoint& rPointA, const B2DPoint& rPointB, const B2DPoint& rTestPoint, double& rCut);
|
|
|
|
// for each contained edge calculate the smallest distance. Return the index to the smallest
|
|
// edge in rEdgeIndex. The relative position on the edge is returned in rCut.
|
|
// If nothing was found (e.g. empty input plygon), DBL_MAX is returned.
|
|
BASEGFX_DLLPUBLIC double getSmallestDistancePointToPolygon(const B2DPolygon& rCandidate, const B2DPoint& rTestPoint, sal_uInt32& rEdgeIndex, double& rCut);
|
|
|
|
// distort single point. rOriginal describes the original range, where the given points describe the distorted corresponding points.
|
|
BASEGFX_DLLPUBLIC B2DPoint distort(const B2DPoint& rCandidate, const B2DRange& rOriginal, const B2DPoint& rTopLeft, const B2DPoint& rTopRight, const B2DPoint& rBottomLeft, const B2DPoint& rBottomRight);
|
|
|
|
// distort polygon. rOriginal describes the original range, where the given points describe the distorted corresponding points.
|
|
BASEGFX_DLLPUBLIC B2DPolygon distort(const B2DPolygon& rCandidate, const B2DRange& rOriginal, const B2DPoint& rTopLeft, const B2DPoint& rTopRight, const B2DPoint& rBottomLeft, const B2DPoint& rBottomRight);
|
|
|
|
// expand all segments (which are not yet) to curve segments. This is done with setting the control
|
|
// vectors on the 1/3 resp. 2/3 distances on each segment.
|
|
BASEGFX_DLLPUBLIC B2DPolygon expandToCurve(const B2DPolygon& rCandidate);
|
|
|
|
// expand given segment to curve segment. This is done with setting the control
|
|
// vectors on the 1/3 resp. 2/3 distances. The return value describes if a change took place.
|
|
BASEGFX_DLLPUBLIC bool expandToCurveInPoint(B2DPolygon& rCandidate, sal_uInt32 nIndex);
|
|
|
|
// set continuity for given index. If not a curve, nothing will change. Non-curve points are not changed, too.
|
|
// The return value describes if a change took place.
|
|
BASEGFX_DLLPUBLIC bool setContinuityInPoint(B2DPolygon& rCandidate, sal_uInt32 nIndex, B2VectorContinuity eContinuity);
|
|
|
|
// test if polygon contains neutral points. A neutral point is one whos orientation is neutral
|
|
// e.g. positioned on the edge of it's predecessor and successor
|
|
BASEGFX_DLLPUBLIC bool hasNeutralPoints(const B2DPolygon& rCandidate);
|
|
|
|
// remove neutral points. A neutral point is one whos orientation is neutral
|
|
// e.g. positioned on the edge of it's predecessor and successor
|
|
BASEGFX_DLLPUBLIC B2DPolygon removeNeutralPoints(const B2DPolygon& rCandidate);
|
|
|
|
// tests if polygon is convex
|
|
BASEGFX_DLLPUBLIC bool isConvex(const B2DPolygon& rCandidate);
|
|
|
|
// calculates the orientation at edge nIndex
|
|
BASEGFX_DLLPUBLIC B2VectorOrientation getOrientationForIndex(const B2DPolygon& rCandidate, sal_uInt32 nIndex);
|
|
|
|
// calculates if given point is on given line, taking care of the numerical epsilon
|
|
BASEGFX_DLLPUBLIC bool isPointOnLine(const B2DPoint& rStart, const B2DPoint& rEnd, const B2DPoint& rCandidate, bool bWithPoints = false);
|
|
|
|
// calculates if given point is on given polygon, taking care of the numerical epsilon. Uses
|
|
// isPointOnLine internally
|
|
BASEGFX_DLLPUBLIC bool isPointOnPolygon(const B2DPolygon& rCandidate, const B2DPoint& rPoint, bool bWithPoints = true);
|
|
|
|
// test if candidate is inside triangle
|
|
BASEGFX_DLLPUBLIC bool isPointInTriangle(const B2DPoint& rA, const B2DPoint& rB, const B2DPoint& rC, const B2DPoint& rCandidate, bool bWithBorder = false);
|
|
|
|
// test if candidateA and candidateB are on the same side of the given line
|
|
BASEGFX_DLLPUBLIC bool arePointsOnSameSideOfLine(const B2DPoint& rStart, const B2DPoint& rEnd, const B2DPoint& rCandidateA, const B2DPoint& rCandidateB, bool bWithLine = false);
|
|
|
|
// add triangles for given rCandidate to rTarget. For each triangle, 3 points will be added to rCandidate.
|
|
// All triangles will go from the start point of rCandidate to two consecutive points, building (rCandidate.count() - 2)
|
|
// triangles.
|
|
BASEGFX_DLLPUBLIC void addTriangleFan(const B2DPolygon& rCandidate, B2DPolygon& rTarget);
|
|
|
|
// grow for polygon. Move all geometry in each point in the direction of the normal in that point
|
|
// with the given amount. Value may be negative.
|
|
BASEGFX_DLLPUBLIC B2DPolygon growInNormalDirection(const B2DPolygon& rCandidate, double fValue);
|
|
|
|
// force all sub-polygons to a point count of nSegments
|
|
BASEGFX_DLLPUBLIC B2DPolygon reSegmentPolygon(const B2DPolygon& rCandidate, sal_uInt32 nSegments);
|
|
|
|
// create polygon state at t from 0.0 to 1.0 between the two polygons. Both polygons must have the same
|
|
// organisation, e.g. same amount of points
|
|
BASEGFX_DLLPUBLIC B2DPolygon interpolate(const B2DPolygon& rOld1, const B2DPolygon& rOld2, double t);
|
|
|
|
// #i76891# Try to remove existing curve segments if they are simply edges
|
|
BASEGFX_DLLPUBLIC B2DPolygon simplifyCurveSegments(const B2DPolygon& rCandidate);
|
|
|
|
// makes the given indexed point the new polygon start point. To do that, the points in the
|
|
// polygon will be rotated. This is only valid for closed polygons, for non-closed ones
|
|
// an assertion will be triggered
|
|
BASEGFX_DLLPUBLIC B2DPolygon makeStartPoint(const B2DPolygon& rCandidate, sal_uInt32 nIndexOfNewStatPoint);
|
|
|
|
/** create edges of given length along given B2DPolygon
|
|
|
|
@param rCandidate
|
|
The polygon to move along. Points at the given polygon are created, starting
|
|
at position fStart and stopping at less or equal to fEnd. The closed state is
|
|
preserved.
|
|
The polygon is subdivided if curve segments are included. That subdivision is the base
|
|
for the newly created points.
|
|
If the source is closed, the indirectly existing last edge may NOT have the
|
|
given length.
|
|
If the source is open, all edges will have the given length. You may use the last
|
|
point of the original when You want to add the last edge Yourself.
|
|
|
|
@param fLength
|
|
The length of the created edges. If less or equal zero, an empty polygon is returned.
|
|
|
|
@param fStart
|
|
The start distance for the first to be generated point. Use 0.0 to get the
|
|
original start point. Negative values are truncated to 0.0.
|
|
|
|
@param fEnd
|
|
The maximum distance for the last point. No more points behind this distance will be created.
|
|
Use 0.0 to process the whole polygon. Negative values are truncated to 0.0. It also
|
|
needs to be more or equal to fStart, else it is truncated to fStart.
|
|
|
|
@return
|
|
The newly created polygon
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createEdgesOfGivenLength(const B2DPolygon& rCandidate, double fLength, double fStart = 0.0, double fEnd = 0.0);
|
|
|
|
/** Create Waveline along given polygon
|
|
The implementation is based on createEdgesOfGivenLength and creates a curve
|
|
segment with the given dimensions for each created line segment. The polygon
|
|
is treated as if opened (closed state will be ignored) and only for whole
|
|
edges a curve segment will be created (no rest handling)
|
|
|
|
@param rCandidate
|
|
The polygon along which the waveline will be created
|
|
|
|
@param fWaveWidth
|
|
The length of a single waveline curve segment
|
|
|
|
@param fgWaveHeight
|
|
The height of the waveline (amplitude)
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon createWaveline(const B2DPolygon& rCandidate, double fWaveWidth, double fWaveHeight);
|
|
|
|
/** snap some polygon coordinates to discrete coordinates
|
|
|
|
This method allows to snap some polygon points to discrete (integer) values
|
|
which equals e.g. a snap to discrete coordinates. It will snap points of
|
|
horizontal and vertical edges
|
|
|
|
@param rCandidate
|
|
The source polygon
|
|
|
|
@return
|
|
The modified version of the source polygon
|
|
*/
|
|
BASEGFX_DLLPUBLIC B2DPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolygon& rCandidate);
|
|
|
|
/** returns true if the Polygon only contains horizontal or vertical edges
|
|
so that it could be represented by RegionBands
|
|
*/
|
|
bool containsOnlyHorizontalAndVerticalEdges(const B2DPolygon& rCandidate);
|
|
|
|
/// get the tangent with which the given point is entered seen from the previous
|
|
/// polygon path data. Take into account all stuff like closed state, zero-length edges and others.
|
|
BASEGFX_DLLPUBLIC B2DVector getTangentEnteringPoint(const B2DPolygon& rCandidate, sal_uInt32 nIndex);
|
|
|
|
/// get the tangent with which the given point is left seen from the following
|
|
/// polygon path data. Take into account all stuff like closed state, zero-length edges and others.
|
|
BASEGFX_DLLPUBLIC B2DVector getTangentLeavingPoint(const B2DPolygon& rCandidate, sal_uInt32 nIndex);
|
|
|
|
/// converters for com::sun::star::drawing::PointSequence
|
|
BASEGFX_DLLPUBLIC B2DPolygon UnoPointSequenceToB2DPolygon(
|
|
const com::sun::star::drawing::PointSequence& rPointSequenceSource,
|
|
bool bCheckClosed = true);
|
|
BASEGFX_DLLPUBLIC void B2DPolygonToUnoPointSequence(
|
|
const B2DPolygon& rPolygon,
|
|
com::sun::star::drawing::PointSequence& rPointSequenceRetval);
|
|
|
|
/* converters for com::sun::star::drawing::PointSequence and
|
|
com::sun::star::drawing::FlagSequence to B2DPolygon (curved polygons)
|
|
*/
|
|
B2DPolygon UnoPolygonBezierCoordsToB2DPolygon(
|
|
const com::sun::star::drawing::PointSequence& rPointSequenceSource,
|
|
const com::sun::star::drawing::FlagSequence& rFlagSequenceSource,
|
|
bool bCheckClosed = true);
|
|
void B2DPolygonToUnoPolygonBezierCoords(
|
|
const B2DPolygon& rPolyPolygon,
|
|
com::sun::star::drawing::PointSequence& rPointSequenceRetval,
|
|
com::sun::star::drawing::FlagSequence& rFlagSequenceRetval);
|
|
|
|
/** Read poly-polygon from SVG.
|
|
|
|
This function imports a poly-polygon from an SVG points
|
|
attribute (a plain list of coordinate pairs).
|
|
|
|
@param o_rPoly
|
|
The output polygon. Note that svg:points can only define a
|
|
single polygon
|
|
|
|
@param rSvgPointsAttribute
|
|
A valid SVG points attribute string
|
|
|
|
@return true, if the string was successfully parsed
|
|
*/
|
|
BASEGFX_DLLPUBLIC bool importFromSvgPoints( B2DPolygon& o_rPoly,
|
|
const OUString& rSvgPointsAttribute );
|
|
|
|
/** Write poly-polygon to SVG.
|
|
|
|
This function imports a non-bezier polygon to SVG points
|
|
(a plain list of coordinate pairs).
|
|
|
|
@param rPoly
|
|
The polygon to export
|
|
|
|
@param rSvgPointsAttribute
|
|
A valid SVG points attribute string
|
|
|
|
@return true, if the string was successfully parsed
|
|
*/
|
|
BASEGFX_DLLPUBLIC OUString exportToSvgPoints( const B2DPolygon& rPoly );
|
|
|
|
} // end of namespace tools
|
|
} // end of namespace basegfx
|
|
|
|
#endif // INCLUDED_BASEGFX_POLYGON_B2DPOLYGONTOOLS_HXX
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|