diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2013-04-18 18:26:28 +0200 |
---|---|---|
committer | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2013-04-23 22:20:31 +0200 |
commit | b9337e22ce1dbf2eba0e8c8db294ae99f4111f91 (patch) | |
tree | 53ee1bd3dfd213815a21579151983cb997922b05 /drawinglayer | |
parent | f4e1642a1761d5eab6ccdd89928869c2b2f1528a (diff) |
execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details
Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
Diffstat (limited to 'drawinglayer')
118 files changed, 0 insertions, 13151 deletions
diff --git a/drawinglayer/Module_drawinglayer.mk b/drawinglayer/Module_drawinglayer.mk index 567fac5884f8..52f2482fc714 100644 --- a/drawinglayer/Module_drawinglayer.mk +++ b/drawinglayer/Module_drawinglayer.mk @@ -11,7 +11,6 @@ $(eval $(call gb_Module_Module,drawinglayer)) $(eval $(call gb_Module_add_targets,drawinglayer,\ Library_drawinglayer \ - Package_inc \ )) # vim: set noet sw=4 ts=4: diff --git a/drawinglayer/Package_inc.mk b/drawinglayer/Package_inc.mk deleted file mode 100644 index 56b7f0a3cbe9..000000000000 --- a/drawinglayer/Package_inc.mk +++ /dev/null @@ -1,134 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# 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/. -# - -$(eval $(call gb_Package_Package,drawinglayer_inc,$(SRCDIR)/drawinglayer/inc)) - -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/animation/animationtiming.hxx,drawinglayer/animation/animationtiming.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fillbitmapattribute.hxx,drawinglayer/attribute/fillbitmapattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fillgradientattribute.hxx,drawinglayer/attribute/fillgradientattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fillhatchattribute.hxx,drawinglayer/attribute/fillhatchattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fontattribute.hxx,drawinglayer/attribute/fontattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/lineattribute.hxx,drawinglayer/attribute/lineattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/linestartendattribute.hxx,drawinglayer/attribute/linestartendattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/materialattribute3d.hxx,drawinglayer/attribute/materialattribute3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrallattribute3d.hxx,drawinglayer/attribute/sdrallattribute3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrfillattribute.hxx,drawinglayer/attribute/sdrfillattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx,drawinglayer/attribute/sdrfillbitmapattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrlightattribute3d.hxx,drawinglayer/attribute/sdrlightattribute3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrlightingattribute3d.hxx,drawinglayer/attribute/sdrlightingattribute3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrlineattribute.hxx,drawinglayer/attribute/sdrlineattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrlinestartendattribute.hxx,drawinglayer/attribute/sdrlinestartendattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrobjectattribute3d.hxx,drawinglayer/attribute/sdrobjectattribute3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrsceneattribute3d.hxx,drawinglayer/attribute/sdrsceneattribute3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrshadowattribute.hxx,drawinglayer/attribute/sdrshadowattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/strokeattribute.hxx,drawinglayer/attribute/strokeattribute.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/drawinglayerdllapi.h,drawinglayer/drawinglayerdllapi.h)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/geometry/viewinformation2d.hxx,drawinglayer/geometry/viewinformation2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/geometry/viewinformation3d.hxx,drawinglayer/geometry/viewinformation3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/animatedprimitive2d.hxx,drawinglayer/primitive2d/animatedprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx,drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/baseprimitive2d.hxx,drawinglayer/primitive2d/baseprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx,drawinglayer/primitive2d/bitmapprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx,drawinglayer/primitive2d/borderlineprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx,drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/controlprimitive2d.hxx,drawinglayer/primitive2d/controlprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/cropprimitive2d.hxx,drawinglayer/primitive2d/cropprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx,drawinglayer/primitive2d/discretebitmapprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx,drawinglayer/primitive2d/discreteshadowprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx,drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx,drawinglayer/primitive2d/embedded3dprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/epsprimitive2d.hxx,drawinglayer/primitive2d/epsprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx,drawinglayer/primitive2d/fillbitmapprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx,drawinglayer/primitive2d/fillgradientprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx,drawinglayer/primitive2d/fillhatchprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/graphicprimitive2d.hxx,drawinglayer/primitive2d/graphicprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/gridprimitive2d.hxx,drawinglayer/primitive2d/gridprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/groupprimitive2d.hxx,drawinglayer/primitive2d/groupprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/helplineprimitive2d.hxx,drawinglayer/primitive2d/helplineprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx,drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/invertprimitive2d.hxx,drawinglayer/primitive2d/invertprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx,drawinglayer/primitive2d/markerarrayprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/maskprimitive2d.hxx,drawinglayer/primitive2d/maskprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/mediaprimitive2d.hxx,drawinglayer/primitive2d/mediaprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/metafileprimitive2d.hxx,drawinglayer/primitive2d/metafileprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx,drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx,drawinglayer/primitive2d/objectinfoprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx,drawinglayer/primitive2d/pagepreviewprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx,drawinglayer/primitive2d/patternfillprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx,drawinglayer/primitive2d/pointarrayprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/polygonprimitive2d.hxx,drawinglayer/primitive2d/polygonprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx,drawinglayer/primitive2d/polypolygonprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/primitivetools2d.hxx,drawinglayer/primitive2d/primitivetools2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/sceneprimitive2d.hxx,drawinglayer/primitive2d/sceneprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx,drawinglayer/primitive2d/sdrdecompositiontools2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/shadowprimitive2d.hxx,drawinglayer/primitive2d/shadowprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx,drawinglayer/primitive2d/structuretagprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx,drawinglayer/primitive2d/svggradientprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textbreakuphelper.hxx,drawinglayer/primitive2d/textbreakuphelper.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx,drawinglayer/primitive2d/textdecoratedprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx,drawinglayer/primitive2d/texteffectprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx,drawinglayer/primitive2d/textenumsprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx,drawinglayer/primitive2d/texthierarchyprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textlayoutdevice.hxx,drawinglayer/primitive2d/textlayoutdevice.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textlineprimitive2d.hxx,drawinglayer/primitive2d/textlineprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textlineprimitive2d.hxx,drawinglayer/primitive2d/textlineprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textprimitive2d.hxx,drawinglayer/primitive2d/textprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx,drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx,drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/transformprimitive2d.hxx,drawinglayer/primitive2d/transformprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx,drawinglayer/primitive2d/transparenceprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx,drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx,drawinglayer/primitive2d/wallpaperprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx,drawinglayer/primitive2d/wrongspellprimitive2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/baseprimitive3d.hxx,drawinglayer/primitive3d/baseprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx,drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/groupprimitive3d.hxx,drawinglayer/primitive3d/groupprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx,drawinglayer/primitive3d/hatchtextureprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx,drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx,drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx,drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/polygonprimitive3d.hxx,drawinglayer/primitive3d/polygonprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx,drawinglayer/primitive3d/polygontubeprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx,drawinglayer/primitive3d/polypolygonprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx,drawinglayer/primitive3d/sdrcubeprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx,drawinglayer/primitive3d/sdrdecompositiontools3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx,drawinglayer/primitive3d/sdrextrudelathetools3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx,drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx,drawinglayer/primitive3d/sdrlatheprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx,drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrprimitive3d.hxx,drawinglayer/primitive3d/sdrprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx,drawinglayer/primitive3d/sdrsphereprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/shadowprimitive3d.hxx,drawinglayer/primitive3d/shadowprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/textureprimitive3d.hxx,drawinglayer/primitive3d/textureprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/transformprimitive3d.hxx,drawinglayer/primitive3d/transformprimitive3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/baseprocessor2d.hxx,drawinglayer/processor2d/baseprocessor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/canvasprocessor.hxx,drawinglayer/processor2d/canvasprocessor.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/contourextractor2d.hxx,drawinglayer/processor2d/contourextractor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/hittestprocessor2d.hxx,drawinglayer/processor2d/hittestprocessor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/processorfromoutputdevice.hxx,drawinglayer/processor2d/processorfromoutputdevice.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/linegeometryextractor2d.hxx,drawinglayer/processor2d/linegeometryextractor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/objectinfoextractor2d.hxx,drawinglayer/processor2d/objectinfoextractor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx,drawinglayer/processor2d/textaspolygonextractor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx,drawinglayer/processor2d/vclmetafileprocessor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx,drawinglayer/processor2d/vclpixelprocessor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/vclprocessor2d.hxx,drawinglayer/processor2d/vclprocessor2d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/baseprocessor3d.hxx,drawinglayer/processor3d/baseprocessor3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/cutfindprocessor3d.hxx,drawinglayer/processor3d/cutfindprocessor3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/defaultprocessor3d.hxx,drawinglayer/processor3d/defaultprocessor3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/geometry2dextractor.hxx,drawinglayer/processor3d/geometry2dextractor.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/shadow3dextractor.hxx,drawinglayer/processor3d/shadow3dextractor.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/geometry2dextractor.hxx,drawinglayer/processor3d/geometry2dextractor.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/shadow3dextractor.hxx,drawinglayer/processor3d/shadow3dextractor.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/zbufferprocessor3d.hxx,drawinglayer/processor3d/zbufferprocessor3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/texture/texture3d.hxx,drawinglayer/texture/texture3d.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/texture/texture.hxx,drawinglayer/texture/texture.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/tools/converters.hxx,drawinglayer/tools/converters.hxx)) -$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/XShapeDumper.hxx,drawinglayer/XShapeDumper.hxx)) - -# vim: set noet sw=4 ts=4: diff --git a/drawinglayer/inc/drawinglayer/XShapeDumper.hxx b/drawinglayer/inc/drawinglayer/XShapeDumper.hxx deleted file mode 100644 index a1cd59948362..000000000000 --- a/drawinglayer/inc/drawinglayer/XShapeDumper.hxx +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License or as specified alternatively below. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * Major Contributor(s): - * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer) - * - * All Rights Reserved. - * - * For minor contributions see the git repository. - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <com/sun/star/drawing/XShapes.hpp> -#include <com/sun/star/drawing/XShape.hpp> -#include <com/sun/star/drawing/FillStyle.hpp> -#include <com/sun/star/awt/Gradient.hpp> -#include <com/sun/star/drawing/Hatch.hpp> -#include <com/sun/star/awt/XBitmap.hpp> -#include <com/sun/star/drawing/RectanglePoint.hpp> -#include <com/sun/star/drawing/BitmapMode.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> - -#include <com/sun/star/drawing/LineStyle.hpp> -#include <com/sun/star/drawing/LineDash.hpp> -#include <com/sun/star/drawing/LineJoint.hpp> -#include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp> - -#include <com/sun/star/drawing/PolygonKind.hpp> - -#include <com/sun/star/drawing/TextFitToSizeType.hpp> -#include <com/sun/star/drawing/TextHorizontalAdjust.hpp> -#include <com/sun/star/drawing/TextVerticalAdjust.hpp> -#include <com/sun/star/drawing/TextAnimationDirection.hpp> -#include <com/sun/star/drawing/TextAnimationKind.hpp> -#include <com/sun/star/text/WritingMode.hpp> - -#include <com/sun/star/drawing/HomogenMatrixLine3.hpp> -#include <com/sun/star/drawing/HomogenMatrix3.hpp> - -#include <com/sun/star/beans/PropertyValue.hpp> - -#ifndef XShapeDumper_hxx -#define XShapeDumper_hxx - -class DRAWINGLAYER_DLLPUBLIC XShapeDumper -{ - -public: - XShapeDumper(); - OUString dump(com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> xPageShapes); - -}; -#endif diff --git a/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx b/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx deleted file mode 100644 index 08ee95090f6c..000000000000 --- a/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX -#define INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <vector> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace animation - { - ////////////////////////////////////////////////////////////////////////////// - - class DRAWINGLAYER_DLLPUBLIC AnimationEntry - { - private: - AnimationEntry(const AnimationEntry&); - AnimationEntry& operator=(const AnimationEntry& rCandidate); - - public: - AnimationEntry(); - virtual ~AnimationEntry(); - virtual AnimationEntry* clone() const = 0; - - virtual bool operator==(const AnimationEntry& rCandidate) const = 0; - virtual double getDuration() const = 0; - virtual double getStateAtTime(double fTime) const = 0; - virtual double getNextEventTime(double fTime) const = 0; - }; - - ////////////////////////////////////////////////////////////////////////////// - - class DRAWINGLAYER_DLLPUBLIC AnimationEntryFixed : public AnimationEntry - { - protected: - double mfDuration; - double mfState; - - public: - AnimationEntryFixed(double fDuration, double fState = 0.0); - virtual ~AnimationEntryFixed(); - virtual AnimationEntry* clone() const; - - virtual bool operator==(const AnimationEntry& rCandidate) const; - virtual double getDuration() const; - virtual double getStateAtTime(double fTime) const; - virtual double getNextEventTime(double fTime) const; - }; - - ////////////////////////////////////////////////////////////////////////////// - - class DRAWINGLAYER_DLLPUBLIC AnimationEntryLinear : public AnimationEntry - { - protected: - double mfDuration; - double mfFrequency; - double mfStart; - double mfStop; - - public: - AnimationEntryLinear(double fDuration, double fFrequency = 250.0, double fStart = 0.0, double fStop = 1.0); - virtual ~AnimationEntryLinear(); - virtual AnimationEntry* clone() const; - - virtual bool operator==(const AnimationEntry& rCandidate) const; - virtual double getDuration() const; - virtual double getStateAtTime(double fTime) const; - virtual double getNextEventTime(double fTime) const; - }; - - ////////////////////////////////////////////////////////////////////////////// - - class DRAWINGLAYER_DLLPUBLIC AnimationEntryList : public AnimationEntry - { - protected: - double mfDuration; - ::std::vector< AnimationEntry* > maEntries; - - // helpers - sal_uInt32 impGetIndexAtTime(double fTime, double &rfAddedTime) const; - - public: - AnimationEntryList(); - virtual ~AnimationEntryList(); - virtual AnimationEntry* clone() const; - - virtual bool operator==(const AnimationEntry& rCandidate) const; - void append(const AnimationEntry& rCandidate); - virtual double getDuration() const; - virtual double getStateAtTime(double fTime) const; - virtual double getNextEventTime(double fTime) const; - }; - - ////////////////////////////////////////////////////////////////////////////// - - class DRAWINGLAYER_DLLPUBLIC AnimationEntryLoop : public AnimationEntryList - { - protected: - sal_uInt32 mnRepeat; - - public: - AnimationEntryLoop(sal_uInt32 nRepeat = 0xffffffff); - virtual ~AnimationEntryLoop(); - virtual AnimationEntry* clone() const; - - virtual bool operator==(const AnimationEntry& rCandidate) const; - virtual double getDuration() const; - virtual double getStateAtTime(double fTime) const; - virtual double getNextEventTime(double fTime) const; - }; - - ////////////////////////////////////////////////////////////////////////////// - } // end of namespace animation -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx deleted file mode 100644 index 851dc5ed0697..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -class BitmapEx; - -namespace basegfx { - class B2DPoint; - class B2DVector; -} - -namespace drawinglayer { namespace attribute { - class ImpFillBitmapAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC FillBitmapAttribute - { - public: - typedef o3tl::cow_wrapper< ImpFillBitmapAttribute > ImplType; - - private: - ImplType mpFillBitmapAttribute; - - public: - /// constructors/assignmentoperator/destructor - FillBitmapAttribute( - const BitmapEx& rBitmapEx, - const basegfx::B2DPoint& rTopLeft, - const basegfx::B2DVector& rSize, - bool bTiling); - FillBitmapAttribute(const FillBitmapAttribute& rCandidate); - FillBitmapAttribute& operator=(const FillBitmapAttribute& rCandidate); - ~FillBitmapAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const FillBitmapAttribute& rCandidate) const; - - // data read access - const BitmapEx& getBitmapEx() const; - const basegfx::B2DPoint& getTopLeft() const; - const basegfx::B2DVector& getSize() const; - bool getTiling() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx deleted file mode 100644 index e791193651a0..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; -} - -namespace drawinglayer { namespace attribute { - class ImpFillGradientAttribute; -}} - - -namespace drawinglayer -{ - namespace attribute - { - enum GradientStyle - { - GRADIENTSTYLE_LINEAR, - GRADIENTSTYLE_AXIAL, - GRADIENTSTYLE_RADIAL, - GRADIENTSTYLE_ELLIPTICAL, - GRADIENTSTYLE_SQUARE, - GRADIENTSTYLE_RECT - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC FillGradientAttribute - { - public: - typedef o3tl::cow_wrapper< ImpFillGradientAttribute > ImplType; - - private: - ImplType mpFillGradientAttribute; - - public: - /// constructors/assignmentoperator/destructor - FillGradientAttribute( - GradientStyle eStyle, - double fBorder, - double fOffsetX, - double fOffsetY, - double fAngle, - const basegfx::BColor& rStartColor, - const basegfx::BColor& rEndColor, - sal_uInt16 nSteps); - FillGradientAttribute(); - FillGradientAttribute(const FillGradientAttribute& rCandidate); - FillGradientAttribute& operator=(const FillGradientAttribute& rCandidate); - ~FillGradientAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const FillGradientAttribute& rCandidate) const; - - // data read access - GradientStyle getStyle() const; - double getBorder() const; - double getOffsetX() const; - double getOffsetY() const; - double getAngle() const; - const basegfx::BColor& getStartColor() const; - const basegfx::BColor& getEndColor() const; - sal_uInt16 getSteps() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx deleted file mode 100644 index 7e6244be090b..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; -} - -namespace drawinglayer { namespace attribute { - class ImpFillHatchAttribute; -}} - - -namespace drawinglayer -{ - namespace attribute - { - enum HatchStyle - { - HATCHSTYLE_SINGLE, - HATCHSTYLE_DOUBLE, - HATCHSTYLE_TRIPLE - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC FillHatchAttribute - { - public: - typedef o3tl::cow_wrapper< ImpFillHatchAttribute > ImplType; - - private: - ImplType mpFillHatchAttribute; - - public: - /// constructors/assignmentoperator/destructor - FillHatchAttribute( - HatchStyle eStyle, - double fDistance, - double fAngle, - const basegfx::BColor& rColor, - bool bFillBackground); - FillHatchAttribute(); - FillHatchAttribute(const FillHatchAttribute& rCandidate); - FillHatchAttribute& operator=(const FillHatchAttribute& rCandidate); - ~FillHatchAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const FillHatchAttribute& rCandidate) const; - - // data read access - HatchStyle getStyle() const; - double getDistance() const; - double getAngle() const; - const basegfx::BColor& getColor() const; - bool isFillBackground() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx deleted file mode 100644 index b49ab83b300e..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -class String; - -namespace drawinglayer { namespace attribute { - class ImpFontAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - /** FontAttribute class - - This attribute class is able to hold all parameters needed/used - to completely define the parametrisation of a text portion. - */ - class DRAWINGLAYER_DLLPUBLIC FontAttribute - { - public: - typedef o3tl::cow_wrapper< ImpFontAttribute > ImplType; - - private: - ImplType mpFontAttribute; - - public: - /// constructors/assignmentoperator/destructor - /// TODO: pair kerning and CJK kerning - FontAttribute( - const String& rFamilyName, - const String& rStyleName, - sal_uInt16 nWeight, - bool bSymbol = false, - bool bVertical = false, - bool bItalic = false, - bool bMonospaced = false, - bool bOutline = false, - bool bRTL = false, - bool bBiDiStrong = false); - FontAttribute(); - FontAttribute(const FontAttribute& rCandidate); - FontAttribute& operator=(const FontAttribute& rCandidate); - ~FontAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const FontAttribute& rCandidate) const; - - /// data read access - const String& getFamilyName() const; - const String& getStyleName() const; - sal_uInt16 getWeight() const; - bool getSymbol() const; - bool getVertical() const; - bool getItalic() const; - bool getOutline() const; - bool getRTL() const; - bool getBiDiStrong() const; - bool getMonospaced() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx deleted file mode 100644 index 58eb987714e3..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <basegfx/vector/b2enums.hxx> -#include <com/sun/star/drawing/LineCap.hpp> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; -} - -namespace drawinglayer { namespace attribute { - class ImpLineAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC LineAttribute - { - public: - typedef o3tl::cow_wrapper< ImpLineAttribute > ImplType; - - private: - ImplType mpLineAttribute; - - public: - /// constructors/assignmentoperator/destructor - explicit LineAttribute( - const basegfx::BColor& rColor, - double fWidth = 0.0, - basegfx::B2DLineJoin aB2DLineJoin = basegfx::B2DLINEJOIN_ROUND, - com::sun::star::drawing::LineCap aLineCap = com::sun::star::drawing::LineCap_BUTT); - LineAttribute(); - LineAttribute(const LineAttribute& rCandidate); - LineAttribute& operator=(const LineAttribute& rCandidate); - ~LineAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const LineAttribute& rCandidate) const; - - // data read access - const basegfx::BColor& getColor() const; - double getWidth() const; - basegfx::B2DLineJoin getLineJoin() const; - com::sun::star::drawing::LineCap getLineCap() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx deleted file mode 100644 index e02d3565aaf7..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class B2DPolyPolygon; -} - -namespace drawinglayer { namespace attribute { - class ImpLineStartEndAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC LineStartEndAttribute - { - public: - typedef o3tl::cow_wrapper< ImpLineStartEndAttribute > ImplType; - - private: - ImplType mpLineStartEndAttribute; - - public: - /// constructors/assignmentoperator/destructor - LineStartEndAttribute( - double fWidth, - const basegfx::B2DPolyPolygon& rPolyPolygon, - bool bCentered); - LineStartEndAttribute(); - LineStartEndAttribute(const LineStartEndAttribute& rCandidate); - LineStartEndAttribute& operator=(const LineStartEndAttribute& rCandidate); - ~LineStartEndAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const LineStartEndAttribute& rCandidate) const; - - // data read access - double getWidth() const; - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const; - bool isCentered() const; - bool isActive() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx deleted file mode 100644 index 9c4d34dce155..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace attribute { - class ImpMaterialAttribute3D; -}} - -namespace basegfx { - class BColor; -} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC MaterialAttribute3D - { - public: - typedef o3tl::cow_wrapper< ImpMaterialAttribute3D > ImplType; - - private: - ImplType mpMaterialAttribute3D; - - public: - // constructors/destructor - MaterialAttribute3D( - const basegfx::BColor& rColor, - const basegfx::BColor& rSpecular, - const basegfx::BColor& rEmission, - sal_uInt16 nSpecularIntensity); - MaterialAttribute3D(const basegfx::BColor& rColor); - MaterialAttribute3D(); - MaterialAttribute3D(const MaterialAttribute3D& rCandidate); - ~MaterialAttribute3D(); - - // assignment operator - MaterialAttribute3D& operator=(const MaterialAttribute3D& rCandidate); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const MaterialAttribute3D& rCandidate) const; - - // data read access - const basegfx::BColor& getColor() const; - const basegfx::BColor& getSpecular() const; - const basegfx::BColor& getEmission() const; - sal_uInt16 getSpecularIntensity() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx deleted file mode 100644 index abd46bf273fe..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/attribute/sdrlineattribute.hxx> -#include <drawinglayer/attribute/sdrfillattribute.hxx> -#include <drawinglayer/attribute/sdrlinestartendattribute.hxx> -#include <drawinglayer/attribute/sdrshadowattribute.hxx> -#include <drawinglayer/attribute/fillgradientattribute.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrLineFillShadowAttribute3D - { - private: - const SdrLineAttribute maLine; - const SdrFillAttribute maFill; - const SdrLineStartEndAttribute maLineStartEnd; - const SdrShadowAttribute maShadow; - const FillGradientAttribute maFillFloatTransGradient; - - public: - /// constructors/assignmentoperator/destructor - SdrLineFillShadowAttribute3D( - const SdrLineAttribute& rLine, - const SdrFillAttribute& rFill, - const SdrLineStartEndAttribute& rLineStartEnd, - const SdrShadowAttribute& rShadow, - const FillGradientAttribute& rFillFloatTransGradient); - SdrLineFillShadowAttribute3D(); - - // compare operator - bool operator==(const SdrLineFillShadowAttribute3D& rCandidate) const; - - // data read access - const SdrLineAttribute& getLine() const { return maLine; } - const SdrFillAttribute& getFill() const { return maFill; } - const SdrLineStartEndAttribute& getLineStartEnd() const { return maLineStartEnd; } - const SdrShadowAttribute& getShadow() const { return maShadow; } - const FillGradientAttribute& getFillFloatTransGradient() const { return maFillFloatTransGradient; } - }; - } // end of namespace overlay -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx deleted file mode 100644 index 7fd3d38c224e..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; -} - -namespace drawinglayer { namespace attribute { - class ImpSdrFillAttribute; - class FillGradientAttribute; - class FillHatchAttribute; - class SdrFillBitmapAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrFillAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrFillAttribute > ImplType; - - private: - ImplType mpSdrFillAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrFillAttribute( - double fTransparence, - const basegfx::BColor& rColor, - const FillGradientAttribute& rGradient, - const FillHatchAttribute& rHatch, - const SdrFillBitmapAttribute& rBitmap); - SdrFillAttribute(); - SdrFillAttribute(const SdrFillAttribute& rCandidate); - SdrFillAttribute& operator=(const SdrFillAttribute& rCandidate); - ~SdrFillAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrFillAttribute& rCandidate) const; - - // data read access - double getTransparence() const; - const basegfx::BColor& getColor() const; - const FillGradientAttribute& getGradient() const; - const FillHatchAttribute& getHatch() const; - const SdrFillBitmapAttribute& getBitmap() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx deleted file mode 100644 index 78417f3577c9..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -class BitmapEx; - -namespace basegfx { - class B2DRange; - class B2DVector; -} - -namespace drawinglayer { namespace attribute { - class FillBitmapAttribute; - class ImpSdrFillBitmapAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrFillBitmapAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrFillBitmapAttribute > ImplType; - - private: - ImplType mpSdrFillBitmapAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrFillBitmapAttribute( - const BitmapEx& rBitmapEx, - const basegfx::B2DVector& rSize, - const basegfx::B2DVector& rOffset, - const basegfx::B2DVector& rOffsetPosition, - const basegfx::B2DVector& rRectPoint, - bool bTiling, - bool bStretch, - bool bLogSize); - SdrFillBitmapAttribute(); - SdrFillBitmapAttribute(const SdrFillBitmapAttribute& rCandidate); - SdrFillBitmapAttribute& operator=(const SdrFillBitmapAttribute& rCandidate); - ~SdrFillBitmapAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrFillBitmapAttribute& rCandidate) const; - - // data read access - const BitmapEx& getBitmapEx() const; - const basegfx::B2DVector& getSize() const; - const basegfx::B2DVector& getOffset() const; - const basegfx::B2DVector& getOffsetPosition() const; - const basegfx::B2DVector& getRectPoint() const; - bool getTiling() const; - bool getStretch() const; - - // FillBitmapAttribute generator - FillBitmapAttribute getFillBitmapAttribute(const basegfx::B2DRange& rRange) const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx deleted file mode 100644 index f9e35798cd3e..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; - class B3DVector; -} - -namespace drawinglayer { namespace attribute { - class ImpSdr3DLightAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC Sdr3DLightAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdr3DLightAttribute > ImplType; - - private: - ImplType mpSdr3DLightAttribute; - - public: - // constructors/destructor - Sdr3DLightAttribute( - const basegfx::BColor& rColor, - const basegfx::B3DVector& rDirection, - bool bSpecular); - explicit Sdr3DLightAttribute(const basegfx::BColor& rColor); - Sdr3DLightAttribute(const Sdr3DLightAttribute& rCandidate); - ~Sdr3DLightAttribute(); - - // assignment operator - Sdr3DLightAttribute& operator=(const Sdr3DLightAttribute& rCandidate); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const Sdr3DLightAttribute& rCandidate) const; - - // data read access - const basegfx::BColor& getColor() const; - const basegfx::B3DVector& getDirection() const; - bool getSpecular() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx deleted file mode 100644 index 0c3bb96b9f70..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; - class B3DVector; -} - -namespace drawinglayer { namespace attribute { - class ImpSdrLightingAttribute; - class Sdr3DLightAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrLightingAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrLightingAttribute > ImplType; - - private: - ImplType mpSdrLightingAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrLightingAttribute( - const basegfx::BColor& rAmbientLight, - const ::std::vector< Sdr3DLightAttribute >& rLightVector); - SdrLightingAttribute(); - SdrLightingAttribute(const SdrLightingAttribute& rCandidate); - SdrLightingAttribute& operator=(const SdrLightingAttribute& rCandidate); - ~SdrLightingAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrLightingAttribute& rCandidate) const; - - // data read access - const ::std::vector< Sdr3DLightAttribute >& getLightVector() const; - - // color model solver - basegfx::BColor solveColorModel( - const basegfx::B3DVector& rNormalInEyeCoordinates, - const basegfx::BColor& rColor, const basegfx::BColor& rSpecular, - const basegfx::BColor& rEmission, sal_uInt16 nSpecularIntensity) const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx deleted file mode 100644 index bedbd9f29bb9..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <basegfx/vector/b2enums.hxx> -#include <com/sun/star/drawing/LineCap.hpp> -#include <o3tl/cow_wrapper.hxx> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; -} - -namespace drawinglayer { namespace attribute { - class ImpSdrLineAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrLineAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrLineAttribute > ImplType; - - private: - ImplType mpSdrLineAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrLineAttribute( - basegfx::B2DLineJoin eJoin, - double fWidth, - double fTransparence, - const basegfx::BColor& rColor, - com::sun::star::drawing::LineCap eCap, - const ::std::vector< double >& rDotDashArray, - double fFullDotDashLen); - SdrLineAttribute(); - SdrLineAttribute(const SdrLineAttribute& rCandidate); - SdrLineAttribute& operator=(const SdrLineAttribute& rCandidate); - ~SdrLineAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrLineAttribute& rCandidate) const; - - // data access - basegfx::B2DLineJoin getJoin() const; - double getWidth() const; - double getTransparence() const; - const basegfx::BColor& getColor() const; - const ::std::vector< double >& getDotDashArray() const; - double getFullDotDashLen() const; - com::sun::star::drawing::LineCap getCap() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx deleted file mode 100644 index 19c1a5147db0..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class B2DPolyPolygon; -} - -namespace drawinglayer { namespace attribute { - class ImpSdrLineStartEndAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrLineStartEndAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrLineStartEndAttribute > ImplType; - - private: - ImplType mpSdrLineStartEndAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrLineStartEndAttribute( - const basegfx::B2DPolyPolygon& rStartPolyPolygon, - const basegfx::B2DPolyPolygon& rEndPolyPolygon, - double fStartWidth, - double fEndWidth, - bool bStartActive, - bool bEndActive, - bool bStartCentered, - bool bEndCentered); - SdrLineStartEndAttribute(); - SdrLineStartEndAttribute(const SdrLineStartEndAttribute& rCandidate); - SdrLineStartEndAttribute& operator=(const SdrLineStartEndAttribute& rCandidate); - ~SdrLineStartEndAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrLineStartEndAttribute& rCandidate) const; - - // data read access - const basegfx::B2DPolyPolygon& getStartPolyPolygon() const; - const basegfx::B2DPolyPolygon& getEndPolyPolygon() const; - double getStartWidth() const; - double getEndWidth() const; - bool isStartActive() const; - bool isEndActive() const; - bool isStartCentered() const; - bool isEndCentered() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx deleted file mode 100644 index 860093a67666..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <com/sun/star/drawing/NormalsKind.hpp> -#include <com/sun/star/drawing/TextureProjectionMode.hpp> -#include <com/sun/star/drawing/TextureKind2.hpp> -#include <com/sun/star/drawing/TextureMode.hpp> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace attribute { - class ImpSdr3DObjectAttribute; - class MaterialAttribute3D; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC Sdr3DObjectAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdr3DObjectAttribute > ImplType; - - private: - ImplType mpSdr3DObjectAttribute; - - public: - // constructors/destructor - Sdr3DObjectAttribute( - ::com::sun::star::drawing::NormalsKind aNormalsKind, - ::com::sun::star::drawing::TextureProjectionMode aTextureProjectionX, - ::com::sun::star::drawing::TextureProjectionMode aTextureProjectionY, - ::com::sun::star::drawing::TextureKind2 aTextureKind, - ::com::sun::star::drawing::TextureMode aTextureMode, - const MaterialAttribute3D& rMaterial, - bool bNormalsInvert, - bool bDoubleSided, - bool bShadow3D, - bool bTextureFilter, - bool bReducedLineGeometry); - Sdr3DObjectAttribute(const Sdr3DObjectAttribute& rCandidate); - ~Sdr3DObjectAttribute(); - - // assignment operator - Sdr3DObjectAttribute& operator=(const Sdr3DObjectAttribute& rCandidate); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const Sdr3DObjectAttribute& rCandidate) const; - - // data read access - ::com::sun::star::drawing::NormalsKind getNormalsKind() const; - ::com::sun::star::drawing::TextureProjectionMode getTextureProjectionX() const; - ::com::sun::star::drawing::TextureProjectionMode getTextureProjectionY() const; - ::com::sun::star::drawing::TextureKind2 getTextureKind() const; - ::com::sun::star::drawing::TextureMode getTextureMode() const; - const MaterialAttribute3D& getMaterial() const; - bool getNormalsInvert() const; - bool getDoubleSided() const; - bool getShadow3D() const; - bool getTextureFilter() const; - bool getReducedLineGeometry() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx deleted file mode 100644 index 61d4d8a67378..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <com/sun/star/drawing/ProjectionMode.hpp> -#include <com/sun/star/drawing/ShadeMode.hpp> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace attribute { - class ImpSdrSceneAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrSceneAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrSceneAttribute > ImplType; - - private: - ImplType mpSdrSceneAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrSceneAttribute( - double fDistance, - double fShadowSlant, - ::com::sun::star::drawing::ProjectionMode aProjectionMode, - ::com::sun::star::drawing::ShadeMode aShadeMode, - bool bTwoSidedLighting); - SdrSceneAttribute(); - SdrSceneAttribute(const SdrSceneAttribute& rCandidate); - SdrSceneAttribute& operator=(const SdrSceneAttribute& rCandidate); - ~SdrSceneAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrSceneAttribute& rCandidate) const; - - // data read access - double getShadowSlant() const; - ::com::sun::star::drawing::ProjectionMode getProjectionMode() const; - ::com::sun::star::drawing::ShadeMode getShadeMode() const; - bool getTwoSidedLighting() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx deleted file mode 100644 index ee1f36292505..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BColor; - class B2DVector; -} - -namespace drawinglayer { namespace attribute { - class ImpSdrShadowAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC SdrShadowAttribute - { - public: - typedef o3tl::cow_wrapper< ImpSdrShadowAttribute > ImplType; - - private: - ImplType mpSdrShadowAttribute; - - public: - /// constructors/assignmentoperator/destructor - SdrShadowAttribute( - const basegfx::B2DVector& rOffset, - double fTransparence, - const basegfx::BColor& rColor); - SdrShadowAttribute(); - SdrShadowAttribute(const SdrShadowAttribute& rCandidate); - SdrShadowAttribute& operator=(const SdrShadowAttribute& rCandidate); - ~SdrShadowAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const SdrShadowAttribute& rCandidate) const; - - // data access - const basegfx::B2DVector& getOffset() const; - double getTransparence() const; - const basegfx::BColor& getColor() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx deleted file mode 100644 index 6d4cea978482..000000000000 --- a/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- 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_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <o3tl/cow_wrapper.hxx> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace attribute { - class ImpStrokeAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace attribute - { - class DRAWINGLAYER_DLLPUBLIC StrokeAttribute - { - public: - typedef o3tl::cow_wrapper< ImpStrokeAttribute > ImplType; - - private: - ImplType mpStrokeAttribute; - - public: - /// constructors/assignmentoperator/destructor - explicit StrokeAttribute( - const ::std::vector< double >& rDotDashArray, - double fFullDotDashLen = 0.0); - StrokeAttribute(); - StrokeAttribute(const StrokeAttribute& rCandidate); - StrokeAttribute& operator=(const StrokeAttribute& rCandidate); - ~StrokeAttribute(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - // compare operator - bool operator==(const StrokeAttribute& rCandidate) const; - - // data read access - const ::std::vector< double >& getDotDashArray() const; - double getFullDotDashLen() const; - }; - } // end of namespace attribute -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h b/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h deleted file mode 100644 index 0b3983504919..000000000000 --- a/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -*- 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/. - */ - -#ifndef INCLUDED_DRAWINGLAYER_DRAWINGLAYERDLLAPI_H -#define INCLUDED_DRAWINGLAYER_DRAWINGLAYERDLLAPI_H - -#include <sal/types.h> - -#if defined(DRAWINGLAYER_DLLIMPLEMENTATION) -#define DRAWINGLAYER_DLLPUBLIC SAL_DLLPUBLIC_EXPORT -#else -#define DRAWINGLAYER_DLLPUBLIC SAL_DLLPUBLIC_IMPORT -#endif -#define DRAWINGLAYER_DLLPRIVATE SAL_DLLPRIVATE - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx b/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx deleted file mode 100644 index f8e0d6699448..000000000000 --- a/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx +++ /dev/null @@ -1,181 +0,0 @@ -/* -*- 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_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX -#define INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -// the solaris compiler defines 'sun' as '1'. To avoid that (and to allow -// pre-declarations of com/sun/star namespace), include sal/config.h here -// where sun is redefined as 'sun' (so i guess the problem is known). -#include <sal/config.h> -#include <com/sun/star/uno/Sequence.h> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/drawing/XDrawPage.hpp> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace geometry { - class ImpViewInformation2D; -}} - -namespace basegfx { - class B2DHomMatrix; - class B2DRange; -} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace geometry - { - /** ViewInformation2D class - - This class holds all view-relevant information for a 2d geometry. It works - together with UNO API definitions and supports holding a sequence of PropertyValues. - The most used data is for convenience offered directly using basegfx tooling classes. - It is an implementation to support the sequence of PropertyValues used in a - ::com::sun::star::graphic::XPrimitive2D for C++ implementations working with those - */ - class DRAWINGLAYER_DLLPUBLIC ViewInformation2D - { - public: - typedef o3tl::cow_wrapper< ImpViewInformation2D, o3tl::ThreadSafeRefCountingPolicy > ImplType; - - private: - /// pointer to private implementation class - ImplType mpViewInformation2D; - - public: - /** Constructor: Create a ViewInformation2D - - @param rObjectTransformation - The Transformation from Object to World coordinates (normally logic coordinates). - - @param rViewTransformation - The Transformation from World to View coordinates (normally logic coordinates - to discrete units, e.g. pixels). - - @param rViewport - The visible part of the view in World coordinates. If empty (getViewport().isEmpty()) - everything is visible. The data is in World coordinates. - - @param rxDrawPage - The currently displaqyed page. This information is needed e.g. due to existing PageNumber - fields which need to be interpreted. - - @param fViewTime - The time the view is defined for. Default is 0.0. This parameter is used e.g. for - animated objects - - @param rExtendedParameters - A sequence of property values which allows holding various other parameters besides - the obvious and needed ones above. For this constructor none of the other parameters - should be added as data. The constructor will parse the given parameters and if - data for the other parameters is given, the value in rExtendedParameters will - be preferred and overwrite the given parameter - */ - ViewInformation2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - const basegfx::B2DHomMatrix& rViewTransformation, - const basegfx::B2DRange& rViewport, - const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& rxDrawPage, - double fViewTime, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rExtendedParameters); - - /** Constructor: Create a ViewInformation2D - - @param rViewParameters - A sequence of property values which allows holding any combination of local and various - other parameters. This constructor is feeded completely with a sequence of PropertyValues - which will be parsed to be able to offer the most used ones in a convenient way. - */ - explicit ViewInformation2D(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters); - - /// default (empty) constructor - ViewInformation2D(); - - /// copy constructor - ViewInformation2D(const ViewInformation2D& rCandidate); - - /// destructor - ~ViewInformation2D(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - /// assignment operator - ViewInformation2D& operator=(const ViewInformation2D& rCandidate); - - /// compare operators - bool operator==(const ViewInformation2D& rCandidate) const; - bool operator!=(const ViewInformation2D& rCandidate) const { return !operator==(rCandidate); } - - /// data access - const basegfx::B2DHomMatrix& getObjectTransformation() const; - const basegfx::B2DHomMatrix& getViewTransformation() const; - const basegfx::B2DRange& getViewport() const; - double getViewTime() const; - const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& getVisualizedPage() const; - - /// On-demand prepared Object to View transformation and it's inerse for convenience - const basegfx::B2DHomMatrix& getObjectToViewTransformation() const; - const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const; - - /// On-demand prepared Viewport in discrete units for convenience - const basegfx::B2DRange& getDiscreteViewport() const; - - /** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This - is used e.g. to allow to lower display quality for OverlayPrimitives and - may lead to simpler decompositions in the local create2DDecomposition - implementations of the primitives - */ - bool getReducedDisplayQuality() const; - - /** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation - - Use this call if You need to extract all contained ViewInformation. The ones - directly supported for convenience will be added to the ones only available - as PropertyValues. This set completely describes this ViewInformation2D and - can be used for complete information transport over UNO API. - */ - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getViewInformationSequence() const; - - /** Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation - not offered directly - - Use this call if You only need ViewInformation which is not offered conveniently, - but only exists as PropertyValue. This is e.g. used to create partially updated - incarnations of ViewInformation2D without losing the only with PropertyValues - defined data. It does not contain a complete description. - */ - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getExtendedInformationSequence() const; - }; - } // end of namespace geometry -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx b/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx deleted file mode 100644 index 86c9a2c16296..000000000000 --- a/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- 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_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX -#define INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -// the solaris compiler defines 'sun' as '1'. To avoid that (and to allow -// pre-declarations of com/sun/star namespace), include sal/config.h here -// where sun is redefined as 'sun' (so i guess the problem is known). -#include <sal/config.h> -#include <com/sun/star/uno/Sequence.h> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <o3tl/cow_wrapper.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace geometry { - class ImpViewInformation3D; -}} - -namespace basegfx { - class B3DHomMatrix; -} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace geometry - { - /** ViewInformation3D class - - This class holds all view-relevant information for a 3d geometry. It works - together with UNO API definitions and supports holding a sequence of PropertyValues. - The most used data is for convenience offered directly using basegfx tooling classes. - It is an implementation to support the sequence of PropertyValues used in a - ::com::sun::star::graphic::XPrimitive3D for C++ implementations working with those - */ - class DRAWINGLAYER_DLLPUBLIC ViewInformation3D - { - public: - typedef o3tl::cow_wrapper< ImpViewInformation3D, o3tl::ThreadSafeRefCountingPolicy > ImplType; - - private: - /// pointer to private implementation class - ImplType mpViewInformation3D; - - public: - /** Constructor: Create a ViewInformation3D - - @param rObjectTransformation - The Transformation from Object to World coordinates (normally logic coordinates). - - @param rOrientation - A part of the 3D ViewTransformation, the World to Camera coordinates transformation - which holds the camera coordinate system. - - @param rProjection - A part of the 3D ViewTransformation, the Camera to Device transformation which - transforms coordinates to a [0.0 .. 1.0] device range in X,Y and Z. Z may be used - as source for for Z-Buffers. This transformation may be e.g. a parallell projection, - but also a perspective one and thus may use the last line of the matrix. - - @param rDeviceToView - A part of the 3D ViewTransformation, the Device to View transformation which normally - translates and scales from [0.0 .. 1.0] range in X,Y and Z to discrete position and - size. - - rOrientation, rProjection and rDeviceToView define the 3D transformation pipeline - and are normally used multiplied together to have a direct transformation from - World to View coordinates - - @param fViewTime - The time the view is defined for. Default is 0.0. This parameter is used e.g. for - animated objects - - @param rExtendedParameters - A sequence of property values which allows holding various other parameters besides - the obvious and needed ones above. For this constructor none of the other parameters - should be added as data. The constructor will parse the given parameters and if - data for the other parameters is given, the value in rExtendedParameters will - be preferred and overwrite the given parameter - */ - ViewInformation3D( - const basegfx::B3DHomMatrix& rObjectTransformation, - const basegfx::B3DHomMatrix& rOrientation, - const basegfx::B3DHomMatrix& rProjection, - const basegfx::B3DHomMatrix& rDeviceToView, - double fViewTime, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rExtendedParameters); - - /** Constructor: Create a ViewInformation3D - - @param rViewParameters - A sequence of property values which allows holding any combination of local and various - other parameters. This constructor is feeded completely with a sequence of PropertyValues - which will be parsed to be able to offer the most used ones in a convenient way. - */ - explicit ViewInformation3D(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters); - - /// default (empty) constructor - ViewInformation3D(); - - /// copy constructor - ViewInformation3D(const ViewInformation3D& rCandidate); - - /// destructor - ~ViewInformation3D(); - - // checks if the incarnation is default constructed - bool isDefault() const; - - /// assignment operator - ViewInformation3D& operator=(const ViewInformation3D& rCandidate); - - /// compare operators - bool operator==(const ViewInformation3D& rCandidate) const; - bool operator!=(const ViewInformation3D& rCandidate) const { return !operator==(rCandidate); } - - /// data access - const basegfx::B3DHomMatrix& getObjectTransformation() const; - const basegfx::B3DHomMatrix& getOrientation() const; - const basegfx::B3DHomMatrix& getProjection() const; - const basegfx::B3DHomMatrix& getDeviceToView() const; - double getViewTime() const; - - /// for convenience, the linear combination of the above four transformations is offered - const basegfx::B3DHomMatrix& getObjectToView() const; - - /** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation - - Use this call if You need to extract all contained ViewInformation. The ones - directly supported for convenience will be added to the ones only available - as PropertyValues. This set completely describes this ViewInformation3D and - can be used for complete information transport over UNO API. - */ - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getViewInformationSequence() const; - - /** Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation - not offered directly - - Use this call if You only need ViewInformation which is not offered conveniently, - but only exists as PropertyValue. This is e.g. used to create partially updated - incarnations of ViewInformation3D without losing the only with PropertyValues - defined data. It does not contain a complete description. - */ - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getExtendedInformationSequence() const; - }; - } // end of namespace geometry -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx deleted file mode 100644 index 59ee3225dc78..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx +++ /dev/null @@ -1,171 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/matrix/b2dhommatrixtools.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines -namespace drawinglayer { namespace animation { - class AnimationEntry; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** AnimatedSwitchPrimitive2D class - - This is the basic class for simple, animated primitives. The basic idea - is to have an animation definition (AnimationEntry) who's basic - functionality is to return a state value for any given animation time in - the range of [0.0 .. 1.0]. Depending on the state, the decomposition - calculates an index, which of the members of the child vector is to - be visualized. - - An example: For blinking, the Child vector should exist of two entries; - for values of [0.0 .. 0.5] the first, else the last entry will be used. - This mechanism is not limited to two entries, though. - */ - class DRAWINGLAYER_DLLPUBLIC AnimatedSwitchPrimitive2D : public GroupPrimitive2D - { - private: - /** - The animation definition which allows translation of a point in time - to an animation state [0.0 .. 1.0]. This member contains a cloned - definition and is owned by this implementation. - */ - animation::AnimationEntry* mpAnimationEntry; - - /// bitfield - /** flag if this is a text or graphic animation. Necessary since SdrViews need to differentiate - between both types if they are on/off - */ - unsigned mbIsTextAnimation : 1; - - public: - /// constructor - AnimatedSwitchPrimitive2D( - const animation::AnimationEntry& rAnimationEntry, - const Primitive2DSequence& rChildren, - bool bIsTextAnimation); - - /// destructor - needed due to mpAnimationEntry - virtual ~AnimatedSwitchPrimitive2D(); - - /// data read access - const animation::AnimationEntry& getAnimationEntry() const { return *mpAnimationEntry; } - bool isTextAnimation() const { return mbIsTextAnimation; } - bool isGraphicAnimation() const { return !isTextAnimation(); } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /** The getDecomposition is overloaded here since the decompose is dependent of the point in time, - so the default implementation is nut useful here, it needs to be handled locally - */ - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** AnimatedBlinkPrimitive2D class - - Basically the same mechanism as in AnimatedSwitchPrimitive2D, but the - decomposition is specialized in delivering the children in the - range [0.0.. 0.5] and an empty sequence else - */ - class DRAWINGLAYER_DLLPUBLIC AnimatedBlinkPrimitive2D : public AnimatedSwitchPrimitive2D - { - protected: - public: - /// constructor - AnimatedBlinkPrimitive2D( - const animation::AnimationEntry& rAnimationEntry, - const Primitive2DSequence& rChildren, - bool bIsTextAnimation); - - /// create local decomposition - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** AnimatedInterpolatePrimitive2D class - - Specialized on multi-step animations based on matrix transformations. The - Child sequelce will be embedded in a matrix transformation. That transformation - will be linearly combined from the decomposed values and the animation value - to allow a smooth animation. - */ - class DRAWINGLAYER_DLLPUBLIC AnimatedInterpolatePrimitive2D : public AnimatedSwitchPrimitive2D - { - private: - /// the transformations - std::vector< basegfx::tools::B2DHomMatrixBufferedDecompose > maMatrixStack; - - protected: - public: - /// constructor - AnimatedInterpolatePrimitive2D( - const std::vector< basegfx::B2DHomMatrix >& rmMatrixStack, - const animation::AnimationEntry& rAnimationEntry, - const Primitive2DSequence& rChildren, - bool bIsTextAnimation); - - /// create local decomposition - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx deleted file mode 100644 index 3986aba3566b..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// -// BackgroundColorPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** BackgroundColorPrimitive2D class - - This primitive is defined to fill the whole visible Viewport with - the given color (and thus decomposes to a filled polygon). This - makes it a view-depnendent primitive by definition. It only has - a valid decomposition if a valid Viewport is given in the - ViewInformation2D at decomposition time. - - It will try to buffer it's last decomposition using maLastViewport - to detect changes in the get2DDecomposition call. - */ - class DRAWINGLAYER_DLLPUBLIC BackgroundColorPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the fill color to use - basegfx::BColor maBColor; - - /// the last used viewInformation, used from getDecomposition for buffering - basegfx::B2DRange maLastViewport; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - explicit BackgroundColorPrimitive2D( - const basegfx::BColor& rBColor); - - /// data read access - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get B2Drange - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /// Overload standard getDecomposition call to be view-dependent here - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx deleted file mode 100644 index 157c13bb33a8..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx +++ /dev/null @@ -1,296 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <cppuhelper/compbase1.hxx> -#include <boost/utility.hpp> -#include <com/sun/star/graphic/XPrimitive2D.hpp> -#include <comphelper/broadcasthelper.hxx> -#include <basegfx/range/b2drange.hxx> - -////////////////////////////////////////////////////////////////////////////// -/** defines for DeclPrimitrive2DIDBlock and ImplPrimitrive2DIDBlock - Added to be able to simply change identification stuff later, e.g. add - a identification string and/or ID to the interface and to the implementation - ATM used to delclare implement getPrimitive2DID() -*/ - -#define DeclPrimitrive2DIDBlock() \ - virtual sal_uInt32 getPrimitive2DID() const; - -#define ImplPrimitrive2DIDBlock(TheClass, TheID) \ - sal_uInt32 TheClass::getPrimitive2DID() const { return TheID; } - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace geometry { - class ViewInformation2D; -}} - -namespace drawinglayer { namespace primitive2d { - /// typedefs for basePrimitive2DImplBase, Primitive2DSequence and Primitive2DReference - typedef cppu::WeakComponentImplHelper1< ::com::sun::star::graphic::XPrimitive2D > BasePrimitive2DImplBase; - typedef ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > Primitive2DReference; - typedef ::com::sun::star::uno::Sequence< Primitive2DReference > Primitive2DSequence; -}} - -////////////////////////////////////////////////////////////////////////////// -// basePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** BasePrimitive2D class - - Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D - - This class is strongly virtual due to the lack of getPrimitiveID() implementation. - This is by purpose, this base class shall not be incarnated and be used directly as - a XPrimitive2D. - - Is is derived from boost::noncopyable to make clear that a primitive is a read-only - instance and copying or changing values is not intended. The idea is to hold all data - needed for visualisation of this primitive in unchangeable form. - - It is derived from comphelper::OBaseMutex to have a Mutex at hand; in a base - implementation this may not be needed, but e.g. when buffering at last decomposition - in a local member, multiple threads may try to decompose at the same time, so locking - is needed to avoid race conditions seen from the UNO object implementation. - - A method to get a simplified representation is provided by get2DDecomposition. The - default implementation returns an empty sequence. The idea is that processors - using this primitive and do not know it, may get the decomposition and process - these instead. An example is e.g. a fat line, who's decomposition may contain - the geometric representation of that line using filled polygon prmimitives. When - the renderer knows how to handle fat lines, he may proccess this primitive directly; - if not he can use the decomposition. With this functionality, renderers may operate by - knowing only a small set of primitives. - - When a primitive does not implement get2DDecomposition, it is called a 'Basic Primitive' and - belongs to the set of primitives which a processor should be able to handle. Practice - will define this minimal sets of primitives. When defined and the concept is prooved, - unique UNO APIs may be defined/implemented for these set to allow more intense work - with primitives using UNO. - - Current Basic 2D Primitives are: - - - BitmapPrimitive2D (bitmap data, evtl. with transparence) - - PointArrayPrimitive2D (single points) - - PolygonHairlinePrimitive2D (hairline curves/polygons) - - PolyPolygonColorPrimitive2D (colored polygons) - - UPDATE: MetafilePrimitive2D (VCL Metafile) is taken off this list since - it is implemented with the integration of CWS aw078 into DV300m69. - - All other implemented primitives have a defined decomposition and can thus be - decomposed down to this small set. - - A renderer implementing support for this minimal set of primitives can completely - render primitive-based visualisations. Of course, he also has to take states into account - which are representated by GroupPrimitive2D derivations, see groupprimitive2d.hxx - - To support getting the geometric BoundRect, getB2DRange is used. The default - implementation will use the get2DDecomposition result and merge a range from the - entries. Thus, an implementation is only necessary for the Basic Primitives, but - of course speedups are possible (and are used) by implementing the method at higher-level - primitives. - - For primitive identification, getPrimitiveID is used currently in this implementations - to allow a fast switch/case processing. This needs a unique identifier mechanism which - currently uses defines (see drawinglayer_primitivetypes2d.hxx). For UNO prmitive API - it will be needed to add a unique descriptor (Name?) later to the API. - - This base implementation provides mappings from the methods from XPrimitive2D - (getDecomposition/getRange) to the appropriate methods in the C++ implementations - (get2DDecomposition/getB2DRange). The PropertyValue ViewParameters is converted to - the appropriate C++ implementation class ViewInformation2D. - - This base class does not implement any buffering; e.g. buffering the decompositon - and/or the range. These may be buffered anytime since the definition is that the primitive - is read-only and thus unchangeable. This implies that the decomposition and/or getting - the range will lead to the same result as last time, under the precondition that - the parameter ViewInformation2D is the same as the last one. This is usually the case - for view-independent primitives which are defined by not using ViewInformation2D - in their get2DDecomposition/getB2DRange implementations. - */ - class DRAWINGLAYER_DLLPUBLIC BasePrimitive2D - : private boost::noncopyable, - protected comphelper::OBaseMutex, - public BasePrimitive2DImplBase - { - private: - protected: - public: - // constructor/destructor - BasePrimitive2D(); - virtual ~BasePrimitive2D(); - - /** the ==operator is mainly needed to allow testing newly-created primitives against their last - incarnation which buffers/holds the made decompositions. The default implementation - uses getPrimitive2DID()-calls to test if it's the same ID at last. Overloaded implementation are then - based on this implementation - */ - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - bool operator!=( const BasePrimitive2D& rPrimitive ) const { return !operator==(rPrimitive); } - - /// The default implementation will use getDecomposition results to create the range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /** provide unique ID for fast identifying of known primitive implementations in renderers. These use - the defines from drawinglayer_primitivetypes2d.hxx to define unique IDs. - This method is normally defined using DeclPrimitrive2DIDBlock() - */ - virtual sal_uInt32 getPrimitive2DID() const = 0; - - /// The default implementation will return an empty sequence - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - // - // Methods from XPrimitive2D - // - - /** The getDecomposition implementation for UNO API will use getDecomposition from this implementation. It - will construct a ViewInformation2D from the ViewParameters for that purpose - */ - virtual Primitive2DSequence SAL_CALL getDecomposition( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException ); - - /** The getRange implementation for UNO API will use getRange from this implementation. It - will construct a ViewInformation2D from the ViewParameters for that purpose - */ - virtual ::com::sun::star::geometry::RealRectangle2D SAL_CALL getRange( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException ); - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// BufferedDecompositionPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** BufferedDecompositionPrimitive2D class - - Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D - which want to buffer the decomoposition result - - Buffering the decomposition is the most-used buffering and is thus used my most - primitive implementations which support a decomposition as base class. - - The buffering is done by holding the last decomposition in the local parameter - maBuffered2DDecomposition. The default implementation of get2DDecomposition checks - if maBuffered2DDecomposition is empty. If yes, it uses create2DDecomposition - to create the content. In all cases, maBuffered2DDecomposition is returned. - - For view-dependent primitives derived from Primitive2DBufferDecomposition more needs - to be done when the decomposition depends on parts of the parameter ViewInformation2D. - This defines a standard method for processing these: - - Implement a view-dependent get2DDecomposition doing te following steps: - (a) Locally extract needed parameters from ViewInformation2D to new, local parameters - (this may be a complete local copy of ViewInformation2D) - (b) If a buffered decomposition exists, ckeck if one of the new local parameters - differs from the corresponding locally remembered (as member) ones. If yes, - clear maBuffered2DDecomposition - (d) call baseclass::get2DDecomposition which will use create2DDecomposition - to fill maBuffered2DDecomposition if it's empty - (e) copy the new local parameters to the corresponding locally remembered ones - to identify if a new decomposition is needed at the next call - (f) return maBuffered2DDecomposition - */ - class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive2D - : public BasePrimitive2D - { - private: - /// a sequence used for buffering the last create2DDecomposition() result - Primitive2DSequence maBuffered2DDecomposition; - - protected: - /** access methods to maBuffered2DDecomposition. The usage of this methods may allow - later thread-safe stuff to be added if needed. Only to be used by getDecomposition() - implementations for buffering the last decomposition. - */ - const Primitive2DSequence& getBuffered2DDecomposition() const { return maBuffered2DDecomposition; } - void setBuffered2DDecomposition(const Primitive2DSequence& rNew) { maBuffered2DDecomposition = rNew; } - - /** method which is to be used to implement the local decomposition of a 2D primitive. The default - implementation will just return an empty decomposition - */ - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - // constructor/destructor - BufferedDecompositionPrimitive2D(); - - /** The getDecomposition default implementation will on demand use create2DDecomposition() if - maBuffered2DDecomposition is empty. It will set maBuffered2DDecomposition to this obtained decomposition - to buffer it. If the decomposition is also ViewInformation2D-dependent, this method needs to be - overloaded and the ViewInformation2D for the last decomposition need to be remembered, too, and - be used in the next call to decide if the buffered decomposition may be reused or not. - */ - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// tooling - -namespace drawinglayer -{ - namespace primitive2d - { - /// support to handle a sequence of primitives as stl vector and convert it during creation - typedef ::std::vector< BasePrimitive2D* > Primitive2DVector; - Primitive2DSequence DRAWINGLAYER_DLLPUBLIC Primitive2DVectorToPrimitive2DSequence(const Primitive2DVector& rSource, bool bInvert = false); - - /// get B2DRange from a given Primitive2DReference - basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DReference(const Primitive2DReference& rCandidate, const geometry::ViewInformation2D& aViewInformation); - - /// get B2DRange from a given Primitive2DSequence - basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DSequence(const Primitive2DSequence& rCandidate, const geometry::ViewInformation2D& aViewInformation); - - /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D) - and using compare operator - */ - bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DReferencesEqual(const Primitive2DReference& rA, const Primitive2DReference& rB); - - /// compare two Primitive2DReferences for equality, uses arePrimitive2DReferencesEqual internally - bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DSequencesEqual(const Primitive2DSequence& rA, const Primitive2DSequence& rB); - - /// concatenate sequence - void DRAWINGLAYER_DLLPUBLIC appendPrimitive2DSequenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DSequence& rSource); - - /// concatenate single Primitive2D - void DRAWINGLAYER_DLLPUBLIC appendPrimitive2DReferenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DReference& rSource); - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx deleted file mode 100644 index fa262bd9fe95..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <vcl/bitmapex.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// -// BitmapPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** BitmapPrimitive2D class - - This class is the central primitive for Bitmap-based primitives. - It provides RGBA-based bitmaps, currently using a BitmapEx from VCL. - This may change in the future to any other, maybe more general base - class providing 24bit RGBA. - */ - class DRAWINGLAYER_DLLPUBLIC BitmapPrimitive2D : public BasePrimitive2D - { - private: - /// the RGBA Bitmap-data - BitmapEx maBitmapEx; - - /** the object transformation from unit coordinates, defining - size, shear, rotate and position - */ - basegfx::B2DHomMatrix maTransform; - - public: - /// constructor - BitmapPrimitive2D( - const BitmapEx& rBitmapEx, - const basegfx::B2DHomMatrix& rTransform); - - /// data read access - const BitmapEx& getBitmapEx() const { return maBitmapEx; } - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx deleted file mode 100644 index d9ed473851f4..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx +++ /dev/null @@ -1,144 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <svtools/ctrlbox.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** BorderLinePrimitive2D class - - This is the basic primitive to build frames around objects, e.g. tables. - It defines a single or double line from Start to nd using the LeftWidth, - Distance and RightWidth definitions. - The LineStart/End overlap is defined by the Extend(Inner|Outer)(Start|End) - definitions. - */ - class DRAWINGLAYER_DLLPUBLIC BorderLinePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the line definition - basegfx::B2DPoint maStart; - basegfx::B2DPoint maEnd; - - /// the widths of single/double line - double mfLeftWidth; - double mfDistance; - double mfRightWidth; - - /// edge overlap sizes - double mfExtendLeftStart; - double mfExtendLeftEnd; - double mfExtendRightStart; - double mfExtendRightEnd; - - /// the line colors - basegfx::BColor maRGBColorRight; - basegfx::BColor maRGBColorLeft; - basegfx::BColor maRGBColorGap; - bool mbHasGapColor; - - short mnStyle; - - /// local helpers - double getWidth( - const geometry::ViewInformation2D& rViewInformation) const; - - bool isSolidLine() const - { - return (mnStyle==STYLE_SOLID); - } - - bool isInsideUsed() const - { - return !basegfx::fTools::equalZero(mfLeftWidth); - } - - bool isOutsideUsed() const - { - return !basegfx::fTools::equalZero(mfRightWidth); - } - - protected: - virtual basegfx::B2DPolyPolygon getClipPolygon( - const geometry::ViewInformation2D& rViewInformation) const; - - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - BorderLinePrimitive2D( - const basegfx::B2DPoint& rStart, - const basegfx::B2DPoint& rEnd, - double fLeftWidth, - double fDistance, - double fRightWidth, - double fExtendLeftStart, - double fExtendLeftEnd, - double fExtendRightStart, - double fExtendRightEnd, - const basegfx::BColor& rRGBColorRight, - const basegfx::BColor& rRGBColorLeft, - const basegfx::BColor& rRGBColorGap, - bool bHasGapColor, - const short nStyle ); - - /// data read access - const basegfx::B2DPoint& getStart() const { return maStart; } - const basegfx::B2DPoint& getEnd() const { return maEnd; } - double getLeftWidth() const { return mfLeftWidth; } - double getDistance() const { return mfDistance; } - double getRightWidth() const { return mfRightWidth; } - double getExtendLeftStart() const { return mfExtendLeftStart; } - double getExtendLeftEnd() const { return mfExtendLeftEnd; } - double getExtendRightStart() const { return mfExtendRightStart; } - double getExtendRightEnd() const { return mfExtendRightEnd; } - const basegfx::BColor& getRGBColorRight () const { return maRGBColorRight; } - const basegfx::BColor& getRGBColorLeft () const { return maRGBColorLeft; } - const basegfx::BColor& getRGBColorGap () const { return maRGBColorGap; } - bool hasGapColor( ) const { return mbHasGapColor; } - short getStyle () const { return mnStyle; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx deleted file mode 100644 index 6db292fd6859..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- 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: - * - */ - -#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/borderlineprimitive2d.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <basegfx/polygon/b2dpolygon.hxx> - - -namespace drawinglayer -{ - namespace primitive2d - { - /** BorderLinePrimitive2D clipped by the intersection with a provided - polygon. - */ - class DRAWINGLAYER_DLLPUBLIC ClippedBorderLinePrimitive2D : public BorderLinePrimitive2D - { - private: - const basegfx::B2DPolygon maIntersection; - - protected: - virtual basegfx::B2DPolyPolygon getClipPolygon( - const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - ClippedBorderLinePrimitive2D( - const basegfx::B2DPoint& rStart, - const basegfx::B2DPoint& rEnd, - double fLeftWidth, - double fDistance, - double fRightWidth, - const basegfx::B2DPolygon& rIntersection, - const basegfx::BColor& rRGBColorRight, - const basegfx::BColor& rRGBColorLeft, - const basegfx::BColor& rRGBColorGap, - bool bHasGapColor, - const short nStyle ); - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx deleted file mode 100644 index 789b7aa38471..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <com/sun/star/awt/XControlModel.hpp> -#include <com/sun/star/awt/XControl.hpp> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ControlPrimitive2D class - - Base class for ControlPrimitive handling. It decoposes to a - graphical representation (Bitmap data) of the control. This - representation is limited to a quadratic pixel maximum defined - in the applicatin settings. - */ - class DRAWINGLAYER_DLLPUBLIC ControlPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// object's base data - basegfx::B2DHomMatrix maTransform; - com::sun::star::uno::Reference< com::sun::star::awt::XControlModel > mxControlModel; - - /// the created an cached awt::XControl - com::sun::star::uno::Reference< com::sun::star::awt::XControl > mxXControl; - - /// the last used scaling, used from getDecomposition for buffering - basegfx::B2DVector maLastViewScaling; - - /** used from getXControl() to create a local awt::XControl which is remembered in mxXControl - and from thereon always used and returned by getXControl() - */ - void createXControl(); - - /// single local decompositions, used from create2DDecomposition() - Primitive2DReference createBitmapDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - Primitive2DReference createPlaceholderDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - protected: - /// local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - ControlPrimitive2D( - const basegfx::B2DHomMatrix& rTransform, - const com::sun::star::uno::Reference< com::sun::star::awt::XControlModel >& rxControlModel); - - /** constructor with an additional XControl as parameter to allow to hand it over at incarnation time - if it exists. This will avoid to create a 2nd one on demand in createXControl() - and thus double the XControls. - */ - ControlPrimitive2D( - const basegfx::B2DHomMatrix& rTransform, - const com::sun::star::uno::Reference< com::sun::star::awt::XControlModel >& rxControlModel, - const com::sun::star::uno::Reference< com::sun::star::awt::XControl >& rxXControl); - - /// data read access - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - const com::sun::star::uno::Reference< com::sun::star::awt::XControlModel >& getControlModel() const { return mxControlModel; } - - /** mxControl access. This will on demand create the awt::XControl using createXControl() - if it does not exist. It may already have been created or even handed over at - incarnation - */ - const com::sun::star::uno::Reference< com::sun::star::awt::XControl >& getXControl() const; - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /// Overload standard getDecomposition call to be view-dependent here - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx deleted file mode 100644 index 25d044b3231f..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_CROPPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CROPPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** CropPrimitive2D class - - Caution: Due to old constraints (old core definitions) the - crop distances describe how the uncropped content is defined - relative to the current object size. This means that maTransformation - describes the rurrent object size (the part of the object visible - with the crop applied). To get the original size and orientation - of the uncropped content it is necessary to calc back from the - current situation (maTransformation) using the crop values - to get to the uncropped original content. - - Thus a transformation has to be calculated which will be applied - to the already exsisting content to get it to the uncropped state - ans then this is masked with the current state (mask polygon - created from unit polygon and maTransformation). - - At least in this primitive the units of the crop values are - already in the local coordinate system; inthe core these distances - are defined relative to the object content size (PrefMapMode - and PrefSize of the content)... - - Of course this is a primitive, so feel free to just ignore all that - stuff and use the automatically generated decomposition. Sigh. - */ - class DRAWINGLAYER_DLLPUBLIC CropPrimitive2D : public GroupPrimitive2D - { - private: - // the transformation already applied to the child geometry - basegfx::B2DHomMatrix maTransformation; - - // the crop offsets relative to the range of the unrotated content - double mfCropLeft; - double mfCropTop; - double mfCropRight; - double mfCropBottom; - - public: - /// constructor - CropPrimitive2D( - const Primitive2DSequence& rChildren, - const basegfx::B2DHomMatrix& rTransformation, - double fCropLeft, - double fCropTop, - double fCropRight, - double fCropBottom); - - /// data read access - const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; } - double getCropLeft() const { return mfCropLeft; } - double getCropTop() const { return mfCropTop; } - double getCropRight() const { return mfCropRight; } - double getCropBottom() const { return mfCropBottom; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// local decomposition - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CROPPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx deleted file mode 100644 index 9b8528057c14..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/primitivetools2d.hxx> -#include <vcl/bitmapex.hxx> - -////////////////////////////////////////////////////////////////////////////// -// DiscreteBitmapPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** DiscreteBitmapPrimitive2D class - - This class defines a view-dependent BitmapPrimitive which has a - logic position for the top-left position and is always to be - painted in 1:1 pixel resolution. It will never be sheared, rotated - or scaled with the view. - */ - class DRAWINGLAYER_DLLPUBLIC DiscreteBitmapPrimitive2D : public ObjectAndViewTransformationDependentPrimitive2D - { - private: - /// the RGBA Bitmap-data - BitmapEx maBitmapEx; - - /** the top-left object position */ - basegfx::B2DPoint maTopLeft; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - DiscreteBitmapPrimitive2D( - const BitmapEx& rBitmapEx, - const basegfx::B2DPoint& rTopLeft); - - /// data read access - const BitmapEx& getBitmapEx() const { return maBitmapEx; } - const basegfx::B2DPoint& getTopLeft() const { return maTopLeft; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx deleted file mode 100644 index 2c10292b1c59..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/primitivetools2d.hxx> -#include <vcl/bitmapex.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// -// DiscreteShadowPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** DiscreteShadow data class - - */ - class DRAWINGLAYER_DLLPUBLIC DiscreteShadow - { - private: - /// the original shadow BitmapEx in a special form - BitmapEx maBitmapEx; - - /// buffered extracted parts of CombinedShadow for easier usage - BitmapEx maTopLeft; - BitmapEx maTop; - BitmapEx maTopRight; - BitmapEx maRight; - BitmapEx maBottomRight; - BitmapEx maBottom; - BitmapEx maBottomLeft; - BitmapEx maLeft; - - public: - /// constructor - explicit DiscreteShadow(const BitmapEx& rBitmapEx); - - /// data read access - const BitmapEx& getBitmapEx() const { return maBitmapEx; } - - /// compare operator - bool operator==(const DiscreteShadow& rCompare) const - { - return getBitmapEx() == rCompare.getBitmapEx(); - } - - /// helper accesses which create on-demand needed segments - const BitmapEx& getTopLeft() const; - const BitmapEx& getTop() const; - const BitmapEx& getTopRight() const; - const BitmapEx& getRight() const; - const BitmapEx& getBottomRight() const; - const BitmapEx& getBottom() const; - const BitmapEx& getBottomLeft() const; - const BitmapEx& getLeft() const; - }; - - /** DiscreteShadowPrimitive2D class - - */ - class DRAWINGLAYER_DLLPUBLIC DiscreteShadowPrimitive2D : public DiscreteMetricDependentPrimitive2D - { - private: - // the object transformation of the rectangular object - basegfx::B2DHomMatrix maTransform; - - // the bitmap shadow data - DiscreteShadow maDiscreteShadow; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - DiscreteShadowPrimitive2D( - const basegfx::B2DHomMatrix& rTransform, - const DiscreteShadow& rDiscreteShadow); - - /// data read access - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - const DiscreteShadow& getDiscreteShadow() const { return maDiscreteShadow; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx deleted file mode 100644 index cb8ff0efd0ff..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX - -////////////////////////////////////////////////////////////////////////////// -// define ranges for other libraries - -#define PRIMITIVE2D_ID_RANGE_DRAWINGLAYER (0 << 16) -#define PRIMITIVE2D_ID_RANGE_SVX (1 << 16) -#define PRIMITIVE2D_ID_RANGE_SD (2 << 16) -#define PRIMITIVE2D_ID_RANGE_SW (3 << 16) -#define PRIMITIVE2D_ID_RANGE_SC (4 << 16) - -////////////////////////////////////////////////////////////////////////////// -// local primitives - -#define PRIMITIVE2D_ID_TRANSPARENCEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 0) -#define PRIMITIVE2D_ID_ANIMATEDSWITCHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 1) -#define PRIMITIVE2D_ID_ANIMATEDBLINKPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 2) -#define PRIMITIVE2D_ID_ANIMATEDINTERPOLATEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 3) -#define PRIMITIVE2D_ID_BACKGROUNDCOLORPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 4) -#define PRIMITIVE2D_ID_BITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 5) -#define PRIMITIVE2D_ID_CONTROLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 6) -#define PRIMITIVE2D_ID_EMBEDDED3DPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 7) -#define PRIMITIVE2D_ID_FILLBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 8) -#define PRIMITIVE2D_ID_FILLGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 9) -#define PRIMITIVE2D_ID_FILLHATCHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 10) -#define PRIMITIVE2D_ID_GRAPHICPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 11) -#define PRIMITIVE2D_ID_GRIDPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 12) -#define PRIMITIVE2D_ID_GROUPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 13) -#define PRIMITIVE2D_ID_HELPLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 14) -#define PRIMITIVE2D_ID_MARKERARRAYPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 15) -#define PRIMITIVE2D_ID_MASKPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 16) -#define PRIMITIVE2D_ID_MEDIAPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 17) -#define PRIMITIVE2D_ID_METAFILEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 18) -#define PRIMITIVE2D_ID_MODIFIEDCOLORPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 19) -#define PRIMITIVE2D_ID_POLYGONHAIRLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 20) -#define PRIMITIVE2D_ID_POLYGONMARKERPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 21) -#define PRIMITIVE2D_ID_POLYGONSTROKEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 22) -#define PRIMITIVE2D_ID_POLYGONSTROKEARROWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 23) -#define PRIMITIVE2D_ID_POLYPOLYGONSTROKEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 24) -#define PRIMITIVE2D_ID_POLYPOLYGONSTROKEARROWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 25) -#define PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 26) -#define PRIMITIVE2D_ID_POLYPOLYGONGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 27) -#define PRIMITIVE2D_ID_POLYPOLYGONHATCHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 28) -#define PRIMITIVE2D_ID_POLYPOLYGONBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 29) -#define PRIMITIVE2D_ID_SCENEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 30) -#define PRIMITIVE2D_ID_SHADOWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 31) -#define PRIMITIVE2D_ID_TEXTSIMPLEPORTIONPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 32) -#define PRIMITIVE2D_ID_TEXTDECORATEDPORTIONPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 33) -#define PRIMITIVE2D_ID_TRANSFORMPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 34) -#define PRIMITIVE2D_ID_UNIFIEDTRANSPARENCEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 35) -#define PRIMITIVE2D_ID_POINTARRAYPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 36) -#define PRIMITIVE2D_ID_TEXTHIERARCHYFIELDPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 37) -#define PRIMITIVE2D_ID_TEXTHIERARCHYLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 38) -#define PRIMITIVE2D_ID_TEXTHIERARCHYPARAGRAPHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 39) -#define PRIMITIVE2D_ID_TEXTHIERARCHYBLOCKPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 40) -#define PRIMITIVE2D_ID_TEXTHIERARCHYEDITPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 41) -#define PRIMITIVE2D_ID_POLYGONWAVEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 42) -#define PRIMITIVE2D_ID_WRONGSPELLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 43) -#define PRIMITIVE2D_ID_TEXTEFFECTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 44) -#define PRIMITIVE2D_ID_TEXTHIERARCHYBULLETPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 45) -#define PRIMITIVE2D_ID_POLYPOLYGONHAIRLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 46) -#define PRIMITIVE2D_ID_EXECUTEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 47) -#define PRIMITIVE2D_ID_PAGEPREVIEWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 48) -#define PRIMITIVE2D_ID_STRUCTURETAGPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 49) -#define PRIMITIVE2D_ID_BORDERLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 50) -#define PRIMITIVE2D_ID_POLYPOLYGONMARKERPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 51) -#define PRIMITIVE2D_ID_HITTESTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 52) -#define PRIMITIVE2D_ID_INVERTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 53) -#define PRIMITIVE2D_ID_DISCRETEBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 54) -#define PRIMITIVE2D_ID_WALLPAPERBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 55) -#define PRIMITIVE2D_ID_TEXTLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 56) -#define PRIMITIVE2D_ID_TEXTCHARACTERSTRIKEOUTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 57) -#define PRIMITIVE2D_ID_TEXTGEOMETRYSTRIKEOUTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 58) -#define PRIMITIVE2D_ID_EPSPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 59) -#define PRIMITIVE2D_ID_DISCRETESHADOWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 60) -#define PRIMITIVE2D_ID_HIDDENGEOMETRYPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 61) -#define PRIMITIVE2D_ID_SVGLINEARGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 62) -#define PRIMITIVE2D_ID_SVGRADIALGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 63) -#define PRIMITIVE2D_ID_SVGLINEARATOMPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 64) -#define PRIMITIVE2D_ID_SVGRADIALATOMPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 65) -#define PRIMITIVE2D_ID_CROPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 66) -#define PRIMITIVE2D_ID_PATTERNFILLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 67) -#define PRIMITIVE2D_ID_OBJECTINFOPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 68) - -#define PRIMITIVE2D_ID_CLIPPEDBORDERLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 68) - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx deleted file mode 100644 index d7389bea2bc3..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx +++ /dev/null @@ -1,122 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <drawinglayer/geometry/viewinformation3d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// -// Embedded3DPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** Embedded3DPrimitive2D class - - This is a helper primitive which allows embedding of single 3D - primitives to the 2D primitive logic. It will get the scene it's - involved and thus the 3D transformation. With this information it - is able to provide 2D range data for a 3D primitive. - - This primitive will not be visualized and decomposes to a yellow - 2D rectangle to visualize that this should never be visualized - */ - class DRAWINGLAYER_DLLPUBLIC Embedded3DPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the sequence of 3d primitives - primitive3d::Primitive3DSequence mxChildren3D; - - /// the 2D scene object transformation - basegfx::B2DHomMatrix maObjectTransformation; - - /// the 3D transformations - geometry::ViewInformation3D maViewInformation3D; - - /** if the embedded 3D primitives contain shadow, these parameters are needed - to extract the shadow wich is a sequence od 2D primitives and may expand - the 2D range. Since every single 3D object in a scene may individually - have shadow or not, these values need to be provided and prepared. The shadow - distance itself (a 2D transformation) is part of the 3D shadow definition - */ - basegfx::B3DVector maLightNormal; - double mfShadowSlant; - basegfx::B3DRange maScene3DRange; - - /// the primitiveSequence for on-demand created shadow primitives (see mbShadow3DChecked) - Primitive2DSequence maShadowPrimitives; - - /// #i96669# add simple range buffering for this primitive - basegfx::B2DRange maB2DRange; - - /// bitfield - /** flag if given 3D geometry is already cheched for shadow definitions and 2d shadows - are created in maShadowPrimitives - */ - unsigned mbShadow3DChecked : 1; - - /// private helpers - bool impGetShadow3D(const geometry::ViewInformation2D& rViewInformation) const; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - Embedded3DPrimitive2D( - const primitive3d::Primitive3DSequence& rxChildren3D, - const basegfx::B2DHomMatrix& rObjectTransformation, - const geometry::ViewInformation3D& rViewInformation3D, - const basegfx::B3DVector& rLightNormal, - double fShadowSlant, - const basegfx::B3DRange& rScene3DRange); - - /// data read access - const primitive3d::Primitive3DSequence& getChildren3D() const { return mxChildren3D; } - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; } - const basegfx::B3DVector& getLightNormal() const { return maLightNormal; } - double getShadowSlant() const { return mfShadowSlant; } - const basegfx::B3DRange& getScene3DRange() const { return maScene3DRange; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx deleted file mode 100644 index 577554481d6e..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <vcl/gfxlink.hxx> -#include <vcl/gdimtf.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** EpsPrimitive2D class */ - class DRAWINGLAYER_DLLPUBLIC EpsPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometry definition - basegfx::B2DHomMatrix maEpsTransform; - - /// the Eps content definition - GfxLink maGfxLink; - - /// the replacement content definition - GDIMetaFile maMetaFile; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - EpsPrimitive2D( - const basegfx::B2DHomMatrix& rEpsTransform, - const GfxLink& rGfxLink, - const GDIMetaFile& rMetaFile); - - /// data read access - const basegfx::B2DHomMatrix& getEpsTransform() const { return maEpsTransform; } - const GfxLink& getGfxLink() const { return maGfxLink; } - const GDIMetaFile& getMetaFile() const { return maMetaFile; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get B2Drange - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx deleted file mode 100644 index 0c82458840ad..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <drawinglayer/attribute/fillbitmapattribute.hxx> - -////////////////////////////////////////////////////////////////////////////// -// FillbitmapPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** FillBitmapPrimitive2D class - - This class defines a bitmap filling for a rectangular area. The - Range is defined by the Transformation, the fill by the FillBitmapAttribute. - There, the fill consists of a Bitmap (not transparent) defining the fill data - and a Point/Vector pair defining the relative position/size [0.0 .. 1.0] - inside the area where the bitmap is positioned. A flag defines then if this - is tiled or not. - - Renderers should handle this primitive; it has a geometrically correct - decomposition, but on pixel oututs the areas where the tiled pieces are - aligned tend to show up (one overlapping or empty pixel) - */ - class DRAWINGLAYER_DLLPUBLIC FillBitmapPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometric definition - basegfx::B2DHomMatrix maTransformation; - - /// the fill attributes - attribute::FillBitmapAttribute maFillBitmap; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - FillBitmapPrimitive2D( - const basegfx::B2DHomMatrix& rTransformation, - const attribute::FillBitmapAttribute& rFillBitmap); - - /// data read access - const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; } - const attribute::FillBitmapAttribute& getFillBitmap() const { return maFillBitmap; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx deleted file mode 100644 index 0f6c33ae8f95..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/attribute/fillgradientattribute.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { class B2DPolygon; } - -////////////////////////////////////////////////////////////////////////////// -// FillGradientPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** FillGradientPrimitive2D class - - This class defines a gradient filling for a rectangular area. The - Range is defined by the Transformation, the gradient by the FillGradientAttribute. - - The decomposition will deliver the decomposed gradient, e.g. for an ellipse - gradient the various ellipses in various color steps will be created. - - I have added functionality to create both versions of filled decompositions: - Those who overlap and non-overlapping ones. The overlapping version is the - default one since it works with and without AntiAliasing. The non-overlapping - version is used in the MetafilePrimitive2D decomposition when the old XOR - paint was recorded. - */ - class DRAWINGLAYER_DLLPUBLIC FillGradientPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometric definition - basegfx::B2DRange maObjectRange; - - /// the gradient definition - attribute::FillGradientAttribute maFillGradient; - - /// local helpers - void generateMatricesAndColors( - std::vector< basegfx::B2DHomMatrix >& rMatrices, - std::vector< basegfx::BColor >& rColors) const; - Primitive2DSequence createOverlappingFill( - const std::vector< basegfx::B2DHomMatrix >& rMatrices, - const std::vector< basegfx::BColor >& rColors, - const basegfx::B2DPolygon& rUnitPolygon) const; - Primitive2DSequence createNonOverlappingFill( - const std::vector< basegfx::B2DHomMatrix >& rMatrices, - const std::vector< basegfx::BColor >& rColors, - const basegfx::B2DPolygon& rUnitPolygon) const; - - protected: - /// local helper - Primitive2DSequence createFill(bool bOverlapping) const; - - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - FillGradientPrimitive2D( - const basegfx::B2DRange& rObjectRange, - const attribute::FillGradientAttribute& rFillGradient); - - /// data read access - const basegfx::B2DRange& getObjectRange() const { return maObjectRange; } - const attribute::FillGradientAttribute& getFillGradient() const { return maFillGradient; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx deleted file mode 100644 index b0c27ba89107..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/attribute/fillhatchattribute.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// -// FillHatchPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** FillHatchPrimitive2D class - - This class defines a hatch filling for a rectangular area. The - Range is defined by the Transformation, the hatch by the FillHatchAttribute. - If the background is to be filled, a flag in FillHatchAttribute is set and - the BColor defines the background color. - - The decomposition will deliver the hatch lines. - */ - class DRAWINGLAYER_DLLPUBLIC FillHatchPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometric definition - basegfx::B2DRange maObjectRange; - - /// the hatch definition - attribute::FillHatchAttribute maFillHatch; - - /// hatch background color (if used) - basegfx::BColor maBColor; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - FillHatchPrimitive2D( - const basegfx::B2DRange& rObjectRange, - const basegfx::BColor& rBColor, - const attribute::FillHatchAttribute& rFillHatch); - - /// data read access - const basegfx::B2DRange& getObjectRange() const { return maObjectRange; } - const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; } - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx deleted file mode 100644 index 75bb6fc99341..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <svtools/grfmgr.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** GraphicPrimitive2D class - - Primitive to hold graphics defined by GraphicObject and GraphicAttr - combination. This includes MetaFiles and diverse pixel-oriented graphic - formats. It even includes animated GIFs, Croppings and other changes - defined in GraphicAttr. - - This makes the decomposition contain a wide variety of possibilites, - too. From a simple BitmapPrimitive over AnimatedSwitchPrimitive2D, - MetafilePrimitive2D (with and without embedding in a masking when e.g. - the Metafile is bigger than the geometry) and embeddings in - TransformPrimitive2D and MaskPrimitive2D for croppings. - - The primitive geometry area is defined by Transform. - */ - class DRAWINGLAYER_DLLPUBLIC GraphicPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometric definition - basegfx::B2DHomMatrix maTransform; - - /// the GraphicObject with all it's content possibilities - GraphicObject maGraphicObject; - - /// The GraphicAttr with all it's modification possibilities - GraphicAttr maGraphicAttr; - - protected: - /// local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor(s) - GraphicPrimitive2D( - const basegfx::B2DHomMatrix& rTransform, - const GraphicObject& rGraphicObject, - const GraphicAttr& rGraphicAttr); - - /// data read access - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - const GraphicObject& getGraphicObject() const { return maGraphicObject; } - const GraphicAttr& getGraphicAttr() const { return maGraphicAttr; } - bool isTransparent() const; - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx deleted file mode 100644 index 3db300ff4da4..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> -#include <vcl/bitmapex.hxx> - -////////////////////////////////////////////////////////////////////////////// -// GridPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** GridPrimitive2D class - - This primitive is specialized to Grid visualisation. The graphic definition - (Transform) contains the whole grid area, but will of course be combined - with the visible area (Viewport) when decomposed. Also a reolution-dependent - point reduction is used to not create too much grid visualisation data. This - makes this primitive highly view-dependent and it dynamically buffers - the last decomposition dependent from the Viewport used. - */ - class DRAWINGLAYER_DLLPUBLIC GridPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// The geometry definition for the grid area - basegfx::B2DHomMatrix maTransform; - - /// grid layout definitions - double mfWidth; - double mfHeight; - double mfSmallestViewDistance; - double mfSmallestSubdivisionViewDistance; - sal_uInt32 mnSubdivisionsX; - sal_uInt32 mnSubdivisionsY; - - /// Grid color for single-pixel grid points - basegfx::BColor maBColor; - - /// The Bitmap (with transparence) for grid cross points - BitmapEx maCrossMarker; - - /** the last used object to view transformtion and the last Viewport, - used from getDecomposition for decide buffering - */ - basegfx::B2DHomMatrix maLastObjectToViewTransformation; - basegfx::B2DRange maLastViewport; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - GridPrimitive2D( - const basegfx::B2DHomMatrix& rTransform, - double fWidth, - double fHeight, - double fSmallestViewDistance, - double fSmallestSubdivisionViewDistance, - sal_uInt32 nSubdivisionsX, - sal_uInt32 nSubdivisionsY, - const basegfx::BColor& rBColor, - const BitmapEx& rCrossMarker); - - /// data read access - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - double getWidth() const { return mfWidth; } - double getHeight() const { return mfHeight; } - double getSmallestViewDistance() const { return mfSmallestViewDistance; } - double getSmallestSubdivisionViewDistance() const { return mfSmallestSubdivisionViewDistance; } - sal_uInt32 getSubdivisionsX() const { return mnSubdivisionsX; } - sal_uInt32 getSubdivisionsY() const { return mnSubdivisionsY; } - const basegfx::BColor& getBColor() const { return maBColor; } - const BitmapEx& getCrossMarker() const { return maCrossMarker; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get 2d range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /// Overload standard getDecomposition call to be view-dependent here - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx deleted file mode 100644 index 7dab4a628638..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// -// GroupPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** GroupPrimitive2D class - - Baseclass for all grouping 2D primitives - - The grouping primitive in it's basic form is capable of holding - a child primitive content and returns it on decomposition on default. - It is used for two main purposes, but more may apply: - - - to transport extended information, e.g. for text classification, - see e.g. TextHierarchy*Primitive2D implementations. Since they - decompose to their child content, renderers not aware/interested - in that extra information will just ignore these primitives - - - to encapsulate common geometry, e.g. the ShadowPrimitive2D implements - applying a generic shadow to a child sequence by adding the needed - offset and color stuff in the decomposition - - In most cases the decomposition is straightforward, so by default - this primitive will not buffer the result and is not derived from - BufferedDecompositionPrimitive2D, but from BasePrimitive2D. - - A renderer has to take GroupPrimitive2D derivations into account which - are used to hold a state. - - Current Basic 2D StatePrimitives are: - - - TransparencePrimitive2D (objects with freely defined transparence) - - InvertPrimitive2D (for XOR) - - MaskPrimitive2D (for masking) - - ModifiedColorPrimitive2D (for a stack of color modifications) - - TransformPrimitive2D (for a transformation stack) - */ - class DRAWINGLAYER_DLLPUBLIC GroupPrimitive2D : public BasePrimitive2D - { - private: - /// the children. Declared private since this shall never be changed at all after construction - Primitive2DSequence maChildren; - - public: - /// constructor - explicit GroupPrimitive2D(const Primitive2DSequence& rChildren); - - /// data read access - const Primitive2DSequence& getChildren() const { return maChildren; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// local decomposition. Implementation will just return children - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx deleted file mode 100644 index c9addb8f3810..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// -// HelplinePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** HelplineStyle2D definition - - The available styles of Helplines - */ - enum HelplineStyle2D - { - HELPLINESTYLE2D_POINT, - HELPLINESTYLE2D_LINE - }; - - /** HelplinePrimitive2D class - - This primitive provides a view-dependent helpline definition. The Helpline - is defined by a line equation (Point and vector) and a style. When the style - is a line, dependent from Viewport the visible part of that Helpline is - constructed. For Point, a cross is constructed. This primitive is highly - view-dependent. - - The visualisation uses the two given colors to create a dashed line with - the given dash length. - */ - class DRAWINGLAYER_DLLPUBLIC HelplinePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// Helpline geometry definition - basegfx::B2DPoint maPosition; - basegfx::B2DVector maDirection; - HelplineStyle2D meStyle; - - /// Helpline style definition - basegfx::BColor maRGBColA; - basegfx::BColor maRGBColB; - double mfDiscreteDashLength; - - /** the last used object to view transformtion and the last Viewport, - used from getDecomposition for decide buffering - */ - basegfx::B2DHomMatrix maLastObjectToViewTransformation; - basegfx::B2DRange maLastViewport; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - HelplinePrimitive2D( - const basegfx::B2DPoint& rPosition, - const basegfx::B2DVector& rDirection, - HelplineStyle2D eStyle, - const basegfx::BColor& rRGBColA, - const basegfx::BColor& aRGBColB, - double fDiscreteDashLength); - - /// data read access - const basegfx::B2DPoint& getPosition() const { return maPosition; } - const basegfx::B2DVector& getDirection() const { return maDirection; } - HelplineStyle2D getStyle() const { return meStyle; } - const basegfx::BColor& getRGBColA() const { return maRGBColA; } - const basegfx::BColor& getRGBColB() const { return maRGBColB; } - double getDiscreteDashLength() const { return mfDiscreteDashLength; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /// Overload standard getDecomposition call to be view-dependent here - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx deleted file mode 100644 index 35c8de40bc4d..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - // This primitive is used to represent geometry for non-visible objects, - // e.g. a PresObj's outline. To still be able to use primitives for HitTest - // functionality, the 2d decompositions will produce an as much as possible - // simplified line geometry encapsulated in this primtive when there is no - // line geometry. In a further enchanced version this may change to 'if neither - // filled nor lines' creation criteria. The whole primitive decomposes to nothing, - // so no one not knowing it will be influenced. Only helper processors for hit test - // (and maybe BoundRect extractors) will use it and it's children subcontent. - class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive2D : public GroupPrimitive2D - { - public: - explicit HiddenGeometryPrimitive2D(const Primitive2DSequence& rChildren); - - // despite returning an empty decomposition since it's no visualisation data, - // range calculation is intended to use hidden geometry, so - // the local implementation will return the children's range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// local decomposition. Implementation will return empty Primitive2DSequence - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - // provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx deleted file mode 100644 index dfff3d9034ba..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** InvertPrimitive2D class - - This is a helper class which encapsulates geometry that should be - painted XOR, e.g. old cursor visualisations. It decomposes to - it's content, so when not supporting it, the contained geometry - will be visualized normally. - Unfortunately this is still needed, but hard to support on various - systems. XOR painting needs read access to the target, so modern - graphic systems tend to not support it anymore. - */ - class DRAWINGLAYER_DLLPUBLIC InvertPrimitive2D : public GroupPrimitive2D - { - public: - /// constructor - explicit InvertPrimitive2D(const Primitive2DSequence& rChildren); - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx deleted file mode 100644 index b1bca354e60e..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> -#include <vcl/bitmapex.hxx> - -////////////////////////////////////////////////////////////////////////////// -// MarkerArrayPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** MarkerArrayPrimitive2D class - - This primtive defines an array of markers. Their size is defined - in pixels and independent from the view transformation which makes - this primitive highly view-dependent. It is also transformation - invariant, so that the bitmap is always visualized unscaled and - unrotated. - It is used e.g. for grid position visualisation. The given Bitmap - (with transparence) is defined to be visible centered at each of the given - positions. - It decomposes to the needed number of BitmapPrimitive2D's, so it would - be efficient to handle it directly in a renderer. - */ - class DRAWINGLAYER_DLLPUBLIC MarkerArrayPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the positions for the marker - std::vector< basegfx::B2DPoint > maPositions; - - /// the marker definintion to visualize - BitmapEx maMarker; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - MarkerArrayPrimitive2D( - const std::vector< basegfx::B2DPoint >& rPositions, - const BitmapEx& rMarker); - - /// data read access - const std::vector< basegfx::B2DPoint >& getPositions() const { return maPositions; } - const BitmapEx& getMarker() const { return maMarker; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx deleted file mode 100644 index af5fcd9177d1..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** MaskPrimitive2D class - - This is the central masking primitive. It's a grouping - primitive and contains a PolyPolygon which defines the visible - area. Only visualisation parts of the Child primitive sequence - inside of the mask PolyPolygon is defined to be visible. - - This primitive should be handled by a renderer. If it is not handled, - it decomposes to it's Child content, and thus the visualisation would - contaiun no clips. - - The geometrc range of this primitive is completely defined by the Mask - PolyPolygon since by definition nothing outside of the mask is visible. - */ - class DRAWINGLAYER_DLLPUBLIC MaskPrimitive2D : public GroupPrimitive2D - { - private: - /// the mask PolyPolygon - basegfx::B2DPolyPolygon maMask; - - public: - /// constructor - MaskPrimitive2D( - const basegfx::B2DPolyPolygon& rMask, - const Primitive2DSequence& rChildren); - - /// data read access - const basegfx::B2DPolyPolygon& getMask() const { return maMask; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx deleted file mode 100644 index df75569ecb64..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> -#include <vcl/graph.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** MediaPrimitive2D class - - This is a unified primitive for Media visualisation, e.g. animations - or sounds. It's geometry is defined by Transform. For conveinience, - it also contains a discrete border size (aka Pixels) which will be added - if used. This makes it a view-dependent primitive. It also gets a filled - background and the decomposition will try to create a graphic representation - if te content (defined by the URL), e.g. a still frome for animated stuff. - */ - class DRAWINGLAYER_DLLPUBLIC MediaPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometry definition - basegfx::B2DHomMatrix maTransform; - - /// the content definition - OUString maURL; - - /// style: background color - basegfx::BColor maBackgroundColor; - - /// discrete border (in 'pixels') - sal_uInt32 mnDiscreteBorder; - - const Graphic maSnapshot; - - protected: - /// local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - MediaPrimitive2D( - const basegfx::B2DHomMatrix& rTransform, - const OUString& rURL, - const basegfx::BColor& rBackgroundColor, - sal_uInt32 nDiscreteBorder, - const Graphic &rSnapshot); - - /// data read access - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - const OUString& getURL() const { return maURL; } - const basegfx::BColor& getBackgroundColor() const { return maBackgroundColor; } - sal_uInt32 getDiscreteBorder() const { return mnDiscreteBorder; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx deleted file mode 100644 index a8e8cf883991..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <vcl/gdimtf.hxx> - -////////////////////////////////////////////////////////////////////////////// -// MetafilePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** MetafilePrimitive2D class - - This is the MetaFile representing primitive. It's geometry is defined - by MetaFileTransform. The content (defined by MetaFile) will be scaled - to the geometric definiton by using PrefMapMode and PrefSize of the - Metafile. - - It has shown that this not always guarantees that all Metafile content - is inside the geometric definition, but this primitive defines that this - is the case to allow a getB2DRange implementation. If it cannot be - guaranteed that the Metafile is inside the geometric definition, it should - be embedded to a MaskPrimitive2D. - - This primitive has no decomposition yet, so when not supported by a renderer, - it will not be visualized. - - In the future, a decomposition implementation would be appreciated and would - have many advantages; Metafile would no longer have to be rendered by - sub-systems and a standard way for converting Metafiles would exist. - */ - class DRAWINGLAYER_DLLPUBLIC MetafilePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the geometry definition - basegfx::B2DHomMatrix maMetaFileTransform; - - /// the content definition - GDIMetaFile maMetaFile; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - public: - /// constructor - MetafilePrimitive2D( - const basegfx::B2DHomMatrix& rMetaFileTransform, - const GDIMetaFile& rMetaFile); - - /// data read access - const basegfx::B2DHomMatrix& getTransform() const { return maMetaFileTransform; } - const GDIMetaFile& getMetaFile() const { return maMetaFile; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx deleted file mode 100644 index 7584cfad27b7..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/color/bcolormodifier.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ModifiedColorPrimitive2D class - - This primitive is a grouping primitive and allows to define - how the colors of it's child content shall be modified for - visualisation. This can be (and is) used e.g. for generic shadow - visualisation by forcing all color usages of the contained - sub-content to the shadow color. - - For the possibilities of color modifications, please refer - to the basegfx::BColorModifier definitions in basegfx. For - processing there is tooling in basegfx to build a stack of - BColorModifiers to always be able to proccess the correct - colors. - - If a renderer does not handle this primitive, the content will - be visualized unchanged. - */ - class DRAWINGLAYER_DLLPUBLIC ModifiedColorPrimitive2D : public GroupPrimitive2D - { - private: - /// The ColorModifier to use - basegfx::BColorModifier maColorModifier; - - public: - /// constructor - ModifiedColorPrimitive2D( - const Primitive2DSequence& rChildren, - const basegfx::BColorModifier& rColorModifier); - - /// data read access - const basegfx::BColorModifier& getColorModifier() const { return maColorModifier; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx deleted file mode 100644 index ec5452773751..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <tools/string.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ObjectInfoPrimitive2D class - - Info hierarchy helper class to hold contents like Name, Title and - Description which are valid for the child content, e.g. created for - primitives based on DrawingLayer objects or SVG parts. It decomposes - to it's content, so all direct renderers may ignore it. May e.g. - be used when re-creating graphical content from a sequence of primitives - */ - class DRAWINGLAYER_DLLPUBLIC ObjectInfoPrimitive2D : public GroupPrimitive2D - { - private: - OUString maName; - OUString maTitle; - OUString maDesc; - - public: - /// constructor - ObjectInfoPrimitive2D( - const Primitive2DSequence& rChildren, - const OUString& rName, - const OUString& rTitle, - const OUString& rDesc); - - /// data read access - const OUString& getName() const { return maName; } - const OUString& getTitle() const { return maTitle; } - const OUString& getDesc() const { return maDesc; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX - -////////////////////////////////////////////////////////////////////////////// -// eof diff --git a/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx deleted file mode 100644 index 5acdf2157f10..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <com/sun/star/drawing/XDrawPage.hpp> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** PagePreviewPrimitive2D class - - This primitive is needed to have the correct XDrawPage as ViewInformation for decomposing - the page contents (given as PageContent here) if these contain e.g. - view-dependent (in this case XDrawPage-dependent) text fields like PageNumber. If You want - those primitives to be visualized correctly, Your renderer needs to locally correct it's - ViewInformation2D to reference the new XDrawPage. - */ - class DRAWINGLAYER_DLLPUBLIC PagePreviewPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /** the XDrawPage visualized by this primitive. When we go forward with primitives - this will not only be used by the renderers to provide the correct decompose - graphic attribute context, but also to completely create the page's sub-content. - */ - const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > mxDrawPage; - - /// the PageContent - Primitive2DSequence maPageContent; - - /// the own geometry - basegfx::B2DHomMatrix maTransform; - - /// content width and height - double mfContentWidth; - double mfContentHeight; - - /// bitfield - /// flag to allow keeping the aspect ratio - unsigned mbKeepAspectRatio : 1; - - protected: - /// local decomposition. Implementation will just return children - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PagePreviewPrimitive2D( - const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& rxDrawPage, - const basegfx::B2DHomMatrix& rTransform, - double fContentWidth, - double fContentHeight, - const Primitive2DSequence& rPageContent, - bool bKeepAspectRatio); - - /// data read access - const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& getXDrawPage() const { return mxDrawPage; } - const Primitive2DSequence& getPageContent() const { return maPageContent; } - const basegfx::B2DHomMatrix& getTransform() const { return maTransform; } - double getContentWidth() const { return mfContentWidth; } - double getContentHeight() const { return mfContentHeight; } - bool getKeepAspectRatio() const { return mbKeepAspectRatio; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// own getB2DRange - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx deleted file mode 100644 index 7787d6f6ba28..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_PATTERNFILLPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PATTERNFILLPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** PatternFillPrimitive2D class - - This primitive allows filling a given PolyPolygon with a pattern - defined by a sequence of primitives which are mapped to the unit range. - The pattern is defined using a reference range which defines a rectangular - area relative to the PolyPolygon (in unit coordinates) which is virtually - infinitely repeated. - */ - class DRAWINGLAYER_DLLPUBLIC PatternFillPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - const basegfx::B2DPolyPolygon maMask; - const Primitive2DSequence maChildren; - const basegfx::B2DRange maReferenceRange; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PatternFillPrimitive2D( - const basegfx::B2DPolyPolygon& rMask, - const Primitive2DSequence& rChildren, - const basegfx::B2DRange& rReferenceRange); - - /// data read access - const basegfx::B2DPolyPolygon& getMask() const { return maMask; } - const Primitive2DSequence& getChildren() const { return maChildren; } - const basegfx::B2DRange& getReferenceRange() const { return maReferenceRange; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PATTERNFILLPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx deleted file mode 100644 index 8acb5956f60f..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// -// PointArrayPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PointArrayPrimitive2D class - - This primitive defines single,discrete 'pixels' for the given - positions in the given color. This makes it view-dependent since - the logic size of a 'pixel' depends on the view transformation. - - This is one of the non-decomposable primitives, so a renderer - should proccess it (Currently it is only used for grid visualisation, - but this may change). - */ - class DRAWINGLAYER_DLLPUBLIC PointArrayPrimitive2D : public BasePrimitive2D - { - private: - /// the array of positions - std::vector< basegfx::B2DPoint > maPositions; - - /// the color to use - basegfx::BColor maRGBColor; - - /// #i96669# add simple range buffering for this primitive - basegfx::B2DRange maB2DRange; - - public: - /// constructor - PointArrayPrimitive2D( - const std::vector< basegfx::B2DPoint >& rPositions, - const basegfx::BColor& rRGBColor); - - /// data read access - const std::vector< basegfx::B2DPoint >& getPositions() const { return maPositions; } - const basegfx::BColor& getRGBColor() const { return maRGBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx deleted file mode 100644 index 09e5b29039b3..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx +++ /dev/null @@ -1,310 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/attribute/lineattribute.hxx> -#include <drawinglayer/attribute/strokeattribute.hxx> -#include <drawinglayer/attribute/linestartendattribute.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/polygon/b2dpolygon.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// -// PolygonHairlinePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolygonHairlinePrimitive2D class - - This primitive defines a Hairline. Since hairlines are view-dependent, - this primitive is view-dependent, too. - - This is one of the non-decomposable primitives, so a renderer - should proccess it. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonHairlinePrimitive2D : public BasePrimitive2D - { - private: - /// the hairline geometry - basegfx::B2DPolygon maPolygon; - - /// the hairline color - basegfx::BColor maBColor; - - public: - /// constructor - PolygonHairlinePrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const basegfx::BColor& rBColor); - - /// data read access - const basegfx::B2DPolygon& getB2DPolygon() const { return maPolygon; } - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolygonMarkerPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolygonMarkerPrimitive2D class - - This primitive defines a two-colored marker hairline which is - dashed with the given dash length. Since hairlines are view-dependent, - this primitive is view-dependent, too. - - It will be decomposed to the needed PolygonHairlinePrimitive2D if - not handled directly by a renderer. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the marker hairline geometry - basegfx::B2DPolygon maPolygon; - - /// the two colors - basegfx::BColor maRGBColorA; - basegfx::BColor maRGBColorB; - - /// the dash distance in 'pixels' - double mfDiscreteDashLength; - - /// decomposition is view-dependent, remember last InverseObjectToViewTransformation - basegfx::B2DHomMatrix maLastInverseObjectToViewTransformation; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolygonMarkerPrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const basegfx::BColor& rRGBColorA, - const basegfx::BColor& rRGBColorB, - double fDiscreteDashLength); - - /// data read access - const basegfx::B2DPolygon& getB2DPolygon() const { return maPolygon; } - 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; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// get local decomposition. Overloaded since this decomposition is view-dependent - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolygonStrokePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolygonStrokePrimitive2D class - - This primitive defines a line with line width, line join, line color - and stroke attributes. It will be decomposed dependent on the definition - to the needed primitives, e.g. filled PolyPolygons for fat lines. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the line geometry - basegfx::B2DPolygon maPolygon; - - /// the line attributes like width, join and color - attribute::LineAttribute maLineAttribute; - - /// the line stroking (if used) - attribute::StrokeAttribute maStrokeAttribute; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolygonStrokePrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const attribute::LineAttribute& rLineAttribute, - const attribute::StrokeAttribute& rStrokeAttribute); - - /// constructor without stroking - PolygonStrokePrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const attribute::LineAttribute& rLineAttribute); - - /// data read access - const basegfx::B2DPolygon& getB2DPolygon() const { return maPolygon; } - const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; } - const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolygonWavePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolygonWavePrimitive2D class - - This primitive defines a waveline based on a PolygonStrokePrimitive2D - where the wave is defined by wave width and wave length. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonWavePrimitive2D : public PolygonStrokePrimitive2D - { - private: - /// wave definition - double mfWaveWidth; - double mfWaveHeight; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolygonWavePrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const attribute::LineAttribute& rLineAttribute, - const attribute::StrokeAttribute& rStrokeAttribute, - double fWaveWidth, - double fWaveHeight); - - /// constructor without stroking - PolygonWavePrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const attribute::LineAttribute& rLineAttribute, - double fWaveWidth, - double fWaveHeight); - - /// data read access - double getWaveWidth() const { return mfWaveWidth; } - double getWaveHeight() const { return mfWaveHeight; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolygonStrokeArrowPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolygonStrokeArrowPrimitive2D class - - This primitive defines a PolygonStrokePrimitive2D which is extended - eventually by start and end definitions which are normally used for - arrows. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonStrokeArrowPrimitive2D : public PolygonStrokePrimitive2D - { - private: - /// geometric definitions for line start and end - attribute::LineStartEndAttribute maStart; - attribute::LineStartEndAttribute maEnd; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolygonStrokeArrowPrimitive2D( - const basegfx::B2DPolygon& rPolygon, - const attribute::LineAttribute& rLineAttribute, - const attribute::StrokeAttribute& rStrokeAttribute, - const attribute::LineStartEndAttribute& rStart, - const attribute::LineStartEndAttribute& rEnd); - - /// data read access - const attribute::LineStartEndAttribute& getStart() const { return maStart; } - const attribute::LineStartEndAttribute& getEnd() const { return maEnd; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx deleted file mode 100644 index f53d4cdf5759..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx +++ /dev/null @@ -1,382 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/attribute/fillbitmapattribute.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <drawinglayer/attribute/lineattribute.hxx> -#include <drawinglayer/attribute/strokeattribute.hxx> -#include <drawinglayer/attribute/linestartendattribute.hxx> -#include <drawinglayer/attribute/fillgradientattribute.hxx> -#include <drawinglayer/attribute/fillhatchattribute.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonHairlinePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonHairlinePrimitive2D class - - This primitive defines a multi-PolygonHairlinePrimitive2D and is - just for convenience. The definition is not different from the single - defined PolygonHairlinePrimitive2Ds. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonHairlinePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the hairline geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the hairline color - basegfx::BColor maBColor; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolyPolygonHairlinePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBColor); - - /// data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonMarkerPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonMarkerPrimitive2D class - - This primitive defines a multi-PolygonMarkerPrimitive2D and is - just for convenience. The definition is not different from the single - defined PolygonMarkerPrimitive2Ds. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the marker hairline geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the two colors - basegfx::BColor maRGBColorA; - basegfx::BColor maRGBColorB; - - /// the dash distance in 'pixels' - double mfDiscreteDashLength; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolyPolygonMarkerPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const basegfx::BColor& rRGBColorA, - const basegfx::BColor& rRGBColorB, - double fDiscreteDashLength); - - // data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - 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; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonStrokePrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonStrokePrimitive2D class - - This primitive defines a multi-PolygonStrokePrimitive2D and is - just for convenience. The definition is not different from the single - defined PolygonStrokePrimitive2Ds. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the line geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the line attributes like width, join and color - attribute::LineAttribute maLineAttribute; - - /// the line stroking (if used) - attribute::StrokeAttribute maStrokeAttribute; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolyPolygonStrokePrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const attribute::LineAttribute& rLineAttribute, - const attribute::StrokeAttribute& rStrokeAttribute); - - PolyPolygonStrokePrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const attribute::LineAttribute& rLineAttribute); - - /// data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; } - const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonColorPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonColorPrimitive2D class - - This primitive defines a PolyPolygon filled with a single color. - This is one of the non-decomposable primitives, so a renderer - should proccess it. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonColorPrimitive2D : public BasePrimitive2D - { - private: - /// the PolyPolygon geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the polygon fill color - basegfx::BColor maBColor; - - public: - /// constructor - PolyPolygonColorPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const basegfx::BColor& rBColor); - - /// data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonGradientPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonColorPrimitive2D class - - This primitive defines a PolyPolygon filled with a gradient. The - decomosition will create a MaskPrimitive2D containing a - FillGradientPrimitive2D. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the PolyPolygon geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the gradient definition - attribute::FillGradientAttribute maFillGradient; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolyPolygonGradientPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const attribute::FillGradientAttribute& rFillGradient); - - /// data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - const attribute::FillGradientAttribute& getFillGradient() const { return maFillGradient; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonHatchPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonHatchPrimitive2D class - - This primitive defines a PolyPolygon filled with a hatch. The - decomosition will create a MaskPrimitive2D containing a - FillHatchPrimitive2D. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonHatchPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the PolyPolygon geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the hatch background color (if used) - basegfx::BColor maBackgroundColor; - - /// the hatch definition - attribute::FillHatchAttribute maFillHatch; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolyPolygonHatchPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const basegfx::BColor& rBackgroundColor, - const attribute::FillHatchAttribute& rFillHatch); - - /// data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - const basegfx::BColor& getBackgroundColor() const { return maBackgroundColor; } - const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// PolyPolygonBitmapPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** PolyPolygonBitmapPrimitive2D class - - This primitive defines a PolyPolygon filled with bitmap data - (including transparence). The decomosition will create a MaskPrimitive2D - containing a FillBitmapPrimitive2D. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonBitmapPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the PolyPolygon geometry - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the bitmap fill definition (may include tiling) - attribute::FillBitmapAttribute maFillBitmap; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - PolyPolygonBitmapPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const attribute::FillBitmapAttribute& rFillBitmap); - - /// data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; } - const attribute::FillBitmapAttribute& getFillBitmap() const { return maFillBitmap; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx deleted file mode 100644 index 6ef63f1e916b..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** DiscreteMetricDependentPrimitive2D class - - tooling class for BufferedDecompositionPrimitive2D baseed classes which are view-dependent - regarding the size of a discrete unit. The implementation of get2DDecomposition - guards the buffered local decomposition and ensures that a create2DDecomposition - implementation may use an up-to-date DiscreteUnit accessible using getDiscreteUnit() - */ - class DRAWINGLAYER_DLLPUBLIC DiscreteMetricDependentPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /** the last used fDiscreteUnit definitions for decomposition. Since this - is checked and updated from get2DDecomposition() it will be current and - usable in create2DDecomposition() - */ - double mfDiscreteUnit; - - public: - /// constructor - DiscreteMetricDependentPrimitive2D() - : BufferedDecompositionPrimitive2D(), - mfDiscreteUnit(0.0) - { - } - - /// data read access - double getDiscreteUnit() const { return mfDiscreteUnit; } - - /// get local decomposition. Overloaded since this decomposition is view-dependent - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ViewportDependentPrimitive2D class - - tooling class for BufferedDecompositionPrimitive2D baseed classes which are view-dependent - regarding the viewport. The implementation of get2DDecomposition - guards the buffered local decomposition and ensures that a create2DDecomposition - implementation may use an up-to-date Viewport accessible using getViewport() - */ - class DRAWINGLAYER_DLLPUBLIC ViewportDependentPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /** the last used Viewport definition for decomposition. Since this - is checked and updated from get2DDecomposition() it will be current and - usable in create2DDecomposition() - */ - basegfx::B2DRange maViewport; - - public: - /// constructor - ViewportDependentPrimitive2D() - : BufferedDecompositionPrimitive2D(), - maViewport() - { - } - - /// data read access - const basegfx::B2DRange& getViewport() const { return maViewport; } - - /// get local decomposition. Overloaded since this decomposition is view-dependent - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ViewTransformationDependentPrimitive2D class - - tooling class for BufferedDecompositionPrimitive2D based classes which are view-dependent - regarding the complete Viewtransformation. The implementation of get2DDecomposition - guards the buffered local decomposition and ensures that a create2DDecomposition - implementation may use an up-to-date ViewTransformation accessible using getViewTransformation() - */ - class DRAWINGLAYER_DLLPUBLIC ViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /** the last used ViewTransformation definition for decomposition. Since this - is checked and updated from get2DDecomposition() it will be current and - usable in create2DDecomposition() - */ - basegfx::B2DHomMatrix maViewTransformation; - - public: - /// constructor - ViewTransformationDependentPrimitive2D() - : BufferedDecompositionPrimitive2D(), - maViewTransformation() - { - } - - /// data read access - const basegfx::B2DHomMatrix& getViewTransformation() const { return maViewTransformation; } - - /// get local decomposition. Overloaded since this decomposition is view-dependent - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ObjectAndViewTransformationDependentPrimitive2D class - - tooling class for BufferedDecompositionPrimitive2D based classes which are view-dependent - and Object-Transform dependent. The implementation of get2DDecomposition - guards the buffered local decomposition and ensures that a create2DDecomposition - implementation may use an up-to-date ViewTransformation accessible using getViewTransformation() - and an object transformation via getObjectTransformation() - */ - class DRAWINGLAYER_DLLPUBLIC ObjectAndViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /** the last used ViewTransformation and the last ObjectTransformation - definition for decomposition. Since this is checked and updated from - get2DDecomposition() it will be current and usable in create2DDecomposition() - */ - basegfx::B2DHomMatrix maViewTransformation; - basegfx::B2DHomMatrix maObjectTransformation; - - public: - /// constructor - ObjectAndViewTransformationDependentPrimitive2D() - : BufferedDecompositionPrimitive2D(), - maViewTransformation(), - maObjectTransformation() - { - } - - /// data read access - const basegfx::B2DHomMatrix& getViewTransformation() const { return maViewTransformation; } - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - - /// get local decomposition. Overloaded since this decomposition is view-dependent - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx deleted file mode 100644 index d865ba15161a..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx +++ /dev/null @@ -1,159 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <drawinglayer/geometry/viewinformation3d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <vcl/bitmapex.hxx> -#include <drawinglayer/attribute/sdrsceneattribute3d.hxx> -#include <drawinglayer/attribute/sdrlightingattribute3d.hxx> -#include <drawinglayer/attribute/sdrlightattribute3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ScenePrimitive2D class - - This primitive defines a 3D scene as a 2D primitive and is the anchor point - for a 3D visualisation. The decomposition is view-dependent and will try to - re-use already rendered 3D content. - - The rendering is done using the default-3D renderer from basegfx which supports - AntiAliasing. - - The 2D primitive's geometric range is defined completely by the - ObjectTransformation combined with evtl. 2D shadows from the 3D objects. The - shadows of 3D objects are 2D polygons, projected with the 3D transformation. - - This is the class a renderer may process directly when he wants to implement - an own (e.g. system-specific) 3D renderer. - */ - class DRAWINGLAYER_DLLPUBLIC ScenePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the 3D geometry definition - primitive3d::Primitive3DSequence mxChildren3D; - - /// 3D scene attribute set - attribute::SdrSceneAttribute maSdrSceneAttribute; - - /// lighting attribute set - attribute::SdrLightingAttribute maSdrLightingAttribute; - - /// object transformation for scene for 2D definition - basegfx::B2DHomMatrix maObjectTransformation; - - /// scene transformation set and object transformation - geometry::ViewInformation3D maViewInformation3D; - - /// the primitiveSequence for on-demand created shadow primitives (see mbShadow3DChecked) - Primitive2DSequence maShadowPrimitives; - - /// bitfield - /** flag if given 3D geometry is already cheched for shadow definitions and 2d shadows - are created in maShadowPrimitives - */ - unsigned mbShadow3DChecked : 1; - - /// the last used NewDiscreteSize and NewUnitVisiblePart definitions for decomposition - double mfOldDiscreteSizeX; - double mfOldDiscreteSizeY; - basegfx::B2DRange maOldUnitVisiblePart; - - /** the last created BitmapEx, e.g. for fast HitTest. This does not really need - memory since BitmapEx is internally RefCounted - */ - BitmapEx maOldRenderedBitmap; - - /// private helpers - bool impGetShadow3D(const geometry::ViewInformation2D& rViewInformation) const; - void calculateDiscreteSizes( - const geometry::ViewInformation2D& rViewInformation, - basegfx::B2DRange& rDiscreteRange, - basegfx::B2DRange& rVisibleDiscreteRange, - basegfx::B2DRange& rUnitVisibleRange) const; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// public helpers - /** Geometry extractor. Shadow will be added as in create2DDecomposition, but - the 3D content is not converted to a bitmap visualisation but to projected 2D gemetry. This - helper is useful e.g. for Contour extraction or HitTests. - */ - Primitive2DSequence getGeometry2D() const; - Primitive2DSequence getShadow2D(const geometry::ViewInformation2D& rViewInformation) const; - - /** Fast HitTest which uses the last buffered BitmapEx from the last - rendered area if available. The return value describes if the check - could be done with the current information, so do NOT use o_rResult - when it returns false. o_rResult will be changed on return true and - then contains a definitive answer if content of this scene is hit or - not. On return false, it is normally necessary to use the geometric - HitTest (see CutFindProcessor usages). The given HitPoint - has to be in logic coordinates in scene's ObjectCoordinateSystem. - */ - bool tryToCheckLastVisualisationDirectHit(const basegfx::B2DPoint& rLogicHitPoint, bool& o_rResult) const; - - /// constructor - ScenePrimitive2D( - const primitive3d::Primitive3DSequence& rxChildren3D, - const attribute::SdrSceneAttribute& rSdrSceneAttribute, - const attribute::SdrLightingAttribute& rSdrLightingAttribute, - const basegfx::B2DHomMatrix& rObjectTransformation, - const geometry::ViewInformation3D& rViewInformation3D); - - /// data read access - const primitive3d::Primitive3DSequence& getChildren3D() const { return mxChildren3D; } - const attribute::SdrSceneAttribute& getSdrSceneAttribute() const { return maSdrSceneAttribute; } - const attribute::SdrLightingAttribute& getSdrLightingAttribute() const { return maSdrLightingAttribute; } - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /// get local decomposition. Overloaded since this decomposition is view-dependent - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx deleted file mode 100644 index 5ac29383ff76..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class B2DPolyPolygon; - class B2DHomMatrix; -} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - // helpers to create HitTestPrimitives Line - Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D( - bool bFilled, - const basegfx::B2DHomMatrix& rMatrix); - - Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D( - bool bFilled, - const basegfx::B2DPolyPolygon& rPolygon); - - Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D( - bool bFilled, - const basegfx::B2DRange& rRange); - - Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D( - bool bFilled, - const basegfx::B2DRange& rRange, - const basegfx::B2DHomMatrix& rMatrix); - - Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D( - bool bFilled, - const basegfx::B2DPolyPolygon& rPolygon, - const basegfx::B2DHomMatrix& rMatrix); - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx deleted file mode 100644 index 956d1a3e2d76..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** ShadowPrimitive2D class - - This primitive defines a generic shadow geometry construction - for 2D objects. It decomposes to a TransformPrimitive2D embedded - into a ModifiedColorPrimitive2D. - - It's for primtive usage convenience, so that not everyone has - to implement the generic shadow construction by himself. - - The same geometry as sequence of primitives is used as geometry and - as shadow. Since these are RefCounted Uno-Api objects, no extra objects - are needed for the shadow itself; all the local decompositions of the - original geometry can be reused from the renderer for shadow visualisation. - */ - class DRAWINGLAYER_DLLPUBLIC ShadowPrimitive2D : public GroupPrimitive2D - { - private: - /// the shadow transformation, normally just an offset - basegfx::B2DHomMatrix maShadowTransform; - - /// the shadow color to which all geometry is to be forced - basegfx::BColor maShadowColor; - - public: - /// constructor - ShadowPrimitive2D( - const basegfx::B2DHomMatrix& rShadowTransform, - const basegfx::BColor& rShadowColor, - const Primitive2DSequence& rChildren); - - /// data read access - const basegfx::B2DHomMatrix& getShadowTransform() const { return maShadowTransform; } - const basegfx::BColor& getShadowColor() const { return maShadowColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// create decomposition - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx deleted file mode 100644 index bc2396e5ab23..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <vcl/pdfwriter.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** StructureTagPrimitive2D class - - This class is used to provode simple support for adding grouped - pdf writer structured element information like used in sd from - unomodel.cxx where a ViewObjectContactRedirector is used to add - such information for diverse objects. - This primitive encapsulates these and the VCLPdfRenderer uses it - to apply the needed infos directly to the pdf export in a compatible - way. - If a renderer ignores this, it just decomposes to it's child - content. - */ - class DRAWINGLAYER_DLLPUBLIC StructureTagPrimitive2D : public GroupPrimitive2D - { - private: - /// the PDF structure element this grouping represents - vcl::PDFWriter::StructElement maStructureElement; - - public: - /// constructor - StructureTagPrimitive2D( - const vcl::PDFWriter::StructElement& rStructureElement, - const Primitive2DSequence& rChildren); - - /// data read access - const vcl::PDFWriter::StructElement& getStructureElement() const { return maStructureElement; } - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx deleted file mode 100644 index 0e7dab93ff14..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx +++ /dev/null @@ -1,413 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <drawinglayer/primitive2d/primitivetools2d.hxx> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -// SvgGradientEntry class - -namespace drawinglayer -{ - namespace primitive2d - { - /// a single GradientStop defining a color and opacity at a distance - class SvgGradientEntry - { - private: - double mfOffset; - basegfx::BColor maColor; - double mfOpacity; - - public: - SvgGradientEntry(double fOffset, const basegfx::BColor& rColor = basegfx::BColor(0.0, 0.0, 0.0), double fOpacity = 1.0) - : mfOffset(fOffset), - maColor(rColor), - mfOpacity(fOpacity) - { - } - - double getOffset() const { return mfOffset; } - const basegfx::BColor& getColor() const { return maColor; } - double getOpacity() const { return mfOpacity; } - - bool operator==(const SvgGradientEntry& rCompare) const - { - return (getOffset() == rCompare.getOffset() - && getColor() == getColor() - && getOpacity() == getOpacity()); - } - - bool operator<(const SvgGradientEntry& rCompare) const - { - return getOffset() < rCompare.getOffset(); - } - }; - - typedef ::std::vector< SvgGradientEntry > SvgGradientEntryVector; - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// SvgGradientHelper class - -namespace drawinglayer -{ - namespace primitive2d - { - enum SpreadMethod - { - Spread_pad = 0, - Spread_reflect, - Spread_repeat - }; - - /* helper for linear and radial gradient, both get derived from this - to share common definitions and functionality - **/ - class SvgGradientHelper - { - private: - /// geometric definition, the geometry to be filled - basegfx::B2DPolyPolygon maPolyPolygon; - - /// the gradient definition - SvgGradientEntryVector maGradientEntries; - - /// start and/or center point - basegfx::B2DPoint maStart; - - /// how to spread - SpreadMethod maSpreadMethod; - - /// bitfield - bool mbPreconditionsChecked : 1; - bool mbCreatesContent : 1; - bool mbSingleEntry : 1; - bool mbFullyOpaque : 1; - - // true = interpret in unit coordinate system -> object aspect ratio will scale result - // false = interpret in object coordinate system -> object aspect ratio will not scale result - // (related to SVG's gradientUnits (userSpaceOnUse|objectBoundingBox) - bool mbUseUnitCoordinates : 1; - - protected: - /// local helpers - Primitive2DSequence createSingleGradientEntryFill() const; - virtual void createAtom( - Primitive2DVector& rTargetColor, - Primitive2DVector& rTargetOpacity, - const SvgGradientEntry& rFrom, - const SvgGradientEntry& rTo, - sal_Int32 nOffset) const = 0; - double createRun( - Primitive2DVector& rTargetColor, - Primitive2DVector& rTargetOpacity, - double fPos, - double fMax, - const SvgGradientEntryVector& rEntries, - sal_Int32 nOffset) const; - virtual void checkPreconditions(); - Primitive2DSequence createResult( - const Primitive2DVector& rTargetColor, - const Primitive2DVector& rTargetOpacity, - const basegfx::B2DHomMatrix& rUnitGradientToObject, - bool bInvert = false) const; - bool getCreatesContent() const { return mbCreatesContent; } - bool getSingleEntry() const { return mbSingleEntry; } - void setSingleEntry() { mbSingleEntry = true; } - bool getPreconditionsChecked() const { return mbPreconditionsChecked; } - bool getFullyOpaque() const { return mbFullyOpaque; } - - public: - /// constructor - SvgGradientHelper( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const SvgGradientEntryVector& rGradientEntries, - const basegfx::B2DPoint& rStart, - bool bUseUnitCoordinates, - SpreadMethod aSpreadMethod = Spread_pad); - virtual ~SvgGradientHelper() {} - - /// data read access - const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; } - const SvgGradientEntryVector& getGradientEntries() const { return maGradientEntries; } - const basegfx::B2DPoint& getStart() const { return maStart; } - bool getUseUnitCoordinates() const { return mbUseUnitCoordinates; } - SpreadMethod getSpreadMethod() const { return maSpreadMethod; } - - /// compare operator - bool equalTo(const SvgGradientHelper& rSvgGradientHelper) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// SvgLinearGradientPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /// the basic linear gradient primitive - class DRAWINGLAYER_DLLPUBLIC SvgLinearGradientPrimitive2D : public BufferedDecompositionPrimitive2D, public SvgGradientHelper - { - private: - /// the end point for linear gradient - basegfx::B2DPoint maEnd; - - protected: - /// local helpers - virtual void createAtom( - Primitive2DVector& rTargetColor, - Primitive2DVector& rTargetOpacity, - const SvgGradientEntry& rFrom, - const SvgGradientEntry& rTo, - sal_Int32 nOffset) const; - virtual void checkPreconditions(); - - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - SvgLinearGradientPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const SvgGradientEntryVector& rGradientEntries, - const basegfx::B2DPoint& rStart, - const basegfx::B2DPoint& rEnd, - bool bUseUnitCoordinates, - SpreadMethod aSpreadMethod = Spread_pad); - virtual ~SvgLinearGradientPrimitive2D(); - - /// data read access - const basegfx::B2DPoint& getEnd() const { return maEnd; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// SvgRadialGradientPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /// the basic radial gradient primitive - class DRAWINGLAYER_DLLPUBLIC SvgRadialGradientPrimitive2D : public BufferedDecompositionPrimitive2D, public SvgGradientHelper - { - private: - /// the geometric definition - double mfRadius; - - /// Focal only used when focal is set at all, see constructors - basegfx::B2DPoint maFocal; - basegfx::B2DVector maFocalVector; - double maFocalLength; - - // internal helper for case Spread_reflect - SvgGradientEntryVector maMirroredGradientEntries; - - /// bitfield - bool mbFocalSet : 1; - - /// local helpers - const SvgGradientEntryVector& getMirroredGradientEntries() const; - void createMirroredGradientEntries(); - - protected: - /// local helpers - virtual void createAtom( - Primitive2DVector& rTargetColor, - Primitive2DVector& rTargetOpacity, - const SvgGradientEntry& rFrom, - const SvgGradientEntry& rTo, - sal_Int32 nOffset) const; - virtual void checkPreconditions(); - - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - SvgRadialGradientPrimitive2D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const SvgGradientEntryVector& rGradientEntries, - const basegfx::B2DPoint& rStart, - double fRadius, - bool bUseUnitCoordinates, - SpreadMethod aSpreadMethod = Spread_pad, - const basegfx::B2DPoint* pFocal = 0); - virtual ~SvgRadialGradientPrimitive2D(); - - /// data read access - double getRadius() const { return mfRadius; } - const basegfx::B2DPoint& getFocal() const { return maFocal; } - bool isFocalSet() const { return mbFocalSet; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// SvgLinearAtomPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /* basic primitive for a single linear GradientRun in unit coordiantes. - It's derived from DiscreteMetricDependentPrimitive2D to allow view-dependent - decompositions allowing reduced color steps - **/ - class DRAWINGLAYER_DLLPUBLIC SvgLinearAtomPrimitive2D : public DiscreteMetricDependentPrimitive2D - { - private: - /// the geometric definition in unit coordiantes - basegfx::BColor maColorA; - basegfx::BColor maColorB; - double mfOffsetA; - double mfOffsetB; - - protected: - - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - SvgLinearAtomPrimitive2D( - const basegfx::BColor& aColorA, double fOffsetA, - const basegfx::BColor& aColorB, double fOffsetB); - - /// data read access - const basegfx::BColor& getColorA() const { return maColorA; } - const basegfx::BColor& getColorB() const { return maColorB; } - double getOffsetA() const { return mfOffsetA; } - double getOffsetB() const { return mfOffsetB; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// SvgRadialAtomPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /* basic primitive for a single radial GradientRun in unit coordiantes. - It's derived from DiscreteMetricDependentPrimitive2D to allow view-dependent - decompositions allowing reduced color steps - **/ - class DRAWINGLAYER_DLLPUBLIC SvgRadialAtomPrimitive2D : public DiscreteMetricDependentPrimitive2D - { - private: - /// the geometric definition in unit coordiantes - basegfx::BColor maColorA; - basegfx::BColor maColorB; - double mfScaleA; - double mfScaleB; - - // helper to hold translation vectors when given (for focal) - struct VectorPair - { - basegfx::B2DVector maTranslateA; - basegfx::B2DVector maTranslateB; - - VectorPair(const basegfx::B2DVector& rTranslateA, const basegfx::B2DVector& rTranslateB) - : maTranslateA(rTranslateA), - maTranslateB(rTranslateB) - { - } - }; - - /// Only used when focal is set - VectorPair* mpTranslate; - - protected: - - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - SvgRadialAtomPrimitive2D( - const basegfx::BColor& aColorA, double fScaleA, const basegfx::B2DVector& rTranslateA, - const basegfx::BColor& aColorB, double fScaleB, const basegfx::B2DVector& rTranslateB); - SvgRadialAtomPrimitive2D( - const basegfx::BColor& aColorA, double fScaleA, - const basegfx::BColor& aColorB, double fScaleB); - virtual ~SvgRadialAtomPrimitive2D(); - - /// data read access - const basegfx::BColor& getColorA() const { return maColorA; } - const basegfx::BColor& getColorB() const { return maColorB; } - double getScaleA() const { return mfScaleA; } - double getScaleB() const { return mfScaleB; } - bool isTranslateSet() const { return (0 != mpTranslate); } - basegfx::B2DVector getTranslateA() const { if(mpTranslate) return mpTranslate->maTranslateA; return basegfx::B2DVector(); } - basegfx::B2DVector getTranslateB() const { if(mpTranslate) return mpTranslate->maTranslateB; return basegfx::B2DVector(); } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx deleted file mode 100644 index 4a3996353a93..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/primitive2d/textprimitive2d.hxx> -#include <drawinglayer/primitive2d/textlayoutdevice.hxx> -#include <basegfx/matrix/b2dhommatrixtools.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - enum BreakupUnit - { - BreakupUnit_character, - BreakupUnit_word, - BreakupUnit_sentence - }; - - class DRAWINGLAYER_DLLPUBLIC TextBreakupHelper - { - private: - const TextSimplePortionPrimitive2D& mrSource; - Primitive2DSequence mxResult; - TextLayouterDevice maTextLayouter; - basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose maDecTrans; - - /// bitfield - bool mbNoDXArray : 1; - - /// create a portion from nIndex to nLength and append to rTempResult - void breakupPortion(Primitive2DVector& rTempResult, sal_uInt32 nIndex, sal_uInt32 nLength, bool bWordLineMode); - - /// breakup complete primitive - void breakup(BreakupUnit aBreakupUnit); - - protected: - /// allow user callback to allow changes to the new TextTransformation. Default - /// does nothing. Retval defines if a primitive gets created, e.g. return false - /// to suppress creation - virtual bool allowChange(sal_uInt32 nCount, basegfx::B2DHomMatrix& rNewTransform, sal_uInt32 nIndex, sal_uInt32 nLength); - - /// allow read access to evtl. useful local parts - const TextLayouterDevice& getTextLayouter() const { return maTextLayouter; } - const basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose& getDecTrans() const { return maDecTrans; } - const TextSimplePortionPrimitive2D& getSource() const { return mrSource; } - - public: - TextBreakupHelper(const TextSimplePortionPrimitive2D& rSource); - virtual ~TextBreakupHelper(); - - /// get result - const Primitive2DSequence& getResult(BreakupUnit aBreakupUnit = BreakupUnit_character) const; - }; - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx deleted file mode 100644 index 506510958848..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx +++ /dev/null @@ -1,147 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/textprimitive2d.hxx> -#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predeclarations - -namespace basegfx { namespace tools { - class B2DHomMatrixBufferedOnDemandDecompose; -}} - -namespace com { namespace sun { namespace star { namespace i18n { - struct Boundary; -}}}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextDecoratedPortionPrimitive2D class - - This primitive expands the TextSimplePortionPrimitive2D by common - decorations used in the office. It can be decomposed and will create - a TextSimplePortionPrimitive2D and all the contained decorations (if used) - as geometry. - */ - class DRAWINGLAYER_DLLPUBLIC TextDecoratedPortionPrimitive2D : public TextSimplePortionPrimitive2D - { - private: - /// decoration definitions - basegfx::BColor maOverlineColor; - basegfx::BColor maTextlineColor; - TextLine meFontOverline; - TextLine meFontUnderline; - TextStrikeout meTextStrikeout; - TextEmphasisMark meTextEmphasisMark; - TextRelief meTextRelief; - - /// bitfield - unsigned mbUnderlineAbove : 1; - unsigned mbWordLineMode : 1; - unsigned mbEmphasisMarkAbove : 1; - unsigned mbEmphasisMarkBelow : 1; - unsigned mbShadow : 1; - - /// helper methods - void impCreateGeometryContent( - std::vector< Primitive2DReference >& rTarget, - basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose& rDecTrans, - const String& rText, - xub_StrLen aTextPosition, - xub_StrLen aTextLength, - const ::std::vector< double >& rDXArray, - const attribute::FontAttribute& rFontAttribute) const; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - TextDecoratedPortionPrimitive2D( - - /// TextSimplePortionPrimitive2D parameters - const basegfx::B2DHomMatrix& rNewTransform, - const String& rText, - xub_StrLen aTextPosition, - xub_StrLen aTextLength, - const ::std::vector< double >& rDXArray, - const attribute::FontAttribute& rFontAttribute, - const ::com::sun::star::lang::Locale& rLocale, - const basegfx::BColor& rFontColor, - - /// local parameters - const basegfx::BColor& rOverlineColor, - const basegfx::BColor& rTextlineColor, - TextLine eFontOverline = TEXT_LINE_NONE, - TextLine eFontUnderline = TEXT_LINE_NONE, - bool bUnderlineAbove = false, - TextStrikeout eTextStrikeout = TEXT_STRIKEOUT_NONE, - bool bWordLineMode = false, - TextEmphasisMark eTextEmphasisMark = TEXT_EMPHASISMARK_NONE, - bool bEmphasisMarkAbove = true, - bool bEmphasisMarkBelow = false, - TextRelief eTextRelief = TEXT_RELIEF_NONE, - bool bShadow = false); - - /// data read access - TextLine getFontOverline() const { return meFontOverline; } - TextLine getFontUnderline() const { return meFontUnderline; } - TextStrikeout getTextStrikeout() const { return meTextStrikeout; } - TextEmphasisMark getTextEmphasisMark() const { return meTextEmphasisMark; } - TextRelief getTextRelief() const { return meTextRelief; } - const basegfx::BColor& getOverlineColor() const { return maOverlineColor; } - const basegfx::BColor& getTextlineColor() const { return maTextlineColor; } - bool getUnderlineAbove() const { return mbUnderlineAbove; } - bool getWordLineMode() const { return mbWordLineMode; } - bool getEmphasisMarkAbove() const { return mbEmphasisMarkAbove; } - bool getEmphasisMarkBelow() const { return mbEmphasisMarkBelow; } - bool getShadow() const { return mbShadow; } - - /// check if this needs to be a TextDecoratedPortionPrimitive2D or - /// if a TextSimplePortionPrimitive2D would be suficcient - bool decoratedIsNeeded() const; - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx deleted file mode 100644 index 01fff05473d5..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextEffectStyle2D definition */ - enum TextEffectStyle2D - { - TEXTEFFECTSTYLE2D_RELIEF_EMBOSSED_DEFAULT, - TEXTEFFECTSTYLE2D_RELIEF_ENGRAVED_DEFAULT, - TEXTEFFECTSTYLE2D_RELIEF_EMBOSSED, - TEXTEFFECTSTYLE2D_RELIEF_ENGRAVED, - TEXTEFFECTSTYLE2D_OUTLINE - }; - - /** TextEffectPrimitive2D class - - This primitive embeds text primitives (normally, as can be seen can - also be used for any other primitives) which have some TextEffect applied - and create the needed geometry and embedding on decomposition. - */ - class DRAWINGLAYER_DLLPUBLIC TextEffectPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// the text (or other) content - Primitive2DSequence maTextContent; - - /// the style to apply, the direction and the rotation center - const basegfx::B2DPoint maRotationCenter; - double mfDirection; - TextEffectStyle2D meTextEffectStyle2D; - - /** the last used object to view transformtion used from getDecomposition - for decide buffering - */ - basegfx::B2DHomMatrix maLastObjectToViewTransformation; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// construcor - TextEffectPrimitive2D( - const Primitive2DSequence& rTextContent, - const basegfx::B2DPoint& rRotationCenter, - double fDirection, - TextEffectStyle2D eTextEffectStyle2D); - - /// data read access - const Primitive2DSequence& getTextContent() const { return maTextContent; } - const basegfx::B2DPoint& getRotationCenter() const { return maRotationCenter; } - double getDirection() const { return mfDirection; } - TextEffectStyle2D getTextEffectStyle2D() const { return meTextEffectStyle2D; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /** own get range implementation to solve more effective. Content is by definition displaced - by a fixed discrete unit, thus the contained geometry needs only once be asked for it's - own basegfx::B2DRange - */ - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - - /// Overload standard getDecomposition call to be view-dependent here - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx deleted file mode 100644 index 36531e6fce16..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <vcl/vclenum.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextLine definition - - This is used for both underline and overline - */ - enum TextLine - { - TEXT_LINE_NONE, - TEXT_LINE_SINGLE, - TEXT_LINE_DOUBLE, - TEXT_LINE_DOTTED, - TEXT_LINE_DASH, - TEXT_LINE_LONGDASH, - TEXT_LINE_DASHDOT, - TEXT_LINE_DASHDOTDOT, - TEXT_LINE_SMALLWAVE, - TEXT_LINE_WAVE, - TEXT_LINE_DOUBLEWAVE, - TEXT_LINE_BOLD, - TEXT_LINE_BOLDDOTTED, - TEXT_LINE_BOLDDASH, - TEXT_LINE_BOLDLONGDASH, - TEXT_LINE_BOLDDASHDOT, - TEXT_LINE_BOLDDASHDOTDOT, - TEXT_LINE_BOLDWAVE - }; - - /** helper to convert LineStyle */ - TextLine DRAWINGLAYER_DLLPUBLIC mapFontUnderlineToTextLine(FontUnderline eLineStyle); - FontUnderline DRAWINGLAYER_DLLPUBLIC mapTextLineToFontUnderline(TextLine eLineStyle); - - /** FontStrikeout definition */ - enum TextStrikeout - { - TEXT_STRIKEOUT_NONE, - TEXT_STRIKEOUT_SINGLE, - TEXT_STRIKEOUT_DOUBLE, - TEXT_STRIKEOUT_BOLD, - TEXT_STRIKEOUT_SLASH, - TEXT_STRIKEOUT_X - }; - - /** helper to convert FontStrikeout */ - TextStrikeout DRAWINGLAYER_DLLPUBLIC mapFontStrikeoutToTextStrikeout(::FontStrikeout eFontStrikeout); - ::FontStrikeout DRAWINGLAYER_DLLPUBLIC mapTextStrikeoutToFontStrikeout(TextStrikeout eFontStrikeout); - - /** TextEmphasisMark definition */ - enum TextEmphasisMark - { - TEXT_EMPHASISMARK_NONE, - TEXT_EMPHASISMARK_DOT, - TEXT_EMPHASISMARK_CIRCLE, - TEXT_EMPHASISMARK_DISC, - TEXT_EMPHASISMARK_ACCENT - }; - - /** TextRelief definition */ - enum TextRelief - { - TEXT_RELIEF_NONE, - TEXT_RELIEF_EMBOSSED, - TEXT_RELIEF_ENGRAVED - }; - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx deleted file mode 100644 index e9fb01f094ff..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx +++ /dev/null @@ -1,212 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <tools/string.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextHierarchyLinePrimitive2D class - - Text format hierarchy helper class. It decomposes to it's - content, so all direct renderers may ignore it. If You need - to know more about line hierarchies You may react on it and - also need to take care that the source of data uses it. - - This primitive encapsulates text lines. - */ - class DRAWINGLAYER_DLLPUBLIC TextHierarchyLinePrimitive2D : public GroupPrimitive2D - { - private: - public: - /// constructor - explicit TextHierarchyLinePrimitive2D(const Primitive2DSequence& rChildren); - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextHierarchyBulletPrimitive2D class - - This primitive encapsulates text bullets. - */ - class DRAWINGLAYER_DLLPUBLIC TextHierarchyBulletPrimitive2D : public GroupPrimitive2D - { - private: - public: - /// constructor - explicit TextHierarchyBulletPrimitive2D(const Primitive2DSequence& rChildren); - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextHierarchyParagraphPrimitive2D class - - This primitive encapsulates text paragraphs. - */ - class DRAWINGLAYER_DLLPUBLIC TextHierarchyParagraphPrimitive2D : public GroupPrimitive2D - { - private: - public: - /// constructor - explicit TextHierarchyParagraphPrimitive2D(const Primitive2DSequence& rChildren); - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextHierarchyBlockPrimitive2D class - - This primitive encapsulates text blocks. - */ - class DRAWINGLAYER_DLLPUBLIC TextHierarchyBlockPrimitive2D : public GroupPrimitive2D - { - private: - public: - /// constructor - explicit TextHierarchyBlockPrimitive2D(const Primitive2DSequence& rChildren); - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** FieldType definition */ - enum FieldType - { - /** unspecified. If more info is needed for a FieldType, - create a new type and it's handling - */ - FIELD_TYPE_COMMON, - - /** uses "FIELD_SEQ_BEGIN;PageField" -> special handling */ - FIELD_TYPE_PAGE, - - /** uses URL as string -> special handling */ - FIELD_TYPE_URL - }; - - /** TextHierarchyFieldPrimitive2D class - - This primitive encapsulates text fields. - Also: This type uses a type enum to transport the encapsulated field - type. Also added is a String which is type-dependent. E.g. for URL - fields, it contains the URL. - */ - class DRAWINGLAYER_DLLPUBLIC TextHierarchyFieldPrimitive2D : public GroupPrimitive2D - { - private: - FieldType meType; - OUString maString; - - public: - /// constructor - TextHierarchyFieldPrimitive2D( - const Primitive2DSequence& rChildren, - const FieldType& rFieldType, - const OUString& rString); - - /// data read access - FieldType getType() const { return meType; } - const OUString& getString() const { return maString; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextHierarchyEditPrimitive2D class - - #i97628# - Primitive to encapsulate text from an active text edit; some - renderers need to suppress this output due to painting the - edited text in e.g. an OutlinerEditView. It's derived from - GroupPrimitive2D, so the implicit decomposition will use the - content. To suppress, this primitive needs to be parsed by - the renderer without taking any action. - */ - class DRAWINGLAYER_DLLPUBLIC TextHierarchyEditPrimitive2D : public GroupPrimitive2D - { - private: - public: - /// constructor - explicit TextHierarchyEditPrimitive2D(const Primitive2DSequence& rChildren); - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx deleted file mode 100644 index a0338a371aad..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx +++ /dev/null @@ -1,155 +0,0 @@ -/* -*- 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_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX -#define INCLUDED_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <tools/solar.h> -#include <tools/poly.hxx> -#include <basegfx/range/b2drange.hxx> -#include <vector> -#include <com/sun/star/lang/Locale.hpp> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines -class VirtualDevice; -class Font; -class String; -class OutputDevice; -class GDIMetaFile; - -namespace drawinglayer { namespace attribute { - class FontAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// -// access to one global impTimedRefDev incarnation in namespace drawinglayer::primitive - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextLayouterDevice class - - This helper class exists to isolate all accesses to VCL - text formatting/handling functionality for primitive implementations. - When in the future FontHandling may move to an own library independent - from VCL, primitives will be prepared. - */ - class DRAWINGLAYER_DLLPUBLIC TextLayouterDevice - { - /// internally used VirtualDevice - VirtualDevice& mrDevice; - - public: - /// constructor/destructor - TextLayouterDevice(); - ~TextLayouterDevice(); - - /// tooling methods - void setFont(const Font& rFont); - void setFontAttribute( - const attribute::FontAttribute& rFontAttribute, - double fFontScaleX, - double fFontScaleY, - const ::com::sun::star::lang::Locale & rLocale); - - double getTextHeight() const; - double getOverlineHeight() const; - double getOverlineOffset() const; - double getUnderlineHeight() const; - double getUnderlineOffset() const; - double getStrikeoutOffset() const; - - double getTextWidth( - const String& rText, - sal_uInt32 nIndex, - sal_uInt32 nLength) const; - - bool getTextOutlines( - basegfx::B2DPolyPolygonVector&, - const String& rText, - sal_uInt32 nIndex, - sal_uInt32 nLength, - const ::std::vector< double >& rDXArray) const; - - basegfx::B2DRange getTextBoundRect( - const String& rText, - sal_uInt32 nIndex, - sal_uInt32 nLength) const; - - double getFontAscent() const; - double getFontDescent() const; - - void addTextRectActions( - const Rectangle& rRectangle, - const String& rText, - sal_uInt16 nStyle, - GDIMetaFile& rGDIMetaFile) const; - - ::std::vector< double > getTextArray( - const String& rText, - sal_uInt32 nIndex, - sal_uInt32 nLength) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// helper methods for vcl font handling - -namespace drawinglayer -{ - namespace primitive2d - { - /** Create a VCL-Font based on the definitions in FontAttribute - and the given FontScaling. The FontScaling defines the FontHeight - (fFontScaleY) and the FontWidth (fFontScaleX). The combination of - both defines FontStretching, where no stretching happens at - fFontScaleY == fFontScaleX - */ - Font DRAWINGLAYER_DLLPUBLIC getVclFontFromFontAttribute( - const attribute::FontAttribute& rFontAttribute, - double fFontScaleX, - double fFontScaleY, - double fFontRotation, - const ::com::sun::star::lang::Locale & rLocale); - - /** Generate FontAttribute DataSet derived from the given VCL-Font. - The FontScaling with fFontScaleY, fFontScaleX relationship (see - above) will be set in return parameter o_rSize to allow further - processing - */ - attribute::FontAttribute DRAWINGLAYER_DLLPUBLIC getFontAttributeFromVclFont( - basegfx::B2DVector& o_rSize, - const Font& rFont, - bool bRTL, - bool bBiDiStrong); - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx deleted file mode 100644 index 6bcca85a8bc2..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - class DRAWINGLAYER_DLLPUBLIC TextLinePrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// geometric definitions - basegfx::B2DHomMatrix maObjectTransformation; - double mfWidth; - double mfOffset; - double mfHeight; - - /// decoration definitions - TextLine meTextLine; - basegfx::BColor maLineColor; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - TextLinePrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - double fOffset, - double fHeight, - TextLine eTextLine, - const basegfx::BColor& rLineColor); - - /// data read access - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - double getWidth() const { return mfWidth; } - double getOffset() const { return mfOffset; } - double getHeight() const { return mfHeight; } - TextLine getTextLine() const { return meTextLine; } - const basegfx::BColor& getLineColor() const { return maLineColor; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx deleted file mode 100644 index 5a12e2bc678f..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx +++ /dev/null @@ -1,181 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <tools/string.hxx> -#include <vcl/font.hxx> -#include <basegfx/color/bcolor.hxx> -#include <vector> -#include <com/sun/star/lang/Locale.hpp> -#include <drawinglayer/attribute/fontattribute.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -class OutputDevice; - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TextSimplePortionPrimitive2D class - - This is the basic primitive for representing a text portion. It contains - all needed information. If it is not handled by a renderer, it's decomposition - will provide the text PolyPolygon outlines as filled polygons, correctly - transformed. - - To get better text quality, it is suggested to handle tis primitive directly - in a renderer. In that case, e.g. hintings on the system can be supported. - - @param maTextTransform - The text transformation contains the text start position (always baselined) - as translation, the FontSize as scale (where width relative to height defines - font scaling and width == height means no font scaling) and the font rotation - and shear. - When shear is used and a renderer does not support it, it may be better to use - the decomposition which will do everything correctly. Same is true for mirroring - which would be expressed as negative scalings. - - @param rText - The text to be used. Only a part may be used, but a bigger part of the string - may be necessary for correct layouting (e.g. international) - - @param aTextPosition - The index to the first character to use from rText - - @param aTextLength - The number of characters to use from rText - - @param rDXArray - The distances between the characters. This parameter may be empty, in that case - the renderer is responsible to do something useful. If it is given, it has to be of - the size aTextLength. Its values are in logical coordinates and describe the - distance for each character to use. This is independent from the font width which - is given with maTextTransform. The first value is the offset to use from the start - point in FontCoordinateSystem X-Direction (given by maTextTransform) to the start - point of the second character - - @param rFontAttribute - The font definition - - @param rLocale - The locale to use - - @param rFontColor - The font color to use - */ - class DRAWINGLAYER_DLLPUBLIC TextSimplePortionPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// text transformation (FontCoordinateSystem) - basegfx::B2DHomMatrix maTextTransform; - - /// The text, used from maTextPosition up to maTextPosition + maTextLength - String maText; - - /// The index from where on maText is used - xub_StrLen maTextPosition; - - /// The length for maText usage, starting from maTextPosition - xub_StrLen maTextLength; - - /// The DX array in logic units - ::std::vector< double > maDXArray; - - /// The font definition - attribute::FontAttribute maFontAttribute; - - /// The Locale for the text - ::com::sun::star::lang::Locale maLocale; - - /// font color - basegfx::BColor maFontColor; - - /// #i96669# internal: add simple range buffering for this primitive - basegfx::B2DRange maB2DRange; - bool mbFilled; // Whether to fill a given width with the text - long mnWidthToFill; // the width to fill - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - TextSimplePortionPrimitive2D( - const basegfx::B2DHomMatrix& rNewTransform, - const String& rText, - xub_StrLen aTextPosition, - xub_StrLen aTextLength, - const ::std::vector< double >& rDXArray, - const attribute::FontAttribute& rFontAttribute, - const ::com::sun::star::lang::Locale& rLocale, - const basegfx::BColor& rFontColor, - bool bFilled = false, - long nWidthToFill = 0); - - /// helpers - /** get text outlines as polygons and their according ObjectTransformation. Handles all - the necessary VCL outline extractins, scaling adaptions and other stuff. - */ - void getTextOutlinesAndTransformation(basegfx::B2DPolyPolygonVector& rTarget, basegfx::B2DHomMatrix& rTransformation) const; - - /// data read access - const basegfx::B2DHomMatrix& getTextTransform() const { return maTextTransform; } - const String& getText() const { return maText; } - xub_StrLen getTextPosition() const { return maTextPosition; } - xub_StrLen getTextLength() const { return maTextLength; } - const ::std::vector< double >& getDXArray() const { return maDXArray; } - const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; } - const ::com::sun::star::lang::Locale& getLocale() const { return maLocale; } - const basegfx::BColor& getFontColor() const { return maFontColor; } - bool isFilled() const { return mbFilled; } - long getWidthToFill() const { return mnWidthToFill; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - - /// small helper to have a compare operator for Locale - bool DRAWINGLAYER_DLLPUBLIC LocalesAreEqual(const ::com::sun::star::lang::Locale& rA, const ::com::sun::star::lang::Locale& rB); - - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx deleted file mode 100644 index 216fe740933a..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> -#include <drawinglayer/attribute/fontattribute.hxx> -#include <com/sun/star/lang/Locale.hpp> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - class DRAWINGLAYER_DLLPUBLIC BaseTextStrikeoutPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// geometric definitions - basegfx::B2DHomMatrix maObjectTransformation; - double mfWidth; - - /// decoration definitions - basegfx::BColor maFontColor; - - public: - /// constructor - BaseTextStrikeoutPrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - const basegfx::BColor& rFontColor); - - /// data read access - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - double getWidth() const { return mfWidth; } - const basegfx::BColor& getFontColor() const { return maFontColor; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - class DRAWINGLAYER_DLLPUBLIC TextCharacterStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D - { - private: - sal_Unicode maStrikeoutChar; - attribute::FontAttribute maFontAttribute; - ::com::sun::star::lang::Locale maLocale; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - TextCharacterStrikeoutPrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - const basegfx::BColor& rFontColor, - sal_Unicode aStrikeoutChar, - const attribute::FontAttribute& rFontAttribute, - const ::com::sun::star::lang::Locale& rLocale); - - /// data read access - sal_Unicode getStrikeoutChar() const { return maStrikeoutChar; } - const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; } - const ::com::sun::star::lang::Locale& getLocale() const { return maLocale; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - class DRAWINGLAYER_DLLPUBLIC TextGeometryStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D - { - private: - double mfHeight; - double mfOffset; - TextStrikeout meTextStrikeout; - - protected: - /// local decomposition. - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - TextGeometryStrikeoutPrimitive2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - double fWidth, - const basegfx::BColor& rFontColor, - double fHeight, - double fOffset, - TextStrikeout eTextStrikeout); - - /// data read access - double getHeight() const { return mfHeight; } - double getOffset() const { return mfOffset; } - TextStrikeout getTextStrikeout() const { return meTextStrikeout; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx deleted file mode 100644 index e58c530fa71f..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TransformPrimitive2D class - - This is one of the basic grouping primitives and it provides - embedding a sequence of primitives (a geometry) into a - transformation. All renderers have to handle this, usually by - building a current transformation stack (linear combination) - and applying this to all to-be-rendered geometry. If not handling - this, the output will be mostly wrong since this primitive is - widely used. - - It does transform by embedding an existing geometry into a - transformation as Child-content. This allows re-usage of the - refcounted Uno-Api primitives and their existung, buffered - decompositions. - - It could e.g. be used to show a single object geometry in 1000 - different, transformed states without the need to create those - thousand primitive contents. - */ - class DRAWINGLAYER_DLLPUBLIC TransformPrimitive2D : public GroupPrimitive2D - { - private: - // the transformation to apply to the child geometry - basegfx::B2DHomMatrix maTransformation; - - public: - /// constructor - TransformPrimitive2D( - const basegfx::B2DHomMatrix& rTransformation, - const Primitive2DSequence& rChildren); - - /// data read access - const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx deleted file mode 100644 index 1c742da909d3..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** TransparencePrimitive2D class - - This is the basic primitive for applying freely defined transparence - to freely defined content. The basic idea is to associate a content - which is defined as a sequence of primitives and hold as child content - in the GroupPrimitive2D with a transparence channel also defined as a sequence - of primitives and hold in the transparence member. - - The basic definition is to use the transparence content as transparence-Mask by - interpreting the transparence-content not as RGB, but as Luminance transparence mask - using the common RGB_to_luminance definition as e.g. used by VCL. - - The defining geometry is the Range of the child primitive sequence, - this means the renderers will/shall use this geometric information for - rendering, not the transparent one. The transparent one should/will be clipped - accordingly. - */ - class DRAWINGLAYER_DLLPUBLIC TransparencePrimitive2D : public GroupPrimitive2D - { - private: - /// The transparence-Mask who's RGB-Values are interpreted as Luminance - Primitive2DSequence maTransparence; - - public: - /** constructor - - @param rChildren - The content which is defined to have a transparency. The - range of this primitive is defined by this content - - @param rTransparence - The definition of the Transparence-channel for this primitive. It - will be interpreted as mask by interpreting as gray values - using the common RGB_to_luminance definitions - */ - TransparencePrimitive2D( - const Primitive2DSequence& rChildren, - const Primitive2DSequence& rTransparence); - - /// data read access - const Primitive2DSequence& getTransparence() const { return maTransparence; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx deleted file mode 100644 index e30de32107f6..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/groupprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** UnifiedTransparencePrimitive2D class - - This primitive encapsualtes a child hierarchy and defines - that it shall be visualized with the given transparency. That - transparency is unique for all contained geometry, so that - e.g. overlapping polygons in the child geometry will not show - regions of combined transparency, but be all rendered with the - defined, single transparency. - */ - class DRAWINGLAYER_DLLPUBLIC UnifiedTransparencePrimitive2D : public GroupPrimitive2D - { - private: - /// the unified transparence - double mfTransparence; - - public: - /// constructor - UnifiedTransparencePrimitive2D( - const Primitive2DSequence& rChildren, - double fTransparence); - - /// data read access - double getTransparence() const { return mfTransparence; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// own getB2DRange implementation to include transparent geometries to BoundRect calculations - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// create decomposition - virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx deleted file mode 100644 index 0e370b74dab0..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/primitivetools2d.hxx> -#include <vcl/bitmapex.hxx> -#include <vcl/wall.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive2d - { - /** WallpaperBitmapPrimitive2D class - - This is a specialized primtive for the Wallpaper definitions included in - VCL and Metafiles. The extraordinary about the bitmap definition part of - the Wallpaper is that it uses PIXEL size of the given Bitmap and not - the logic and/or discrete size derived by PrefMapMode/PrefSize methods. - To emulate this, a ViewTransformation dependent primitive is needed which - takes over the correct scaling(s). - - Since a specialized primitive is needed anyways, i opted to also add the - layouting which is dependent from WallpaperStyle; thus it does not need - to be handled anywhere else in the future. - */ - class DRAWINGLAYER_DLLPUBLIC WallpaperBitmapPrimitive2D : public ViewTransformationDependentPrimitive2D - { - private: - basegfx::B2DRange maObjectRange; - BitmapEx maBitmapEx; - WallpaperStyle meWallpaperStyle; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - WallpaperBitmapPrimitive2D( - const basegfx::B2DRange& rObjectRange, - const BitmapEx& rBitmapEx, - WallpaperStyle eWallpaperStyle); - - /// data read access - const basegfx::B2DRange& getLocalObjectRange() const { return maObjectRange; } - const BitmapEx& getBitmapEx() const { return maBitmapEx ; } - WallpaperStyle getWallpaperStyle() const { return meWallpaperStyle; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// get B2Drange - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx deleted file mode 100644 index cafd40f40aa3..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// -// WrongSpellPrimitive2D class - -namespace drawinglayer -{ - namespace primitive2d - { - /** WrongSpellPrimitive2D class - - This is a helper primitive to hold evtl. WrongSpell visualisations - in the sequence of primitives. The primitive holds this information - separated form the TextPortions to where it belongs to tot expand the - TextSimplePortionPrimitive2D more as needed. - - A renderer who does not want to visualize this (if contained at all) - can detect and ignore this primitive. If it's decomposition is used, - it will be visualized as red wavelines. - - The geometric definition defines a line on the X-Axis (no Y-coordinates) - which will when transformed by Transformation, create the coordinate data. - */ - class DRAWINGLAYER_DLLPUBLIC WrongSpellPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// geometry definition - basegfx::B2DHomMatrix maTransformation; - double mfStart; - double mfStop; - - /// color (usually red) - basegfx::BColor maColor; - - protected: - /// create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - - public: - /// constructor - WrongSpellPrimitive2D( - const basegfx::B2DHomMatrix& rTransformation, - double fStart, - double fStop, - const basegfx::BColor& rColor); - - /// data read access - const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; } - double getStart() const { return mfStart; } - double getStop() const { return mfStop; } - const basegfx::BColor& getColor() const { return maColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive2DIDBlock() - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx deleted file mode 100644 index 974c47d9e485..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx +++ /dev/null @@ -1,213 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <cppuhelper/compbase1.hxx> -#include <boost/utility.hpp> -#include <com/sun/star/graphic/XPrimitive3D.hpp> -#include <comphelper/broadcasthelper.hxx> -#include <basegfx/range/b3drange.hxx> - -////////////////////////////////////////////////////////////////////////////// -/** defines for DeclPrimitrive3DIDBlock and ImplPrimitrive3DIDBlock - Added to be able to simply change identification stuff later, e.g. add - a identification string and/or ID to the interface and to the implementation - ATM used to delclare implement getPrimitive3DID() - */ - -#define DeclPrimitrive3DIDBlock() \ - virtual sal_uInt32 getPrimitive3DID() const; - -#define ImplPrimitrive3DIDBlock(TheClass, TheID) \ - sal_uInt32 TheClass::getPrimitive3DID() const { return TheID; } - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace geometry { - class ViewInformation3D; -}} - -namespace drawinglayer { namespace primitive3d { - /// typedefs for basePrimitive3DImplBase, Primitive3DSequence and Primitive3DReference - typedef cppu::WeakComponentImplHelper1< ::com::sun::star::graphic::XPrimitive3D > BasePrimitive3DImplBase; - typedef ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive3D > Primitive3DReference; - typedef ::com::sun::star::uno::Sequence< Primitive3DReference > Primitive3DSequence; -}} - -////////////////////////////////////////////////////////////////////////////// -// basePrimitive3D class - -namespace drawinglayer -{ - namespace primitive3d - { - /** BasePrimitive3D class - - Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D - - The description/functionality is identical with the 2D case in baseprimitive2d.hxx, - please see there for detailed information. - - Current Basic 3D Primitives are: - - - PolygonHairlinePrimitive3D (for 3D hairlines) - - PolyPolygonMaterialPrimitive3D (for 3D filled plane polygons) - - That's all for 3D! - */ - class DRAWINGLAYER_DLLPUBLIC BasePrimitive3D - : private boost::noncopyable, - protected comphelper::OBaseMutex, - public BasePrimitive3DImplBase - { - private: - protected: - public: - // constructor/destructor - BasePrimitive3D(); - virtual ~BasePrimitive3D(); - - /** the ==operator is mainly needed to allow testing newly-created high level primitives against their last - incarnation which buffers/holds the decompositionsThe default implementation - uses getPrimitive3DID()-calls to test if it's the same ID at last. Overloaded implementation are then - based on this implementation. - */ - virtual bool operator==( const BasePrimitive3D& rPrimitive ) const; - bool operator!=( const BasePrimitive3D& rPrimitive ) const { return !operator==(rPrimitive); } - - /** This method is for places where using the C++ implementation directly is possible. The subprocessing - and range merging is more efficient when working directly on basegfx::B3DRange. The default implementation - will use getDecomposition results to create the range - */ - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /** provide unique ID for fast identifying of known primitive implementations in renderers. These use - the defines from primitivetypes3d.hxx to define unique IDs. - */ - virtual sal_uInt32 getPrimitive3DID() const = 0; - - /// The default implementation returns an empty sequence - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - // - // Methods from XPrimitive3D - // - - /** The getDecomposition implementation for UNO API will use getDecomposition from this implementation. It - will get the ViewInformation from the ViewParameters for that purpose - */ - virtual Primitive3DSequence SAL_CALL getDecomposition( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException ); - - /** the getRange default implemenation will use getDecomposition to create the range information from merging - getRange results from the single local decomposition primitives. - */ - virtual ::com::sun::star::geometry::RealRectangle3D SAL_CALL getRange( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException ); - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// BufferedDecompositionPrimitive3D class - -namespace drawinglayer -{ - namespace primitive3d - { - /** BufferedDecompositionPrimitive3D class - - Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D - - The description/functionality is identical with the 2D case in baseprimitive2d.hxx, - please see there for detailed information - */ - class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive3D - : public BasePrimitive3D - { - private: - /// a sequence used for buffering the last create3DDecomposition() result - Primitive3DSequence maBuffered3DDecomposition; - - protected: - /** access methods to maBuffered3DDecomposition. The usage of this methods may allow - later thread-safe stuff to be added if needed. Only to be used by getDecomposition() - implementations for buffering the last decomposition. - */ - const Primitive3DSequence& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; } - void setBuffered3DDecomposition(const Primitive3DSequence& rNew) { maBuffered3DDecomposition = rNew; } - - /** method which is to be used to implement the local decomposition of a 2D primitive. The default - implementation will just return an empty decomposition - */ - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - // constructor - BufferedDecompositionPrimitive3D(); - - /** The getDecomposition default implementation will on demand use create3DDecomposition() if - maBuffered3DDecomposition is empty. It will set maBuffered3DDecomposition to this obtained decomposition - to buffer it. If the decomposition is also ViewInformation-dependent, this method needs to be - overloaded and the ViewInformation for the last decomposition needs to be remembered, too, and - be used in the next call to decide if the buffered decomposition may be reused or not. - */ - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// -// tooling - -namespace drawinglayer -{ - namespace primitive3d - { - /// get B3DRange from a given Primitive3DReference - basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DReference(const Primitive3DReference& rCandidate, const geometry::ViewInformation3D& aViewInformation); - - /// get range3D from a given Primitive3DSequence - basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DSequence(const Primitive3DSequence& rCandidate, const geometry::ViewInformation3D& aViewInformation); - - /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D) - and using compare operator - */ - bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DReferencesEqual(const Primitive3DReference& rA, const Primitive3DReference& rB); - - /// compare two Primitive3DReferences for equality, uses arePrimitive3DReferencesEqual internally - bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DSequencesEqual(const Primitive3DSequence& rA, const Primitive3DSequence& rB); - - /// concatenate sequence - void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource); - - /// concatenate single Primitive3D - void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DReferenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DReference& rSource); - - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx deleted file mode 100644 index 3be15ad5e8bb..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_PRIMITIVETYPES3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_PRIMITIVETYPES3D_HXX - -////////////////////////////////////////////////////////////////////////////// -// define ranges for other libraries - -#define PRIMITIVE3D_ID_RANGE_DRAWINGLAYER (0 << 16) - -////////////////////////////////////////////////////////////////////////////// -// local primitives - -#define PRIMITIVE3D_ID_GROUPPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 0) -#define PRIMITIVE3D_ID_HATCHTEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 1) -#define PRIMITIVE3D_ID_MODIFIEDCOLORPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 2) -#define PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 3) -#define PRIMITIVE3D_ID_POLYGONSTROKEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 4) -#define PRIMITIVE3D_ID_POLYGONTUBEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 5) -#define PRIMITIVE3D_ID_POLYPOLYGONMATERIALPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 6) -#define PRIMITIVE3D_ID_SDRCUBEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 7) -#define PRIMITIVE3D_ID_SDREXTRUDEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 8) -#define PRIMITIVE3D_ID_SDRLATHEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 9) -#define PRIMITIVE3D_ID_SDRPOLYPOLYGONPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 10) -#define PRIMITIVE3D_ID_SDRSPHEREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 11) -#define PRIMITIVE3D_ID_SHADOWPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 12) -#define PRIMITIVE3D_ID_UNIFIEDTRANSPARENCETEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 13) -#define PRIMITIVE3D_ID_GRADIENTTEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 14) -#define PRIMITIVE3D_ID_BITMAPTEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 15) -#define PRIMITIVE3D_ID_TRANSPARENCETEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 16) -#define PRIMITIVE3D_ID_TRANSFORMPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 17) -#define PRIMITIVE3D_ID_HIDDENGEOMETRYPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 18) - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_PRIMITIVETYPES3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx deleted file mode 100644 index d8d3f5b77446..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** GroupPrimitive3D class - - Baseclass for all grouping 3D primitives - - The description/functionality is identical with the 2D case in groupprimitive2d.hxx, - please see there for detailed information. - - Current Basic 3D StatePrimitives are: - - - ModifiedColorPrimitive3D (for a stack of color modifications) - - ShadowPrimitive3D (for 3D objects with shadow; this is a special case - since the shadow of a 3D primitive is a 2D primitive set) - - TexturePrimitive3D (with the following variations) - - GradientTexturePrimitive3D (for 3D gradient fill) - - BitmapTexturePrimitive3D (for 3D Bitmap fill) - - TransparenceTexturePrimitive3D (for 3D transparence) - - HatchTexturePrimitive3D (for 3D hatch fill) - - TransformPrimitive3D (for a transformation stack) - */ - class DRAWINGLAYER_DLLPUBLIC GroupPrimitive3D : public BasePrimitive3D - { - private: - /// the children. Declared private since this shall never be changed at all after construction - Primitive3DSequence maChildren; - - public: - /// constructor - explicit GroupPrimitive3D(const Primitive3DSequence& rChildren); - - /// data read access - Primitive3DSequence getChildren() const { return maChildren; } - - /// compare operator - virtual bool operator==( const BasePrimitive3D& rPrimitive ) const; - - /// local decomposition. Implementation will just return children - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx deleted file mode 100644 index 981027a1615b..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/textureprimitive3d.hxx> -#include <drawinglayer/attribute/fillhatchattribute.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** HatchTexturePrimitive3D class - - HatchTexturePrimitive3D is derived from GroupPrimitive3D, but implements - a decomposition which is complicated enough for buffering. Since the group - primitive has no default buffering, it is necessary here to add a local - buffering mechanism for the decomposition - */ - class DRAWINGLAYER_DLLPUBLIC HatchTexturePrimitive3D : public TexturePrimitive3D - { - private: - /// the hatch definition - attribute::FillHatchAttribute maHatch; - - /// the buffered decomposed hatch - Primitive3DSequence maBuffered3DDecomposition; - - protected: - /// helper: local decomposition - Primitive3DSequence impCreate3DDecomposition() const; - - /// local access methods to maBufferedDecomposition - const Primitive3DSequence& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; } - void setBuffered3DDecomposition(const Primitive3DSequence& rNew) { maBuffered3DDecomposition = rNew; } - - public: - /// constructor - HatchTexturePrimitive3D( - const attribute::FillHatchAttribute& rHatch, - const Primitive3DSequence& rChildren, - const basegfx::B2DVector& rTextureSize, - bool bModulate, - bool bFilter); - - /// data read access - const attribute::FillHatchAttribute& getHatch() const { return maHatch; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// local decomposition. - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx deleted file mode 100644 index 7fe7359b4824..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/groupprimitive3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - // This primitive is used to represent geometry for non-visible objects, - // e.g. a 3D cube without fill attributes. To still be able to use - // primitives for HitTest functionality, the 3d decompositions produce - // an as much as possible simplified fill geometry encapsulated in this - // primtive when there is no fill geometry. Currently, the 3d hit test - // uses only areas, so maybe in a further enchanced version this will change - // to 'if neither filled nor lines' creation criteria. The whole primitive - // decomposes to nothing, so no one not knowing it will be influenced. Only - // helper processors for hit test (and maybe BoundRect extractors) will - // use it and it's children subcontent. - class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive3D : public GroupPrimitive3D - { - public: - explicit HiddenGeometryPrimitive3D(const Primitive3DSequence& rChildren); - - // despite returning an empty decomposition since it's no visualisation data, - // range calculation is intended to use hidden geometry, so - // the local implementation will return the children's range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// The default implementation returns an empty sequence - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - // provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx deleted file mode 100644 index 0e5fe4329e12..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_MODIFIEDCOLORPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_MODIFIEDCOLORPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/groupprimitive3d.hxx> -#include <basegfx/color/bcolormodifier.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** ModifiedColorPrimitive3D class - - This primitive is a grouping primitive and allows to define - how the colors of it's child content shall be modified for - visualisation. Please see the ModifiedColorPrimitive2D - description for more info. - */ - class DRAWINGLAYER_DLLPUBLIC ModifiedColorPrimitive3D : public GroupPrimitive3D - { - private: - /// The ColorModifier to use - basegfx::BColorModifier maColorModifier; - - public: - /// constructor - ModifiedColorPrimitive3D( - const Primitive3DSequence& rChildren, - const basegfx::BColorModifier& rColorModifier); - - /// data read access - const basegfx::BColorModifier& getColorModifier() const { return maColorModifier; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_MODIFIEDCOLORPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx deleted file mode 100644 index 62fb60265732..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx +++ /dev/null @@ -1,129 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_POLYGONPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/polygon/b3dpolygon.hxx> -#include <drawinglayer/attribute/lineattribute.hxx> -#include <drawinglayer/attribute/strokeattribute.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** PolygonHairlinePrimitive3D class - - This primitive defines a Hairline in 3D. Since hairlines are view-dependent, - this primitive is view-dependent, too. - - This is one of the non-decomposable 3D primitives, so a renderer - should proccess it. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonHairlinePrimitive3D : public BasePrimitive3D - { - private: - /// the hairline geometry - basegfx::B3DPolygon maPolygon; - - /// the hairline color - basegfx::BColor maBColor; - - public: - /// constructor - PolygonHairlinePrimitive3D( - const basegfx::B3DPolygon& rPolygon, - const basegfx::BColor& rBColor); - - /// data read access - const basegfx::B3DPolygon& getB3DPolygon() const { return maPolygon; } - const basegfx::BColor& getBColor() const { return maBColor; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** PolygonStrokePrimitive3D class - - This primitive defines a 3D line with line width, line join, line color - and stroke attributes. It will be decomposed dependent on the definition - to the needed primitives, e.g. filled Tubes for fat lines. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonStrokePrimitive3D : public BufferedDecompositionPrimitive3D - { - private: - /// the line geometry - basegfx::B3DPolygon maPolygon; - - /// the line attributes like width, join and color - attribute::LineAttribute maLineAttribute; - - /// the line stroking (if used) - attribute::StrokeAttribute maStrokeAttribute; - - protected: - /// local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - PolygonStrokePrimitive3D( - const basegfx::B3DPolygon& rPolygon, - const attribute::LineAttribute& rLineAttribute, - const attribute::StrokeAttribute& rStrokeAttribute); - - /// data read access - basegfx::B3DPolygon getB3DPolygon() const { return maPolygon; } - const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; } - const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx deleted file mode 100644 index 56f7dc4b4d4a..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/polygonprimitive3d.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class B3DPolyPolygon; - class B3DHomMatrix; -} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** PolygonStrokePrimitive3D class - - This 3D primitive extends a 3D hairline to a 3D tube which is - e.g. used for fat lines in 3D. It's decomposition will create all - 3D objects needed for the line tubes and the edge roundings - in full 3D. - */ - class DRAWINGLAYER_DLLPUBLIC PolygonTubePrimitive3D : public PolygonHairlinePrimitive3D - { - private: - /// hold the last decompositon since it's expensive - Primitive3DSequence maLast3DDecomposition; - - /// visualisation parameters - double mfRadius; - double mfDegreeStepWidth; - double mfMiterMinimumAngle; - basegfx::B2DLineJoin maLineJoin; - com::sun::star::drawing::LineCap maLineCap; - - protected: - /** access methods to maLast3DDecomposition. The usage of this methods may allow - later thread-safe stuff to be added if needed. Only to be used by getDecomposition() - implementations for buffering the last decomposition. - */ - const Primitive3DSequence& getLast3DDecomposition() const { return maLast3DDecomposition; } - void setLast3DDecomposition(const Primitive3DSequence& rNew) { maLast3DDecomposition = rNew; } - - /// local decomposition. - Primitive3DSequence impCreate3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - PolygonTubePrimitive3D( - const basegfx::B3DPolygon& rPolygon, - const basegfx::BColor& rBColor, - double fRadius, - basegfx::B2DLineJoin aLineJoin, - com::sun::star::drawing::LineCap aLineCap, - double fDegreeStepWidth = 10.0 * F_PI180, - double fMiterMinimumAngle = 15.0 * F_PI180); - - /// data read access - double getRadius() const { return mfRadius; } - double getDegreeStepWidth() const { return mfDegreeStepWidth; } - double getMiterMinimumAngle() const { return mfMiterMinimumAngle; } - basegfx::B2DLineJoin getLineJoin() const { return maLineJoin; } - com::sun::star::drawing::LineCap getLineCap() const { return maLineCap; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /** local decomposition. Use own buffering since we are not derived from - BufferedDecompositionPrimitive3D - */ - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx deleted file mode 100644 index 7f916afe978c..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_POLYPOLYGONPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYPOLYGONPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <basegfx/polygon/b3dpolypolygon.hxx> -#include <drawinglayer/attribute/materialattribute3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** PolyPolygonMaterialPrimitive3D class - - This primitive defines a planar 3D PolyPolygon filled with a single color. - This is one of the non-decomposable primitives, so a renderer - should proccess it. - - It is assumed here that the PolyPolgon is a single plane in 3D. - */ - class DRAWINGLAYER_DLLPUBLIC PolyPolygonMaterialPrimitive3D : public BasePrimitive3D - { - private: - /// the PolyPolygon geometry - basegfx::B3DPolyPolygon maPolyPolygon; - - /// the fill parameters - attribute::MaterialAttribute3D maMaterial; - - /// bitfield - unsigned mbDoubleSided : 1; - - public: - /// constructor - PolyPolygonMaterialPrimitive3D( - const basegfx::B3DPolyPolygon& rPolyPolygon, - const attribute::MaterialAttribute3D& rMaterial, - bool bDoubleSided); - - /// data read access - const basegfx::B3DPolyPolygon& getB3DPolyPolygon() const { return maPolyPolygon; } - const attribute::MaterialAttribute3D& getMaterial() const { return maMaterial; } - bool getDoubleSided() const { return mbDoubleSided; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYPOLYGONPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx deleted file mode 100644 index 513d120c5343..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDRCUBEPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRCUBEPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/sdrprimitive3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** SdrCubePrimitive3D class - - This 3D primitive expands the SdrPrimitive3D to a 3D cube definition. - The cube is implicitely in unit coordinates and the given transformation - defines it's geometry in space. - */ - class DRAWINGLAYER_DLLPUBLIC SdrCubePrimitive3D : public SdrPrimitive3D - { - protected: - /// local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - SdrCubePrimitive3D( - const basegfx::B3DHomMatrix& rTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute, - const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute); - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRCUBEPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx deleted file mode 100644 index ffe0e2cea676..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDRDECOMPOSITIONTOOLS3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRDECOMPOSITIONTOOLS3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <com/sun/star/drawing/TextureProjectionMode.hpp> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class B3DPolygon; - class B3DPolyPolygon; - class B3DHomMatrix; - class B2DVector; -} - -namespace drawinglayer { namespace attribute { - class SdrLineAttribute; - class SdrFillAttribute; - class Sdr3DObjectAttribute; - class FillGradientAttribute; - class SdrShadowAttribute; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - // #i98295# - basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getRangeFrom3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill); - void DRAWINGLAYER_DLLPUBLIC applyNormalsKindSphereTo3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill, const basegfx::B3DRange& rRange); - void DRAWINGLAYER_DLLPUBLIC applyNormalsKindFlatTo3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill); - void DRAWINGLAYER_DLLPUBLIC applyNormalsInvertTo3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill); - - // #i98314# - void DRAWINGLAYER_DLLPUBLIC applyTextureTo3DGeometry( - ::com::sun::star::drawing::TextureProjectionMode eModeX, - ::com::sun::star::drawing::TextureProjectionMode eModeY, - ::std::vector< basegfx::B3DPolyPolygon >& rFill, - const basegfx::B3DRange& rRange, - const basegfx::B2DVector& rTextureSize); - - Primitive3DSequence DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonLinePrimitives( - const basegfx::B3DPolyPolygon& rUnitPolyPolygon, - const basegfx::B3DHomMatrix& rObjectTransform, - const attribute::SdrLineAttribute& rLine); - - Primitive3DSequence DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonFillPrimitives( - const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector, - const basegfx::B3DHomMatrix& rObjectTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::Sdr3DObjectAttribute& aSdr3DObjectAttribute, - const attribute::SdrFillAttribute& rFill, - const attribute::FillGradientAttribute& rFillGradient); - - Primitive3DSequence DRAWINGLAYER_DLLPUBLIC createShadowPrimitive3D( - const Primitive3DSequence& rSource, - const attribute::SdrShadowAttribute& rShadow, - bool bShadow3D); - - Primitive3DSequence DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives3D( - const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector, - const basegfx::B3DHomMatrix& rObjectTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::Sdr3DObjectAttribute& aSdr3DObjectAttribute); - - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_DRAWINGLAYER_PRIMITIVE3D_SDRDECOMPOSITIONTOOLS3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx deleted file mode 100644 index d741b4c1b223..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDELATHETOOLS3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDELATHETOOLS3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <basegfx/polygon/b3dpolypolygon.hxx> -#include <basegfx/polygon/b2dpolypolygontools.hxx> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace drawinglayer { namespace geometry { - class ViewInformation3D; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** SliceType3D definition */ - enum SliceType3D - { - SLICETYPE3D_REGULAR, // normal geoemtry Slice3D - SLICETYPE3D_FRONTCAP, // front cap - SLICETYPE3D_BACKCAP // back cap - }; - - /// class to hold one Slice3D - class DRAWINGLAYER_DLLPUBLIC Slice3D - { - protected: - basegfx::B3DPolyPolygon maPolyPolygon; - SliceType3D maSliceType; - - public: - Slice3D( - const basegfx::B2DPolyPolygon& rPolyPolygon, - const basegfx::B3DHomMatrix& aTransform, - SliceType3D aSliceType = SLICETYPE3D_REGULAR) - : maPolyPolygon(basegfx::tools::createB3DPolyPolygonFromB2DPolyPolygon(rPolyPolygon)), - maSliceType(aSliceType) - { - maPolyPolygon.transform(aTransform); - } - - explicit Slice3D( - const basegfx::B3DPolyPolygon& rPolyPolygon, - SliceType3D aSliceType = SLICETYPE3D_REGULAR) - : maPolyPolygon(rPolyPolygon), - maSliceType(aSliceType) - { - } - - // data access - const basegfx::B3DPolyPolygon& getB3DPolyPolygon() const { return maPolyPolygon; } - SliceType3D getSliceType() const { return maSliceType; } - }; - - /// typedef for a group of Slice3Ds - typedef ::std::vector< Slice3D > Slice3DVector; - - /// helpers for creation - void DRAWINGLAYER_DLLPUBLIC createLatheSlices( - Slice3DVector& rSliceVector, - const basegfx::B2DPolyPolygon& rSource, - double fBackScale, - double fDiagonal, - double fRotation, - sal_uInt32 nSteps, - bool bCharacterMode, - bool bCloseFront, - bool bCloseBack); - - void DRAWINGLAYER_DLLPUBLIC createExtrudeSlices( - Slice3DVector& rSliceVector, - const basegfx::B2DPolyPolygon& rSource, - double fBackScale, - double fDiagonal, - double fDepth, - bool bCharacterMode, - bool bCloseFront, - bool bCloseBack); - - /// helpers for geometry extraction - basegfx::B3DPolyPolygon DRAWINGLAYER_DLLPUBLIC extractHorizontalLinesFromSlice(const Slice3DVector& rSliceVector, bool bCloseHorLines); - basegfx::B3DPolyPolygon DRAWINGLAYER_DLLPUBLIC extractVerticalLinesFromSlice(const Slice3DVector& rSliceVector); - - void DRAWINGLAYER_DLLPUBLIC extractPlanesFromSlice( - ::std::vector< basegfx::B3DPolyPolygon >& rFill, - const Slice3DVector& rSliceVector, - bool bCreateNormals, - bool bSmoothHorizontalNormals, - bool bSmoothNormals, - bool bSmoothLids, - bool bClosed, - double fSmoothNormalsMix, - double fSmoothLidsMix, - bool bCreateTextureCoordinates, - const basegfx::B2DHomMatrix& rTexTransform); - - void DRAWINGLAYER_DLLPUBLIC createReducedOutlines( - const geometry::ViewInformation3D& rViewInformation, - const basegfx::B3DHomMatrix& rObjectTransform, - const basegfx::B3DPolygon& rLoopA, - const basegfx::B3DPolygon& rLoopB, - basegfx::B3DPolyPolygon& rTarget); - - } // end of namespace overlay -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDELATHETOOLS3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx deleted file mode 100644 index 055e7e71dd4c..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx +++ /dev/null @@ -1,129 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDEPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDEPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/sdrprimitive3d.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** SdrExtrudePrimitive3D class - - This 3D primitive expands the SdrPrimitive3D to a 3D extrude definition. - The given 2D PolyPolygon geometry is imagined as lying on the XY-plane in 3D - and gets extruded in Z-Direction by Depth. - - Various possibilities e.g. for creating diagonals (edge roudings in 3D) - and similar are given. - - The decomposition will create all necessary 3D planes for visualisation. - */ - class DRAWINGLAYER_DLLPUBLIC SdrExtrudePrimitive3D : public SdrPrimitive3D - { - private: - /// geometry helper for slices - basegfx::B2DPolyPolygon maCorrectedPolyPolygon; - Slice3DVector maSlices; - - /// primitive geometry data - basegfx::B2DPolyPolygon maPolyPolygon; - double mfDepth; - double mfDiagonal; - double mfBackScale; - - /// decomposition data when ReducedLineGeometry is used, see get3DDecomposition - geometry::ViewInformation3D* mpLastRLGViewInformation; - - /// bitfield - unsigned mbSmoothNormals : 1; // Plane self - unsigned mbSmoothHorizontalNormals : 1; // always - unsigned mbSmoothLids : 1; // Front/back - unsigned mbCharacterMode : 1; - unsigned mbCloseFront : 1; - unsigned mbCloseBack : 1; - - /// create slices - void impCreateSlices(); - - /// get (evtl. create) slices - const Slice3DVector& getSlices() const; - - protected: - /// local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - SdrExtrudePrimitive3D( - const basegfx::B3DHomMatrix& rTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute, - const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute, - const basegfx::B2DPolyPolygon& rPolyPolygon, - double fDepth, - double fDiagonal, - double fBackScale, - bool bSmoothNormals, - bool bSmoothHorizontalNormals, - bool bSmoothLids, - bool bCharacterMode, - bool bCloseFront, - bool bCloseBack); - virtual ~SdrExtrudePrimitive3D(); - - /// data read access - const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; } - double getDepth() const { return mfDepth; } - double getDiagonal() const { return mfDiagonal; } - double getBackScale() const { return mfBackScale; } - bool getSmoothNormals() const { return mbSmoothNormals; } - bool getSmoothHorizontalNormals() const { return mbSmoothHorizontalNormals; } - bool getSmoothLids() const { return mbSmoothLids; } - bool getCharacterMode() const { return mbCharacterMode; } - bool getCloseFront() const { return mbCloseFront; } - bool getCloseBack() const { return mbCloseBack; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// Overloaded to allow for reduced line mode to decide if to buffer decomposition or not - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDEPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx deleted file mode 100644 index 7632e8e5985c..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx +++ /dev/null @@ -1,147 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDRLATHEPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRLATHEPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/sdrprimitive3d.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** SdrLathePrimitive3D class - - This 3D primitive expands the SdrPrimitive3D to a 3D rotation definition. - The given 2D PolyPolygon geometry is imagined as lying on the XY-plane in 3D - and gets rotated around the Y-Axis. - - Various possibilities e.g. for creating diagonals (edge roudings in 3D) - and similar are given. - - The decomposition will create all necessary 3D planes for visualisation. - */ - class DRAWINGLAYER_DLLPUBLIC SdrLathePrimitive3D : public SdrPrimitive3D - { - private: - /// geometry helper for slices - basegfx::B2DPolyPolygon maCorrectedPolyPolygon; - Slice3DVector maSlices; - - /// primitive geometry data - basegfx::B2DPolyPolygon maPolyPolygon; - sal_uInt32 mnHorizontalSegments; - sal_uInt32 mnVerticalSegments; - double mfDiagonal; - double mfBackScale; - double mfRotation; - - /// decomposition data when ReducedLineGeometry is used, see get3DDecomposition - geometry::ViewInformation3D* mpLastRLGViewInformation; - - /// bitfield - unsigned mbSmoothNormals : 1; // Plane self - unsigned mbSmoothHorizontalNormals : 1; // always - unsigned mbSmoothLids : 1; // Front/back - unsigned mbCharacterMode : 1; - unsigned mbCloseFront : 1; - unsigned mbCloseBack : 1; - - /// create slices - void impCreateSlices(); - - /// get (evtl. create) slices - const Slice3DVector& getSlices() const; - - protected: - /// local helpers - void impCreateOutlines( - const geometry::ViewInformation3D& rViewInformation, - const basegfx::B3DPolygon& rLoopA, - const basegfx::B3DPolygon& rLoopB, - basegfx::B3DPolyPolygon& rTarget) const; - - bool impHasCutWith( - const basegfx::B2DPolygon& rPoly, - const basegfx::B2DPoint& rStart, - const basegfx::B2DPoint& rEnd) const; - - /// local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - SdrLathePrimitive3D( - const basegfx::B3DHomMatrix& rTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute, - const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute, - const basegfx::B2DPolyPolygon& rPolyPolygon, - sal_uInt32 nHorizontalSegments, - sal_uInt32 nVerticalSegments, - double fDiagonal, - double fBackScale, - double fRotation, - bool bSmoothNormals, - bool bSmoothHorizontalNormals, - bool bSmoothLids, - bool bCharacterMode, - bool bCloseFront, - bool bCloseBack); - virtual ~SdrLathePrimitive3D(); - - /// data read access - const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; } - sal_uInt32 getHorizontalSegments() const { return mnHorizontalSegments; } - sal_uInt32 getVerticalSegments() const { return mnVerticalSegments; } - double getDiagonal() const { return mfDiagonal; } - double getBackScale() const { return mfBackScale; } - double getRotation() const { return mfRotation; } - bool getSmoothNormals() const { return mbSmoothNormals; } - bool getSmoothHorizontalNormals() const { return mbSmoothHorizontalNormals; } - bool getSmoothLids() const { return mbSmoothLids; } - bool getCharacterMode() const { return mbCharacterMode; } - bool getCloseFront() const { return mbCloseFront; } - bool getCloseBack() const { return mbCloseBack; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// Overloaded to allow for reduced line mode to decide if to buffer decomposition or not - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRLATHEPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx deleted file mode 100644 index 2d9976224e6b..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDRPOLYPOLYGONPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPOLYPOLYGONPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/sdrprimitive3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** SdrPolyPolygonPrimitive3D class - - This 3D primitive defines a PolyPolgon in space which may have - Line- and FillStyles and extra 3D surface attributes. It is assumed - that the given 3D PolyPolgon (which may contain texture and normal - information) is planar in 3D. - - The decomposition will include all needed 3D data for visualisation, - including FatLines and fill styles. - */ - class DRAWINGLAYER_DLLPUBLIC SdrPolyPolygonPrimitive3D : public SdrPrimitive3D - { - private: - /// the planar polyPolygon evtl with normals and texture coordinates - basegfx::B3DPolyPolygon maPolyPolygon3D; - - protected: - /// local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - SdrPolyPolygonPrimitive3D( - const basegfx::B3DPolyPolygon& rPolyPolygon3D, - const basegfx::B3DHomMatrix& rTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute, - const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute); - - /// data access - const basegfx::B3DPolyPolygon& getPolyPolygon3D() const { return maPolyPolygon3D; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPOLYPOLYGONPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx deleted file mode 100644 index 6563f5172f67..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDRPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <basegfx/matrix/b3dhommatrix.hxx> -#include <basegfx/vector/b2dvector.hxx> -#include <drawinglayer/attribute/sdrallattribute3d.hxx> -#include <drawinglayer/primitive3d/sdrextrudelathetools3d.hxx> -#include <drawinglayer/attribute/sdrobjectattribute3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - /** SdrPrimitive3D class - - Base class for the more complicated geometric primitives, so - derive from buffered primitive to allow overloading of - create3DDecomposition there. - */ - namespace primitive3d - { - class DRAWINGLAYER_DLLPUBLIC SdrPrimitive3D : public BufferedDecompositionPrimitive3D - { - private: - /// object surface attributes - basegfx::B3DHomMatrix maTransform; - basegfx::B2DVector maTextureSize; - attribute::SdrLineFillShadowAttribute3D maSdrLFSAttribute; - attribute::Sdr3DObjectAttribute maSdr3DObjectAttribute; - - protected: - /** Standard implementation for primitive3D which - will use maTransform as range and expand by evtl. line width / 2 - */ - basegfx::B3DRange getStandard3DRange() const; - - /** implementation for primitive3D which - will use given Slice3Ds and expand by evtl. line width / 2 - */ - basegfx::B3DRange get3DRangeFromSlices(const Slice3DVector& rSlices) const; - - public: - /// constructor - SdrPrimitive3D( - const basegfx::B3DHomMatrix& rTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute, - const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute); - - /// data read access - const basegfx::B3DHomMatrix& getTransform() const { return maTransform; } - const basegfx::B2DVector& getTextureSize() const { return maTextureSize; } - const attribute::SdrLineFillShadowAttribute3D& getSdrLFSAttribute() const { return maSdrLFSAttribute; } - const attribute::Sdr3DObjectAttribute getSdr3DObjectAttribute() const { return maSdr3DObjectAttribute; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx deleted file mode 100644 index 48e7ee42ceb2..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SDRSPHEREPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRSPHEREPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/sdrprimitive3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** SdrSpherePrimitive3D class - - This 3D primitive expands the SdrPrimitive3D to a 3D sphere definition. - The sphere is implicitely in unit coordinates and the given transformation - defines it's geometry in space. - */ - class DRAWINGLAYER_DLLPUBLIC SdrSpherePrimitive3D : public SdrPrimitive3D - { - private: - /// additional geometry definitions - sal_uInt32 mnHorizontalSegments; - sal_uInt32 mnVerticalSegments; - - protected: - /// local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - public: - /// constructor - SdrSpherePrimitive3D( - const basegfx::B3DHomMatrix& rTransform, - const basegfx::B2DVector& rTextureSize, - const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute, - const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute, - sal_uInt32 nHorizontalSegments, - sal_uInt32 nVerticalSegments); - - /// data read access - sal_uInt32 getHorizontalSegments() const { return mnHorizontalSegments; } - sal_uInt32 getVerticalSegments() const { return mnVerticalSegments; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRSPHEREPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx deleted file mode 100644 index 76be7e7742f4..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/groupprimitive3d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** ShadowPrimitive3D class - - This 3D grouping primitive is used to define a shadow for - 3d geometry by embedding it. The shadow of 3D objects are - 2D polygons, so the shadow transformation is a 2D transformation. - - If the Shadow3D flag is set, the shadow definition has to be - combined with the scene and camera definition to create the correct - projected shadow 2D-Polygons. - */ - class DRAWINGLAYER_DLLPUBLIC ShadowPrimitive3D : public GroupPrimitive3D - { - protected: - /// 2D shadow definition - basegfx::B2DHomMatrix maShadowTransform; - basegfx::BColor maShadowColor; - double mfShadowTransparence; - - /// bitfield - unsigned mbShadow3D : 1; - - public: - /// constructor - ShadowPrimitive3D( - const basegfx::B2DHomMatrix& rShadowTransform, - const basegfx::BColor& rShadowColor, - double fShadowTransparence, - bool bShadow3D, - const Primitive3DSequence& rChildren); - - /// data read access - const basegfx::B2DHomMatrix& getShadowTransform() const { return maShadowTransform; } - const basegfx::BColor& getShadowColor() const { return maShadowColor; } - double getShadowTransparence() const { return mfShadowTransparence; } - bool getShadow3D() const { return mbShadow3D; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx deleted file mode 100644 index 1ce8e9bcd57c..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx +++ /dev/null @@ -1,230 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/groupprimitive3d.hxx> -#include <drawinglayer/attribute/fillbitmapattribute.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/vector/b2dvector.hxx> -#include <drawinglayer/attribute/fillgradientattribute.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** TexturePrimitive3D class - - This 3D grouping primitive is used to define a texture for - 3d geometry by embedding it. It is used as bae class for - extended texture definitions - */ - class DRAWINGLAYER_DLLPUBLIC TexturePrimitive3D : public GroupPrimitive3D - { - private: - /// texture geometry definition - basegfx::B2DVector maTextureSize; - - /// bitfield - /// flag if texture shall be modulated with white interpolated color - unsigned mbModulate : 1; - - /// flag if texture shall be filtered - unsigned mbFilter : 1; - - public: - /// constructor - TexturePrimitive3D( - const Primitive3DSequence& rChildren, - const basegfx::B2DVector& rTextureSize, - bool bModulate, - bool bFilter); - - /// data read access - const basegfx::B2DVector& getTextureSize() const { return maTextureSize; } - bool getModulate() const { return mbModulate; } - bool getFilter() const { return mbFilter; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** UnifiedTransparenceTexturePrimitive3D class - - This 3D primitive expands TexturePrimitive3D to a unified - transparence texture definition. All 3D primitives - embedded here will be shown with the given transparency. - */ - class DRAWINGLAYER_DLLPUBLIC UnifiedTransparenceTexturePrimitive3D : public TexturePrimitive3D - { - private: - /// transparency definition - double mfTransparence; - - public: - /// constructor - UnifiedTransparenceTexturePrimitive3D( - double fTransparence, - const Primitive3DSequence& rChildren); - - /// data read access - double getTransparence() const { return mfTransparence; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// own getB3DRange implementation to include transparent geometries to BoundRect calculations - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// local decomposition. - virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** GradientTexturePrimitive3D class - - This 3D primitive expands TexturePrimitive3D to a gradient texture - definition. All 3D primitives embedded here will be shown with the - defined gradient. - */ - class DRAWINGLAYER_DLLPUBLIC GradientTexturePrimitive3D : public TexturePrimitive3D - { - private: - /// the gradient definition - attribute::FillGradientAttribute maGradient; - - public: - /// constructor - GradientTexturePrimitive3D( - const attribute::FillGradientAttribute& rGradient, - const Primitive3DSequence& rChildren, - const basegfx::B2DVector& rTextureSize, - bool bModulate, - bool bFilter); - - /// data read access - const attribute::FillGradientAttribute& getGradient() const { return maGradient; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** BitmapTexturePrimitive3D class - - This 3D primitive expands TexturePrimitive3D to a bitmap texture - definition. All 3D primitives embedded here will be shown with the - defined bitmap (maybe tiled if defined). - */ - class DRAWINGLAYER_DLLPUBLIC BitmapTexturePrimitive3D : public TexturePrimitive3D - { - private: - /// bitmap fill attribute - attribute::FillBitmapAttribute maFillBitmapAttribute; - - public: - /// constructor - BitmapTexturePrimitive3D( - const attribute::FillBitmapAttribute& rFillBitmapAttribute, - const Primitive3DSequence& rChildren, - const basegfx::B2DVector& rTextureSize, - bool bModulate, - bool bFilter); - - /// data read access - const attribute::FillBitmapAttribute& getFillBitmapAttribute() const { return maFillBitmapAttribute; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** TransparenceTexturePrimitive3D class - - This 3D primitive expands TexturePrimitive3D to a transparence texture - definition. For transparence definition, a gradient is used. The values in - that gradient will be interpreted as luminance Transparence-Values. All 3D - primitives embedded here will be shown with the defined transparence. - */ - class DRAWINGLAYER_DLLPUBLIC TransparenceTexturePrimitive3D : public GradientTexturePrimitive3D - { - public: - /// constructor - TransparenceTexturePrimitive3D( - const attribute::FillGradientAttribute& rGradient, - const Primitive3DSequence& rChildren, - const basegfx::B2DVector& rTextureSize); - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx deleted file mode 100644 index 85a88a330d77..000000000000 --- a/drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PRIMITIVE3D_TRANSFORMPRIMITIVE3D_HXX -#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TRANSFORMPRIMITIVE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/groupprimitive3d.hxx> -#include <basegfx/matrix/b3dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace primitive3d - { - /** TransformPrimitive3D class - - This is one of the basic grouping 3D primitives and it provides - embedding a sequence of primitives (a geometry) into a - 3D transformation. - - Please see the description for TransformPrimitive2D since these - primitives are pretty similar. - */ - class DRAWINGLAYER_DLLPUBLIC TransformPrimitive3D : public GroupPrimitive3D - { - private: - // the 3D transformation to apply - basegfx::B3DHomMatrix maTransformation; - - public: - /// constructor - TransformPrimitive3D( - const basegfx::B3DHomMatrix& rTransformation, - const Primitive3DSequence& rChildren); - - /// data read access - const basegfx::B3DHomMatrix& getTransformation() const { return maTransformation; } - - /// compare operator - virtual bool operator==(const BasePrimitive3D& rPrimitive) const; - - /// get range - virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const; - - /// provide unique ID - DeclPrimitrive3DIDBlock() - }; - } // end of namespace primitive3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TRANSFORMPRIMITIVE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx deleted file mode 100644 index 62a0f874a9ae..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx +++ /dev/null @@ -1,196 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_BASEPROCESSOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_BASEPROCESSOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <drawinglayer/geometry/viewinformation2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** BaseProcessor2D class - - Baseclass for all C++ implementations of instances which process - primitives. - - Instances which process primitives can be renderers, but also stuff - for HitTests, BoundRect calculations and/or animation processing. The - main usage are renderers, but they are supposed to handle any primitive - processing. - - The base implementation is constructed with a ViewInformation2D which - is accessible throughout the processor implementations. The idea is - to construct any processor with a given ViewInformation2D. To be able - to handle primitives which need to change the current transformation - (as e.g. TransformPrimitive2D) it is allowed for the processor implementation - to change tis local value using updateViewInformation. - - The basic processing method is process(..) which gets handed over the - sequence of primitives to process. For convenience of the C++ implementations, - the default implementation of process(..) maps all accesses to primitives to - single calls to processBasePrimitive2D(..) where the primitive in question is - already casted to the C++ implementation class. - - The process(..) implementation makes a complete iteration over the given - sequence of primitives. If the Primitive is not derived from BasePrimitive2D - and thus not part of the C++ implementations, it converts ViewInformation2D - to the corresponding API implementation (an uno::Sequence< beans::PropertyValue >) - and recursively calls the method process(..) at the primitive with the decomposition - derived from that primitive. This is the preparation to handle unknown implementations - of the com::sun::star::graphic::XPrimitive2D interface in the future. - - So, to implement a basic processor, it is necessary to overload and implement the - processBasePrimitive2D(..) method. A minimal renderer has to support the - Basic Primitives (see baseprimitive2d.hxx) and the Grouping Primitives (see - groupprimitive2d.hxx). These are (currently): - - Basic Primitives: - - - BitmapPrimitive2D (bitmap data, evtl. with transparence) - - PointArrayPrimitive2D (single points) - - PolygonHairlinePrimitive2D (hairline curves/polygons) - - PolyPolygonColorPrimitive2D (colored polygons) - - Grouping Primitives: - - - TransparencePrimitive2D (objects with freely defined transparence) - - InvertPrimitive2D (for XOR) - - MaskPrimitive2D (for masking) - - ModifiedColorPrimitive2D (for a stack of color modifications) - - TransformPrimitive2D (for a transformation stack) - - A processor doing so is a minimal processor. Of course a processor may - handle any higher-level prmitive (that has a decomposition implementation) - for more direct data access or performance reasons, too. - - The main part of a processBasePrimitive2D implementation is a switch..case - construct, looking like the following: - - void foo::processBasePrimitive2D(const BasePrimitive2D& rCandidate) - { - switch(rCandidate.getPrimitive2DID()) - { - case PRIMITIVE2D_ID_??? : - { - // process PRIMITIVE2D_ID_??? here... - - ... - - break; - } - - ... - - default : - { - // process recursively - process(rCandidate.get2DDecomposition(getViewInformation2D())); - break; - } - } - } - - The default case makes the processor work with all complex primitives - by recursively using their decomposition. - - You can also add a case for ignoring primitives by using: - - case PRIMITIVE2D_ID_...IGNORE.A.. : - case PRIMITIVE2D_ID_...IGNORE.B.. : - case PRIMITIVE2D_ID_...IGNORE.C.. : - { - // ignore these primitives by neither processing nor - // recursively processing their decomposition - break; - } - - Another useful case is embedding the processing of a complex primitive by - bracketing it with some actions: - - case PRIMITIVE2D_ID_SOME_TEXT : - { - // encapsulate e.g. with changing local varibles, e.g. - // sometimes it's good to know if a basic primitive is - // part of a text, especially when not handling the text - // self but by purpose want to handle the decomposed - // geometries in the processor - startText(); - process(rCandidate.get2DDecomposition(getViewInformation2D())); - endText(); - break; - } - - As an example a processor collecting the outlines of a sequence of primitives - only needs to handle some Basic Primitives and create outline and collect - outline polygons e.g. for primitives with area like BitmapPrimitive2D (a - rectangle) and PolyPolygonColorPrimitive2D. When also handling the Grouping - Primitives MaskPrimitive2D (e.g. ignoring it's content, using the mask polyPolygon) - and TransformPrimitive2D (to have the correct local transformation), a processor - creating the outline can be written using just four (4) primitives. As a tipp, it can - be helpful to add many for the purpose not interesting higher level primitives - to not force their decomposition to be created and/or parsed. - */ - class DRAWINGLAYER_DLLPUBLIC BaseProcessor2D - { - private: - /// The ViewInformation2D itself. It's private to isolate accesses to it - geometry::ViewInformation2D maViewInformation2D; - - protected: - /* access method to allow the implementations to change the current - ViewInformation2D if needed. This allows isolating these accesses - later if needed - */ - void updateViewInformation(const geometry::ViewInformation2D& rViewInformation2D) - { - maViewInformation2D = rViewInformation2D; - } - - /* as tooling, the process() implementation takes over API handling and calls this - virtual render method when the primitive implementation is BasePrimitive2D-based. - Default implementation does nothing - */ - virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - /// constructor/destructor - explicit BaseProcessor2D(const geometry::ViewInformation2D& rViewInformation); - virtual ~BaseProcessor2D(); - - /// the central processing method - virtual void process(const primitive2d::Primitive2DSequence& rSource); - - /// data read access - const geometry::ViewInformation2D& getViewInformation2D() const { return maViewInformation2D; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PROCESSOR2D_BASEPROCESSOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx b/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx deleted file mode 100644 index 5dea3b450c19..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx +++ /dev/null @@ -1,122 +0,0 @@ -/* -*- 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 _DRAWINGLAYER_PROCESSOR_CANVASPROCESSOR_HXX -#define _DRAWINGLAYER_PROCESSOR_CANVASPROCESSOR_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/baseprocessor2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolormodifier.hxx> -#include <svtools/optionsdrawinglayer.hxx> -#include <com/sun/star/rendering/ViewState.hpp> -#include <com/sun/star/rendering/RenderState.hpp> -#include <i18nlangtag/lang.h> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <vcl/mapmod.hxx> - -////////////////////////////////////////////////////////////////////////////// -// forward declaration - -namespace basegfx { - class BColor; - class B2DPolygon; -} - -namespace com { namespace sun { namespace star { namespace rendering { - class XCanvas; - class XPolyPolygon2D; -}}}} - -namespace drawinglayer { namespace primitive2d { - class MaskPrimitive2D; - class MetafilePrimitive2D; - class TextSimplePortionPrimitive2D; - class BitmapPrimitive2D; - class TransparencePrimitive2D; - class PolygonStrokePrimitive2D; - class FillBitmapPrimitive2D; - class UnifiedTransparencePrimitive2D; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** canvasProcessor2D class - - A basic implementation of a renderer for com::sun::star::rendering::XCanvas - as a target - */ - class DRAWINGLAYER_DLLPUBLIC canvasProcessor2D : public BaseProcessor2D - { - private: - // the (current) destination OutDev and canvas - OutputDevice* mpOutputDevice; - com::sun::star::uno::Reference< com::sun::star::rendering::XCanvas > mxCanvas; - com::sun::star::rendering::ViewState maViewState; - com::sun::star::rendering::RenderState maRenderState; - - // the modifiedColorPrimitive stack - basegfx::BColorModifierStack maBColorModifierStack; - - // SvtOptionsDrawinglayer incarnation to react on diverse settings - const SvtOptionsDrawinglayer maDrawinglayerOpt; - - // the current clipping PolyPolygon from MaskPrimitive2D, always in - // object coordinates - basegfx::B2DPolyPolygon maClipPolyPolygon; - - // determined LanguageType - LanguageType meLang; - - // as tooling, the process() implementation takes over API handling and calls this - // virtual render method when the primitive implementation is BasePrimitive2D-based. - virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - // direct primitive renderer support - void impRenderMaskPrimitive2D(const primitive2d::MaskPrimitive2D& rMaskCandidate); - void impRenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rMetaCandidate); - void impRenderTextSimplePortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate); - void impRenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate); - void impRenderTransparencePrimitive2D(const primitive2d::TransparencePrimitive2D& rTransparenceCandidate); - void impRenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokePrimitive); - void impRenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapPrimitive2D); - void impRenderUnifiedTransparencePrimitive2D(const primitive2d::UnifiedTransparencePrimitive2D& rUniTransparenceCandidate); - - public: - canvasProcessor2D( - const geometry::ViewInformation2D& rViewInformation, - OutputDevice& rOutDev); - virtual ~canvasProcessor2D(); - - // access to Drawinglayer configuration options - const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_DRAWINGLAYER_PROCESSOR_CANVASPROCESSOR_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx deleted file mode 100644 index af390a8cd7b7..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_CONTOUREXTRACTOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_CONTOUREXTRACTOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/baseprocessor2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** ContourExtractor2D class - - A processor who extracts the contour of the primtives feeded to it - in the single local PolyPolygon - */ - class DRAWINGLAYER_DLLPUBLIC ContourExtractor2D : public BaseProcessor2D - { - private: - /// the extracted contour - basegfx::B2DPolyPolygonVector maExtractedContour; - - /// bitfield - bool mbExtractFillOnly : 1; - - /// tooling methods - void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - explicit ContourExtractor2D( - const geometry::ViewInformation2D& rViewInformation, - bool bExtractFillOnly); - - virtual ~ContourExtractor2D(); - - const basegfx::B2DPolyPolygonVector& getExtractedContour() const { return maExtractedContour; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_CONTOUREXTRACTOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx deleted file mode 100644 index fc2ab3252558..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/baseprocessor2d.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predeclarations - -namespace basegfx { class B2DPolygon; } -namespace basegfx { class B2DPolyPolygon; } -namespace drawinglayer { namespace primitive2d { class ScenePrimitive2D; }} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** HitTestProcessor2D class - - This processor implements a HitTest with the feeded primitives, - given tolerance and extras - */ - class DRAWINGLAYER_DLLPUBLIC HitTestProcessor2D : public BaseProcessor2D - { - private: - /// discrete HitTest position - basegfx::B2DPoint maDiscreteHitPosition; - - /// discrete HitTolerance - double mfDiscreteHitTolerance; - - /// bitfield - unsigned mbHit : 1; - unsigned mbHitToleranceUsed : 1; - - /* this flag decides if primitives which are embedded to an - UnifiedTransparencePrimitive2D and are invisible will be taken into account for - HitTesting or not. Those primitives are created for objects which are else - completely invisible and normally their content exists of hairline - primitives describing the object's contour - */ - unsigned mbUseInvisiblePrimitiveContent : 1; - - /// flag to concentraze on text hits only - unsigned mbHitTextOnly : 1; - - /// tooling methods - void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - bool checkHairlineHitWithTolerance( - const basegfx::B2DPolygon& rPolygon, - double fDiscreteHitTolerance); - bool checkFillHitWithTolerance( - const basegfx::B2DPolyPolygon& rPolyPolygon, - double fDiscreteHitTolerance); - void check3DHit(const primitive2d::ScenePrimitive2D& rCandidate); - - public: - HitTestProcessor2D( - const geometry::ViewInformation2D& rViewInformation, - const basegfx::B2DPoint& rLogicHitPosition, - double fLogicHitTolerance, - bool bHitTextOnly); - virtual ~HitTestProcessor2D(); - - /// data write access - void setUseInvisiblePrimitiveContent(bool bNew) - { - if((bool)mbUseInvisiblePrimitiveContent != bNew) mbUseInvisiblePrimitiveContent = bNew; - } - - /// data read access - const basegfx::B2DPoint& getDiscreteHitPosition() const { return maDiscreteHitPosition; } - double getDiscreteHitTolerance() const { return mfDiscreteHitTolerance; } - bool getHit() const { return mbHit; } - bool getHitToleranceUsed() const { return mbHitToleranceUsed; } - bool getUseInvisiblePrimitiveContent() const { return mbUseInvisiblePrimitiveContent;} - bool getHitTextOnly() const { return mbHitTextOnly; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx deleted file mode 100644 index 4905f4062c5f..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_LINEGEOMETRYEXTRACTOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_LINEGEOMETRYEXTRACTOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/baseprocessor2d.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <basegfx/polygon/b2dpolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** LineGeometryExtractor2D class - - This processor can extract the line geometry from feeded primpitives. The - hairlines and the fille geometry from fat lines are separated. - */ - class DRAWINGLAYER_DLLPUBLIC LineGeometryExtractor2D : public BaseProcessor2D - { - private: - basegfx::B2DPolygonVector maExtractedHairlines; - basegfx::B2DPolyPolygonVector maExtractedLineFills; - - /// bitfield - unsigned mbInLineGeometry : 1; - - /// tooling methods - void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - LineGeometryExtractor2D(const geometry::ViewInformation2D& rViewInformation); - virtual ~LineGeometryExtractor2D(); - - const basegfx::B2DPolygonVector& getExtractedHairlines() const { return maExtractedHairlines; } - const basegfx::B2DPolyPolygonVector& getExtractedLineFills() const { return maExtractedLineFills; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_LINEGEOMETRYEXTRACTOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx deleted file mode 100644 index 42f4fb3970de..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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_DRAWINGLAYER_PROCESSOR2D_OBJECTINFOEXTRACTOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_OBJECTINFOEXTRACTOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <drawinglayer/processor2d/baseprocessor2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer { namespace primitive2d { class ObjectInfoPrimitive2D; }} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** ObjectInfoPrimitiveExtractor2D class - - A processor to find the first incarnation of ObjectInfoPrimitive2D - in a given hierarchy - */ - class DRAWINGLAYER_DLLPUBLIC ObjectInfoPrimitiveExtractor2D : public BaseProcessor2D - { - private: - /// the target - const primitive2d::ObjectInfoPrimitive2D* mpFound; - - /// tooling methods - void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - ObjectInfoPrimitiveExtractor2D(const geometry::ViewInformation2D& rViewInformation); - virtual ~ObjectInfoPrimitiveExtractor2D(); - - const primitive2d::ObjectInfoPrimitive2D* getResult() const { return mpFound; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_OBJECTINFOEXTRACTOR2D_HXX - -// eof diff --git a/drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx b/drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx deleted file mode 100644 index cd149db71e6d..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- 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 _PROCESSOR_FROM_OUTPUTDEVICE_HXX -#define _PROCESSOR_FROM_OUTPUTDEVICE_HXX - -#include <drawinglayer/geometry/viewinformation2d.hxx> -#include "drawinglayer/drawinglayerdllapi.h" - -////////////////////////////////////////////////////////////////////////////// -// predeclarations - -class OutputDevice; - -namespace drawinglayer { namespace processor2d { - class BaseProcessor2D; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - // create a mating VCL-Provessor for given OutputDevice. This includes - // looking for MetaFile-recording. The returned renderer changes owner, - // deletion is duty of the caller - DRAWINGLAYER_DLLPUBLIC drawinglayer::processor2d::BaseProcessor2D* createBaseProcessor2DFromOutputDevice( - OutputDevice& rTargetOutDev, - const drawinglayer::geometry::ViewInformation2D& rViewInformation2D); - - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_PROCESSOR_FROM_OUTPUTDEVICE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx deleted file mode 100644 index 239e624ccced..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/baseprocessor2d.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/color/bcolormodifier.hxx> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /// helper data structure for returning the result - struct DRAWINGLAYER_DLLPUBLIC TextAsPolygonDataNode - { - private: - basegfx::B2DPolyPolygon maB2DPolyPolygon; - basegfx::BColor maBColor; - bool mbIsFilled; - - public: - TextAsPolygonDataNode( - const basegfx::B2DPolyPolygon& rB2DPolyPolygon, - const basegfx::BColor& rBColor, - bool bIsFilled) - : maB2DPolyPolygon(rB2DPolyPolygon), - maBColor(rBColor), - mbIsFilled(bIsFilled) - { - } - - // data read access - const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maB2DPolyPolygon; } - const basegfx::BColor& getBColor() const { return maBColor; } - bool getIsFilled() const { return mbIsFilled; } - }; - - /// typedef for a vector of that helper data - typedef ::std::vector< TextAsPolygonDataNode > TextAsPolygonDataNodeVector; - - /** TextAsPolygonExtractor2D class - - This processor extracts text in the feeded primitives to filled polygons - */ - class DRAWINGLAYER_DLLPUBLIC TextAsPolygonExtractor2D : public BaseProcessor2D - { - private: - // extraction target - TextAsPolygonDataNodeVector maTarget; - - // the modifiedColorPrimitive stack - basegfx::BColorModifierStack maBColorModifierStack; - - // flag if we are in a decomposed text - sal_uInt32 mnInText; - - // tooling methods - void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - explicit TextAsPolygonExtractor2D(const geometry::ViewInformation2D& rViewInformation); - virtual ~TextAsPolygonExtractor2D(); - - // data read access - const TextAsPolygonDataNodeVector& getTarget() const { return maTarget; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx deleted file mode 100644 index fa85105939c8..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_VCLMETAFILEPROCESSOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLMETAFILEPROCESSOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/vclprocessor2d.hxx> -#include <com/sun/star/i18n/XBreakIterator.hpp> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -////////////////////////////////////////////////////////////////////////////// -// vcl::PDFExtOutDevData support - -#include <vcl/pdfextoutdevdata.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -class GDIMetaFile; -class Rectangle; -class Gradient; -class SvtGraphicFill; -class SvtGraphicStroke; - -namespace drawinglayer { namespace attribute { - class FillGradientAttribute; - class LineAttribute; - class StrokeAttribute; - class LineStartEndAttribute; -}} - -namespace basegfx { - class BColor; -} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** VclMetafileProcessor2D class - - This processor derived from VclProcessor2D is the base class for rendering - all feeded primitives to a classical VCL-Metafile, including all over the - time grown extra data in comments and PDF exception data creations. Also - printing needs some exception stuff. - - All in all it is needed to emulate the old ::paint output from the old - Drawinglayer as long as exporters and/or filters still use the Metafile - and the extra-data added to it (which can be seen mostly as 'extensions' - or simply as 'hacks'). - */ - class DRAWINGLAYER_DLLPUBLIC VclMetafileProcessor2D : public VclProcessor2D - { - private: - /// local helper(s) - Rectangle impDumpToMetaFile( - const primitive2d::Primitive2DSequence& rContent, - GDIMetaFile& o_rContentMetafile); - void impConvertFillGradientAttributeToVCLGradient( - Gradient& o_rVCLGradient, - const attribute::FillGradientAttribute& rFiGrAtt, - bool bIsTransparenceGradient); - void impStartSvtGraphicFill(SvtGraphicFill* pSvtGraphicFill); - void impEndSvtGraphicFill(SvtGraphicFill* pSvtGraphicFill); - SvtGraphicStroke* impTryToCreateSvtGraphicStroke( - const basegfx::B2DPolygon& rB2DPolygon, - const basegfx::BColor* pColor, - const attribute::LineAttribute* pLineAttribute, - const attribute::StrokeAttribute* pStrokeAttribute, - const attribute::LineStartEndAttribute* pStart, - const attribute::LineStartEndAttribute* pEnd); - void impStartSvtGraphicStroke(SvtGraphicStroke* pSvtGraphicStroke); - void impEndSvtGraphicStroke(SvtGraphicStroke* pSvtGraphicStroke); - - /// Convert the fWidth to the same space as its coordinates. - double getTransformedLineWidth( double fWidth ) const; - - /// the current clipping PolyPolygon from MaskPrimitive2D - basegfx::B2DPolyPolygon maClipPolyPolygon; - - /// the target MetaFile - GDIMetaFile* mpMetaFile; - - /* do not allow embedding SvtGraphicFills into each other, - use a counter to prevent that - */ - sal_uInt32 mnSvtGraphicFillCount; - - /// same for SvtGraphicStroke - sal_uInt32 mnSvtGraphicStrokeCount; - - /* hold the last unified transparence value to have it handy - on SvtGraphicStroke creation - */ - double mfCurrentUnifiedTransparence; - - /* break iterator support - made static so it only needs to be fetched once, even with many single - constructed VclMetafileProcessor2D. It's still incarnated on demand, - but exists for OOo runtime now by purpose. - */ - static ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator > mxBreakIterator; - - /* vcl::PDFExtOutDevData support - For the first step, some extra actions at vcl::PDFExtOutDevData need to - be emulated with the VclMetafileProcessor2D. These are potentially temporarily - since PDF export may use PrimitiveSequences one day directly. - */ - vcl::PDFExtOutDevData* mpPDFExtOutDevData; - - protected: - /* the local processor for BasePrinitive2D-Implementation based primitives, - called from the common process()-implementation - */ - virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - /// constructor/destructor - VclMetafileProcessor2D( - const geometry::ViewInformation2D& rViewInformation, - OutputDevice& rOutDev); - virtual ~VclMetafileProcessor2D(); - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLMETAFILEPROCESSOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx deleted file mode 100644 index c3003f096467..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_VCLPIXELPROCESSOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPIXELPROCESSOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/vclprocessor2d.hxx> -#include <vcl/outdev.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** VclPixelProcessor2D class - - This processor derived from VclProcessor2D is the base class for rendering - all feeded primitives to a VCL Window. It is the currently used renderer - for all VCL editing output from the DrawingLayer. - */ - class DRAWINGLAYER_DLLPUBLIC VclPixelProcessor2D : public VclProcessor2D - { - private: - protected: - /* the local processor for BasePrinitive2D-Implementation based primitives, - called from the common process()-implementation - */ - virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); - - public: - /// constructor/destructor - VclPixelProcessor2D( - const geometry::ViewInformation2D& rViewInformation, - OutputDevice& rOutDev); - virtual ~VclPixelProcessor2D(); - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPIXELPROCESSOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx deleted file mode 100644 index 32dafbc42b0a..000000000000 --- a/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR2D_VCLPROCESSOR2D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPROCESSOR2D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor2d/baseprocessor2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/color/bcolormodifier.hxx> -#include <svtools/optionsdrawinglayer.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines -class OutputDevice; - -namespace drawinglayer { namespace primitive2d { - class TextSimplePortionPrimitive2D; - class PolygonHairlinePrimitive2D; - class BitmapPrimitive2D; - class FillBitmapPrimitive2D; - class PolyPolygonGradientPrimitive2D; - class PolyPolygonBitmapPrimitive2D; - class PolyPolygonColorPrimitive2D; - class MetafilePrimitive2D; - class MaskPrimitive2D; - class UnifiedTransparencePrimitive2D; - class TransparencePrimitive2D; - class TransformPrimitive2D; - class MarkerArrayPrimitive2D; - class PointArrayPrimitive2D; - class ModifiedColorPrimitive2D; - class PolygonStrokePrimitive2D; - class ControlPrimitive2D; - class PagePreviewPrimitive2D; - class EpsPrimitive2D; - class SvgLinearAtomPrimitive2D; - class SvgRadialAtomPrimitive2D; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor2d - { - /** VclProcessor2D class - - This processor is the base class for VCL-Based processors. It has no - processBasePrimitive2D implementation and thus is not usable directly. - */ - class DRAWINGLAYER_DLLPUBLIC VclProcessor2D : public BaseProcessor2D - { - protected: - // the destination OutDev - OutputDevice* mpOutputDevice; - - // the modifiedColorPrimitive stack - basegfx::BColorModifierStack maBColorModifierStack; - - // the current transformation. Since VCL pixel renderer transforms to pixels - // and VCL MetaFile renderer to World (logic) coordinates, the local - // ViewInformation2D cannot directly be used, but needs to be kept up to date - basegfx::B2DHomMatrix maCurrentTransformation; - - // SvtOptionsDrawinglayer incarnation to react on diverse settings - const SvtOptionsDrawinglayer maDrawinglayerOpt; - - // stack value (increment and decrement) to count how deep we are in - // PolygonStrokePrimitive2D's decompositions (normally only one) - sal_uInt32 mnPolygonStrokePrimitive2D; - - ////////////////////////////////////////////////////////////////////////////// - // common VCL rendering support - - void RenderTextSimpleOrDecoratedPortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate); - void RenderPolygonHairlinePrimitive2D(const primitive2d::PolygonHairlinePrimitive2D& rPolygonCandidate, bool bPixelBased); - void RenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate); - void RenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapCandidate); - void RenderPolyPolygonGradientPrimitive2D(const primitive2d::PolyPolygonGradientPrimitive2D& rPolygonCandidate); - void RenderPolyPolygonBitmapPrimitive2D(const primitive2d::PolyPolygonBitmapPrimitive2D& rPolygonCandidate); - void RenderPolyPolygonColorPrimitive2D(const primitive2d::PolyPolygonColorPrimitive2D& rPolygonCandidate); - void RenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rPolygonCandidate); - void RenderMaskPrimitive2DPixel(const primitive2d::MaskPrimitive2D& rMaskCandidate); - void RenderModifiedColorPrimitive2D(const primitive2d::ModifiedColorPrimitive2D& rModifiedCandidate); - void RenderUnifiedTransparencePrimitive2D(const primitive2d::UnifiedTransparencePrimitive2D& rTransCandidate); - void RenderTransparencePrimitive2D(const primitive2d::TransparencePrimitive2D& rTransCandidate); - void RenderTransformPrimitive2D(const primitive2d::TransformPrimitive2D& rTransformCandidate); - void RenderPagePreviewPrimitive2D(const primitive2d::PagePreviewPrimitive2D& rPagePreviewCandidate); - void RenderMarkerArrayPrimitive2D(const primitive2d::MarkerArrayPrimitive2D& rMarkerArrayCandidate); - void RenderPointArrayPrimitive2D(const primitive2d::PointArrayPrimitive2D& rPointArrayCandidate); - void RenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokeCandidate); - void RenderEpsPrimitive2D(const primitive2d::EpsPrimitive2D& rEpsPrimitive2D); - void RenderSvgLinearAtomPrimitive2D(const primitive2d::SvgLinearAtomPrimitive2D& rCandidate); - void RenderSvgRadialAtomPrimitive2D(const primitive2d::SvgRadialAtomPrimitive2D& rCandidate); - - ///////////////////////////////////////////////////////////////////////////// - // DrawMode adaption support - void adaptLineToFillDrawMode() const; - void adaptTextToFillDrawMode() const; - - public: - // constructor/destructor - VclProcessor2D( - const geometry::ViewInformation2D& rViewInformation, - OutputDevice& rOutDev); - virtual ~VclProcessor2D(); - - // access to Drawinglayer configuration options - const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; } - }; - } // end of namespace processor2d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPROCESSOR2D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx deleted file mode 100644 index 834779982ba5..000000000000 --- a/drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR3D_BASEPROCESSOR3D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_BASEPROCESSOR3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/primitive3d/baseprimitive3d.hxx> -#include <drawinglayer/geometry/viewinformation3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor3d - { - /** BaseProcessor3D class - - Baseclass for all C++ implementations of instances which process - primitives. - - Please have a look at baseprocessor2d.hxx for more comments. - */ - class DRAWINGLAYER_DLLPUBLIC BaseProcessor3D - { - private: - geometry::ViewInformation3D maViewInformation3D; - - protected: - void updateViewInformation(const geometry::ViewInformation3D& rViewInformation3D) - { - maViewInformation3D = rViewInformation3D; - } - - /* as tooling, the process() implementation takes over API handling and calls this - virtual render method when the primitive implementation is BasePrimitive3D-based. - Default implementation does nothing - */ - virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate); - - public: - explicit BaseProcessor3D(const geometry::ViewInformation3D& rViewInformation); - virtual ~BaseProcessor3D(); - - // the central processing method - virtual void process(const primitive3d::Primitive3DSequence& rSource); - - // data access - const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; } - }; - } // end of namespace processor3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_DRAWINGLAYER_PROCESSOR3D_BASEPROCESSOR3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx deleted file mode 100644 index 2b4714ca3054..000000000000 --- a/drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor3d/defaultprocessor3d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor3d - { - /** CutFindProcessor class - - This processor extracts all cuts of 3D plane geometries in the feeded primitives - with the given cut vector, based on the ViewInformation3D given. - */ - class DRAWINGLAYER_DLLPUBLIC CutFindProcessor : public BaseProcessor3D - { - private: - /// the start and stop point for the cut vector - basegfx::B3DPoint maFront; - basegfx::B3DPoint maBack; - - /// the found cut points - ::std::vector< basegfx::B3DPoint > maResult; - - /* #i102956# the transformation change from TransformPrimitive3D processings - needs to be remembered to be able to transform found cuts to the - basic coordinate system the processor starts with - */ - basegfx::B3DHomMatrix maCombinedTransform; - - /// bitfield - bool mbAnyHit : 1; - - /* this flag decides if primitives which are invisible will be taken into account for - HitTesting or not. - */ - bool mbUseInvisiblePrimitiveContent : 1; - - /* as tooling, the process() implementation takes over API handling and calls this - virtual render method when the primitive implementation is BasePrimitive3D-based. - */ - virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate); - - public: - CutFindProcessor(const geometry::ViewInformation3D& rViewInformation, - const basegfx::B3DPoint& rFront, - const basegfx::B3DPoint& rBack, - bool bAnyHit); - - /// data write access - void setUseInvisiblePrimitiveContent(bool bNew) - { - if((bool)mbUseInvisiblePrimitiveContent != bNew) mbUseInvisiblePrimitiveContent = bNew; - } - - /// data read access - const ::std::vector< basegfx::B3DPoint >& getCutPoints() const { return maResult; } - bool getAnyHit() const { return mbAnyHit; } - bool getUseInvisiblePrimitiveContent() const { return mbUseInvisiblePrimitiveContent;} - }; - } // end of namespace processor3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx deleted file mode 100644 index 010fba3b1f1d..000000000000 --- a/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx +++ /dev/null @@ -1,158 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR3D_DEFAULTPROCESSOR3D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_DEFAULTPROCESSOR3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor3d/baseprocessor3d.hxx> -#include <basegfx/matrix/b3dhommatrix.hxx> -#include <basegfx/range/b2drange.hxx> -#include <basegfx/color/bcolormodifier.hxx> -#include <svtools/optionsdrawinglayer.hxx> -#include <boost/shared_ptr.hpp> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BZPixelRaster; - class B3DPolygon; - class B3DPolyPolygon; -} - -namespace drawinglayer { namespace attribute { - class SdrSceneAttribute; - class SdrLightingAttribute; - class MaterialAttribute3D; -}} - -namespace drawinglayer { namespace primitive3d { - class PolygonHairlinePrimitive3D; - class PolyPolygonMaterialPrimitive3D; - class GradientTexturePrimitive3D; - class HatchTexturePrimitive3D; - class BitmapTexturePrimitive3D; - class TransformPrimitive3D; - class ModifiedColorPrimitive3D; -}} - -namespace drawinglayer { namespace texture { - class GeoTexSvx; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor3d - { - /** DefaultProcessor3D class - - This processor renders all feeded primitives to a 2D raster where for all - primitives the two basic methods rasterconvertB3DPolygon for hairlines and - rasterconvertB3DPolyPolygon for filled geometry is called. It is a beseclass to - e.g. base a Z-Buffer supported renderer on the 3D primitive processing. - */ - class DRAWINGLAYER_DLLPUBLIC DefaultProcessor3D : public BaseProcessor3D - { - protected: - /// read-only scene infos (normal handling, etc...) - const attribute::SdrSceneAttribute& mrSdrSceneAttribute; - - /// read-only light infos (lights, etc...) - const attribute::SdrLightingAttribute& mrSdrLightingAttribute; - - /// renderer range. Need to be correctly set by the derived implementations - /// normally the (0, 0, W, H) range from mpBZPixelRaster - basegfx::B2DRange maRasterRange; - - /// the modifiedColorPrimitive stack - basegfx::BColorModifierStack maBColorModifierStack; - - /// the current active texture - boost::shared_ptr< texture::GeoTexSvx > mpGeoTexSvx; - - /// the current active transparence texture - boost::shared_ptr< texture::GeoTexSvx > mpTransparenceGeoTexSvx; - - /// SvtOptionsDrawinglayer incarnation to react on diverse settings - const SvtOptionsDrawinglayer maDrawinglayerOpt; - - /// counter for entered transparence textures - sal_uInt32 mnTransparenceCounter; - - /// bitfield - unsigned mbModulate : 1; - unsigned mbFilter : 1; - unsigned mbSimpleTextureActive : 1; - - ////////////////////////////////////////////////////////////////////////////// - // rendering support - - void impRenderGradientTexturePrimitive3D(const primitive3d::GradientTexturePrimitive3D& rPrimitive, bool bTransparence); - void impRenderHatchTexturePrimitive3D(const primitive3d::HatchTexturePrimitive3D& rPrimitive); - void impRenderBitmapTexturePrimitive3D(const primitive3d::BitmapTexturePrimitive3D& rPrimitive); - void impRenderModifiedColorPrimitive3D(const primitive3d::ModifiedColorPrimitive3D& rModifiedCandidate); - void impRenderPolygonHairlinePrimitive3D(const primitive3d::PolygonHairlinePrimitive3D& rPrimitive); - void impRenderPolyPolygonMaterialPrimitive3D(const primitive3d::PolyPolygonMaterialPrimitive3D& rPrimitive); - void impRenderTransformPrimitive3D(const primitive3d::TransformPrimitive3D& rTransformCandidate); - - ////////////////////////////////////////////////////////////////////////////// - // rasterconversions for filled and non-filled polygons. These NEED to be - // implemented from derivations - - virtual void rasterconvertB3DPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolygon& rHairline) const = 0; - virtual void rasterconvertB3DPolyPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolyPolygon& rFill) const = 0; - - // the processing method for a single, known primitive - virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rBasePrimitive); - - public: - DefaultProcessor3D( - const geometry::ViewInformation3D& rViewInformation, - const attribute::SdrSceneAttribute& rSdrSceneAttribute, - const attribute::SdrLightingAttribute& rSdrLightingAttribute); - virtual ~DefaultProcessor3D(); - - /// data read access - const attribute::SdrSceneAttribute& getSdrSceneAttribute() const { return mrSdrSceneAttribute; } - const attribute::SdrLightingAttribute& getSdrLightingAttribute() const { return mrSdrLightingAttribute; } - - /// data read access renderer stuff - const basegfx::BColorModifierStack& getBColorModifierStack() const { return maBColorModifierStack; } - const boost::shared_ptr< texture::GeoTexSvx >& getGeoTexSvx() const { return mpGeoTexSvx; } - const boost::shared_ptr< texture::GeoTexSvx >& getTransparenceGeoTexSvx() const { return mpTransparenceGeoTexSvx; } - sal_uInt32 getTransparenceCounter() const { return mnTransparenceCounter; } - bool getModulate() const { return mbModulate; } - bool getFilter() const { return mbFilter; } - bool getSimpleTextureActive() const { return mbSimpleTextureActive; } - - /// access to Drawinglayer configuration options - const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; } - }; - } // end of namespace processor3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_PROCESSOR3D_DEFAULTPROCESSOR3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx b/drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx deleted file mode 100644 index d85e6843f54d..000000000000 --- a/drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor3d/baseprocessor3d.hxx> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/matrix/b3dhommatrix.hxx> -#include <basegfx/color/bcolormodifier.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor3d - { - /** Geometry2DExtractingProcessor class - - This processor extracts the 2D geometry (projected geometry) of all feeded primitives. - It is e.g. used as sub-processor for contour extraction where 3D geometry is only - useful as 2D projected geometry. - */ - class DRAWINGLAYER_DLLPUBLIC Geometry2DExtractingProcessor : public BaseProcessor3D - { - private: - /// result holding vector (2D) - primitive2d::Primitive2DSequence maPrimitive2DSequence; - - /// object transformation for scene for 2d definition - basegfx::B2DHomMatrix maObjectTransformation; - - /// the modifiedColorPrimitive stack - basegfx::BColorModifierStack maBColorModifierStack; - - /* as tooling, the process() implementation takes over API handling and calls this - virtual render method when the primitive implementation is BasePrimitive3D-based. - */ - virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate); - - public: - Geometry2DExtractingProcessor( - const geometry::ViewInformation3D& rViewInformation, - const basegfx::B2DHomMatrix& rObjectTransformation); - - // data read access - const primitive2d::Primitive2DSequence& getPrimitive2DSequence() const { return maPrimitive2DSequence; } - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - const basegfx::BColorModifierStack& getBColorModifierStack() const { return maBColorModifierStack; } - }; - } // end of namespace processor3d -} // end of namespace drawinglayer - -#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx b/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx deleted file mode 100644 index 183d61271c83..000000000000 --- a/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor3d/baseprocessor3d.hxx> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <basegfx/matrix/b3dhommatrix.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/polygon/b2dpolygon.hxx> -#include <basegfx/polygon/b3dpolygon.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> -#include <basegfx/polygon/b3dpolypolygon.hxx> -#include <basegfx/matrix/b2dhommatrix.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor3d - { - /** Shadow3DExtractingProcessor class - - This processor extracts the 2D shadow geometry (projected geometry) of all feeded primitives. - It is used to create the shadow of 3D objects which consists of 2D geometry. It needs quite - some data to do so since we do not only offer flat projected 2D shadow, but also projections - dependent on the light source - */ - class DRAWINGLAYER_DLLPUBLIC Shadow3DExtractingProcessor : public BaseProcessor3D - { - private: - /// result holding vector (2D) and target vector for stacking (inited to &maPrimitive2DSequence) - primitive2d::Primitive2DVector maPrimitive2DSequence; - primitive2d::Primitive2DVector* mpPrimitive2DSequence; - - /// object transformation for scene for 2d definition - basegfx::B2DHomMatrix maObjectTransformation; - - /// prepared data (transformations) for 2D/3D shadow calculations - basegfx::B3DHomMatrix maWorldToEye; - basegfx::B3DHomMatrix maEyeToView; - basegfx::B3DVector maLightNormal; - basegfx::B3DVector maShadowPlaneNormal; - basegfx::B3DPoint maPlanePoint; - double mfLightPlaneScalar; - - /* the shadow color used for sub-primitives. Can stay at black since - the encapsulating 2d shadow primitive will contain the color - */ - basegfx::BColor maPrimitiveColor; - - /// bitfield - /// flag if shadow plane projection preparation leaded to valid results - unsigned mbShadowProjectionIsValid : 1; - - /// flag if conversion is switched on - unsigned mbConvert : 1; - - /// flag if conversion shall use projection - unsigned mbUseProjection : 1; - - /// local helpers - basegfx::B2DPolygon impDoShadowProjection(const basegfx::B3DPolygon& rSource); - basegfx::B2DPolyPolygon impDoShadowProjection(const basegfx::B3DPolyPolygon& rSource); - - /* as tooling, the process() implementation takes over API handling and calls this - virtual render method when the primitive implementation is BasePrimitive3D-based. - */ - virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate); - - public: - Shadow3DExtractingProcessor( - const geometry::ViewInformation3D& rViewInformation, - const basegfx::B2DHomMatrix& rObjectTransformation, - const basegfx::B3DVector& rLightNormal, - double fShadowSlant, - const basegfx::B3DRange& rContained3DRange); - virtual ~Shadow3DExtractingProcessor(); - - /// data read access - const primitive2d::Primitive2DSequence getPrimitive2DSequence() const; - const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } - const basegfx::B3DHomMatrix& getWorldToEye() const { return maWorldToEye; } - const basegfx::B3DHomMatrix& getEyeToView() const { return maEyeToView; } - }; - } // end of namespace processor3d -} // end of namespace drawinglayer - -#endif //_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx deleted file mode 100644 index 8570809b465d..000000000000 --- a/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- 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_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX -#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/processor3d/defaultprocessor3d.hxx> -#include <vcl/bitmapex.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predefines - -namespace basegfx { - class BZPixelRaster; -} - -namespace drawinglayer { - namespace attribute { - class SdrSceneAttribute; - class SdrLightingAttribute; - class MaterialAttribute3D; - } - namespace geometry { - class ViewInformation2D; - } -} - -class ZBufferRasterConverter3D; -class RasterPrimitive3D; - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace processor3d - { - /** ZBufferProcessor3D class - - This 3D renderer derived from DefaultProcessor3D renders all feeded primitives to a 2D - raster bitmap using a Z-Buffer based approach. It is able to supersample and to handle - transparent content. - */ - class DRAWINGLAYER_DLLPUBLIC ZBufferProcessor3D : public DefaultProcessor3D - { - private: - /// the raster target, a Z-Buffer - basegfx::BZPixelRaster* mpBZPixelRaster; - - /// inverse of EyeToView for rasterconversion with evtl. Phong shading - basegfx::B3DHomMatrix maInvEyeToView; - - /// The raster converter for Z-Buffer - ZBufferRasterConverter3D* mpZBufferRasterConverter3D; - - /* AA value. Defines how many oversmples will be used in X and Y. Values 0, 1 - will switch it off while e.g. 2 will use 2x2 pixels for each pixel to create - */ - sal_uInt16 mnAntiAlialize; - - /* remembered RasterPrimitive3D's which need to be painted back to front - for transparent 3D parts - */ - std::vector< RasterPrimitive3D >* mpRasterPrimitive3Ds; - - ////////////////////////////////////////////////////////////////////////////// - // rasterconversions for filled and non-filled polygons - - virtual void rasterconvertB3DPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolygon& rHairline) const; - virtual void rasterconvertB3DPolyPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolyPolygon& rFill) const; - - public: - ZBufferProcessor3D( - const geometry::ViewInformation3D& rViewInformation3D, - const geometry::ViewInformation2D& rViewInformation2D, - const attribute::SdrSceneAttribute& rSdrSceneAttribute, - const attribute::SdrLightingAttribute& rSdrLightingAttribute, - double fSizeX, - double fSizeY, - const basegfx::B2DRange& rVisiblePart, - sal_uInt16 nAntiAlialize); - virtual ~ZBufferProcessor3D(); - - void finish(); - - /// get the result as bitmapEx - BitmapEx getBitmapEx() const; - }; - } // end of namespace processor3d -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/texture/texture.hxx b/drawinglayer/inc/drawinglayer/texture/texture.hxx deleted file mode 100644 index 5d1751d70889..000000000000 --- a/drawinglayer/inc/drawinglayer/texture/texture.hxx +++ /dev/null @@ -1,260 +0,0 @@ -/* -*- 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_DRAWINGLAYER_TEXTURE_TEXTURE_HXX -#define INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <basegfx/matrix/b2dhommatrix.hxx> -#include <basegfx/range/b2drange.hxx> -#include <basegfx/color/bcolor.hxx> -#include <basegfx/tools/gradienttools.hxx> -#include <vector> - -////////////////////////////////////////////////////////////////////////////// -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvx - { - public: - GeoTexSvx(); - virtual ~GeoTexSvx(); - - // compare operator - virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const; - bool operator!=(const GeoTexSvx& rGeoTexSvx) const { return !operator==(rGeoTexSvx); } - - // virtual base methods - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradient : public GeoTexSvx - { - protected: - basegfx::ODFGradientInfo maGradientInfo; - basegfx::B2DRange maTargetRange; - basegfx::BColor maStart; - basegfx::BColor maEnd; - double mfBorder; - - // helpers - void impAppendMatrix(::std::vector< basegfx::B2DHomMatrix >& rMatrices, const basegfx::B2DRange& rRange); - void impAppendColorsRadial(::std::vector< basegfx::BColor >& rColors); - - public: - GeoTexSvxGradient(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder); - virtual ~GeoTexSvxGradient(); - - // compare operator - virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const; - - // virtual base methods - virtual void appendColors(::std::vector< basegfx::BColor >& rColors) = 0; - - // data access - const basegfx::BColor& getStart() const { return maStart; } - const basegfx::BColor& getEnd() const { return maEnd; } - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientLinear : public GeoTexSvxGradient - { - public: - GeoTexSvxGradientLinear(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fAngle); - virtual ~GeoTexSvxGradientLinear(); - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void appendColors(::std::vector< basegfx::BColor >& rColors); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientAxial : public GeoTexSvxGradient - { - public: - GeoTexSvxGradientAxial(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fAngle); - virtual ~GeoTexSvxGradientAxial(); - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void appendColors(::std::vector< basegfx::BColor >& rColors); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientRadial : public GeoTexSvxGradient - { - public: - GeoTexSvxGradientRadial(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY); - virtual ~GeoTexSvxGradientRadial(); - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void appendColors(::std::vector< basegfx::BColor >& rColors); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientElliptical : public GeoTexSvxGradient - { - public: - GeoTexSvxGradientElliptical(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY, double fAngle); - virtual ~GeoTexSvxGradientElliptical(); - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void appendColors(::std::vector< basegfx::BColor >& rColors); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientSquare : public GeoTexSvxGradient - { - public: - GeoTexSvxGradientSquare(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY, double fAngle); - virtual ~GeoTexSvxGradientSquare(); - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void appendColors(::std::vector< basegfx::BColor >& rColors); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientRect : public GeoTexSvxGradient - { - public: - GeoTexSvxGradientRect(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY, double fAngle); - virtual ~GeoTexSvxGradientRect(); - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - virtual void appendColors(::std::vector< basegfx::BColor >& rColors); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxHatch : public GeoTexSvx - { - protected: - basegfx::B2DHomMatrix maTextureTransform; - basegfx::B2DHomMatrix maBackTextureTransform; - double mfDistance; - double mfAngle; - sal_uInt32 mnSteps; - - public: - GeoTexSvxHatch(const basegfx::B2DRange& rTargetRange, double fDistance, double fAngle); - virtual ~GeoTexSvxHatch(); - - // compare operator - virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const; - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - double getDistanceToHatch(const basegfx::B2DPoint& rUV) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxTiled : public GeoTexSvx - { - protected: - basegfx::B2DPoint maTopLeft; - basegfx::B2DVector maSize; - - public: - GeoTexSvxTiled(const basegfx::B2DPoint& rTopLeft, const basegfx::B2DVector& rSize); - virtual ~GeoTexSvxTiled(); - - // compare operator - virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const; - - virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices); - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif //_DRAWINGLAYER_TEXTURE_TEXTURE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/texture/texture3d.hxx b/drawinglayer/inc/drawinglayer/texture/texture3d.hxx deleted file mode 100644 index 713cea76c928..000000000000 --- a/drawinglayer/inc/drawinglayer/texture/texture3d.hxx +++ /dev/null @@ -1,159 +0,0 @@ -/* -*- 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_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX -#define INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX - -#include <drawinglayer/drawinglayerdllapi.h> - -#include <drawinglayer/texture/texture.hxx> -#include <vcl/bitmap.hxx> - -////////////////////////////////////////////////////////////////////////////// -// predeclarations - -namespace drawinglayer { namespace primitive3d { - class HatchTexturePrimitive3D; -}} - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxMono : public GeoTexSvx - { - protected: - basegfx::BColor maSingleColor; - double mfOpacity; - - public: - GeoTexSvxMono(const basegfx::BColor& rSingleColor, double fOpacity); - - // compare operator - virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const; - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxBitmap : public GeoTexSvx - { - protected: - Bitmap maBitmap; - BitmapReadAccess* mpRead; - basegfx::B2DPoint maTopLeft; - basegfx::B2DVector maSize; - double mfMulX; - double mfMulY; - - // helpers - bool impIsValid(const basegfx::B2DPoint& rUV, sal_Int32& rX, sal_Int32& rY) const; - - public: - GeoTexSvxBitmap(const Bitmap& rBitmap, const basegfx::B2DPoint& rTopLeft, const basegfx::B2DVector& rSize); - virtual ~GeoTexSvxBitmap(); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxBitmapTiled : public GeoTexSvxBitmap - { - protected: - // helpers - basegfx::B2DPoint impGetCorrected(const basegfx::B2DPoint& rUV) const - { - double fX(fmod(rUV.getX() - maTopLeft.getX(), maSize.getX())); - double fY(fmod(rUV.getY() - maTopLeft.getY(), maSize.getY())); - - if(fX < 0.0) - { - fX += maSize.getX(); - } - - if(fY < 0.0) - { - fY += maSize.getY(); - } - - return basegfx::B2DPoint(fX + maTopLeft.getX(), fY + maTopLeft.getY()); - } - - public: - GeoTexSvxBitmapTiled(const Bitmap& rBitmap, const basegfx::B2DPoint& rTopLeft, const basegfx::B2DVector& rSize); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const; - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace texture - { - class DRAWINGLAYER_DLLPUBLIC GeoTexSvxMultiHatch : public GeoTexSvx - { - protected: - basegfx::BColor maColor; - double mfLogicPixelSize; - GeoTexSvxHatch* mp0; - GeoTexSvxHatch* mp1; - GeoTexSvxHatch* mp2; - - // bitfield - unsigned mbFillBackground : 1; - - // helpers - bool impIsOnHatch(const basegfx::B2DPoint& rUV) const; - - public: - GeoTexSvxMultiHatch(const primitive3d::HatchTexturePrimitive3D& rPrimitive, double fLogicPixelSize); - virtual ~GeoTexSvxMultiHatch(); - virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const; - virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const; - - // dada access - bool getFillBackground() const { return mbFillBackground; } - }; - } // end of namespace texture -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/drawinglayer/tools/converters.hxx b/drawinglayer/inc/drawinglayer/tools/converters.hxx deleted file mode 100644 index 5bc9ddbb18e4..000000000000 --- a/drawinglayer/inc/drawinglayer/tools/converters.hxx +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- 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_DRAWINGLAYER_TOOLS_CONVERTERS_HXX -#define INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX - -#include <drawinglayer/drawinglayerdllapi.h> -#include <vcl/bitmapex.hxx> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> - -////////////////////////////////////////////////////////////////////////////// - -namespace drawinglayer -{ - namespace tools - { - BitmapEx DRAWINGLAYER_DLLPUBLIC convertToBitmapEx( - const drawinglayer::primitive2d::Primitive2DSequence& rSeq, - const geometry::ViewInformation2D& rViewInformation2D, - sal_uInt32 nDiscreteWidth, - sal_uInt32 nDiscreteHeight, - sal_uInt32 nMaxQuadratPixels); - - } // end of namespace tools -} // end of namespace drawinglayer - -////////////////////////////////////////////////////////////////////////////// - -#endif // INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |