32#include <osl/diagnose.h>
62 OSL_ENSURE(rpOverlayObject,
"Corrupted OverlayObject List (!)");
69 if(!rSequence.empty())
75 rDestinationDevice.
SetAntialiasing(nOriginalAA | AntialiasingFlags::Enable);
79 rDestinationDevice.
SetAntialiasing(nOriginalAA & ~AntialiasingFlags::Enable);
83 if (bIsHighContrastSelection)
86 rDestinationDevice.
SetDrawMode(nOriginalDrawMode | DrawModeFlags::SettingsForSelection);
89 pProcessor->process(rSequence);
91 if (bIsHighContrastSelection)
115 OSL_ENSURE(rpOverlayObject,
"Corrupted OverlayObject List (!)");
134 : mrOutputDevice(rOutputDevice),
137 mnStripeLengthPixel(5),
142 uno::Sequence< beans::PropertyValue > xProperties{
165 if(aOutputSizePixel.
Width() && aOutputSizePixel.
Height())
199 rTarget.mpOverlayManager =
nullptr;
205 rTarget.mpOverlayManager =
this;
232 OSL_ENSURE(rpOverlayObject,
"Corrupted OverlayObject List (!)");
266 OSL_ENSURE(
nullptr == rOverlayObject.
mpOverlayManager,
"OverlayObject is added twice to an OverlayManager (!)");
277 OSL_ENSURE(rOverlayObject.
mpOverlayManager ==
this,
"OverlayObject is removed from wrong OverlayManager (!)");
285 OSL_ENSURE(bFound,
"OverlayObject NOT found at OverlayManager (!)");
307 return aInvalidateRectangle;
314 static_cast<sal_Int32
>(floor(rRange.
getMinX())),
static_cast<sal_Int32
>(floor(rRange.
getMinY())),
315 static_cast<sal_Int32
>(ceil(rRange.
getMaxX())),
static_cast<sal_Int32
>(ceil(rRange.
getMaxY())));
316 return aInvalidateRectangle;
basegfx::B2DHomMatrix GetViewTransformation() const
void SetAntialiasing(AntialiasingFlags nMode)
void SetDrawMode(DrawModeFlags nDrawMode)
AntialiasingFlags GetAntialiasing() const
DrawModeFlags GetDrawMode() const
virtual vcl::Window * GetOwnerWindow() const
constexpr tools::Long getHeight() const
constexpr tools::Long Height() const
constexpr tools::Long getWidth() const
constexpr tools::Long Width() const
BASEGFX_DLLPUBLIC void transform(const B2DHomMatrix &rMatrix)
bool overlaps(const Range2D &rRange) const
SAL_DLLPRIVATE sal_uInt32 GetTime() const
SAL_DLLPRIVATE void RemoveEvent(Event *pOld)
void impApplyRemoveActions(OverlayObject &rTarget)
void remove(OverlayObject &rOverlayObject)
void setStripeColorA(Color aNew)
static rtl::Reference< OverlayManager > create(OutputDevice &rOutputDevice)
void impApplyAddActions(OverlayObject &rTarget)
void ImpStripeDefinitionChanged()
tools::Rectangle RangeToInvalidateRectangle(const basegfx::B2DRange &rRange) const
void add(OverlayObject &rOverlayObject)
double getDiscreteOne() const
void setStripeColorB(Color aNew)
sal_uInt32 mnStripeLengthPixel
drawinglayer::geometry::ViewInformation2D const & getCurrentViewInformation2D() const
virtual void invalidateRange(const basegfx::B2DRange &rRange)
virtual ~OverlayManager() override
drawinglayer::geometry::ViewInformation2D maViewInformation2D
OverlayManager(const OverlayManager &)=delete
OverlayObjectVector maOverlayObjects
void ImpDrawMembers(const basegfx::B2DRange &rRange, OutputDevice &rDestinationDevice) const
OutputDevice & getOutputDevice() const
void setStripeLengthPixel(sal_uInt32 nNew)
basegfx::B2DHomMatrix maViewTransformation
virtual void completeRedraw(const vcl::Region &rRegion, OutputDevice *pPreRenderDevice=nullptr) const
bool allowsAntiAliase() const
bool isHighContrastSelection() const
const basegfx::B2DRange & getBaseRange() const
OverlayManager * mpOverlayManager
virtual void stripeDefinitionHasChanged()
virtual drawinglayer::primitive2d::Primitive2DContainer getOverlayObjectPrimitive2DSequence() const
tools::Rectangle GetBoundRect() const
void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
ViewInformation2D createViewInformation2D(const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters)
std::unique_ptr< BaseProcessor2D > createProcessor2DFromOutputDevice(OutputDevice &rTargetOutDev, const drawinglayer::geometry::ViewInformation2D &rViewInformation2D)