Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAbstractProjectionPlane Class Referenceabstract

#include <kis_abstract_projection_plane.h>

+ Inheritance diagram for KisAbstractProjectionPlane:

Public Member Functions

virtual QRect accessRect (const QRect &rect, KisLayer::PositionToFilthy pos=KisLayer::N_FILTHY) const =0
 
virtual void apply (KisPainter *painter, const QRect &rect)=0
 
virtual QRect changeRect (const QRect &rect, KisLayer::PositionToFilthy pos=KisLayer::N_FILTHY) const =0
 
virtual KisPaintDeviceList getLodCapableDevices () const =0
 
 KisAbstractProjectionPlane ()
 
virtual QRect looseUserVisibleBounds () const =0
 
virtual QRect needRect (const QRect &rect, KisLayer::PositionToFilthy pos=KisLayer::N_FILTHY) const =0
 
virtual QRect needRectForOriginal (const QRect &rect) const =0
 
virtual QRect recalculate (const QRect &rect, KisNodeSP filthyNode, KisRenderPassFlags flags)=0
 
virtual QRect tightUserVisibleBounds () const =0
 
virtual ~KisAbstractProjectionPlane ()
 

Detailed Description

An interface of the node to the compositing system. Compositing system KisAsyncMerger knows nothing about the internals of the layer, it just knows that the layer can:

1) recalculate() its internal representation if it is filthy

2) apply() itself onto a global projection using, writing all its data to the projection.

3) report parameters of these operations using needRect(), changeRect() and accessRect() methods, which mean the same as the corresponding methods of KisNode, but include more transformations for the layer, e.g. Layer Styles and Pass-through mode.

Definition at line 33 of file kis_abstract_projection_plane.h.

Constructor & Destructor Documentation

◆ KisAbstractProjectionPlane()

KisAbstractProjectionPlane::KisAbstractProjectionPlane ( )

Definition at line 10 of file kis_abstract_projection_plane.cpp.

11{
12}

◆ ~KisAbstractProjectionPlane()

KisAbstractProjectionPlane::~KisAbstractProjectionPlane ( )
virtual

Definition at line 14 of file kis_abstract_projection_plane.cpp.

15{
16}

Member Function Documentation

◆ accessRect()

virtual QRect KisAbstractProjectionPlane::accessRect ( const QRect & rect,
KisLayer::PositionToFilthy pos = KisLayer::N_FILTHY ) const
pure virtual

◆ apply()

virtual void KisAbstractProjectionPlane::apply ( KisPainter * painter,
const QRect & rect )
pure virtual

Writes the data of the projection plane onto a global projection using painter object.

Implemented in KisDumbProjectionPlane, KisLayerProjectionPlane, KisMaskProjectionPlane, KisLayerStyleFilterProjectionPlane, and KisLayerStyleProjectionPlane.

◆ changeRect()

virtual QRect KisAbstractProjectionPlane::changeRect ( const QRect & rect,
KisLayer::PositionToFilthy pos = KisLayer::N_FILTHY ) const
pure virtual

◆ getLodCapableDevices()

virtual KisPaintDeviceList KisAbstractProjectionPlane::getLodCapableDevices ( ) const
pure virtual

Returns a list of devices which should synchronize the lod cache on update

Implemented in KisDumbProjectionPlane, KisLayerProjectionPlane, KisMaskProjectionPlane, KisLayerStyleFilterProjectionPlane, and KisLayerStyleProjectionPlane.

◆ looseUserVisibleBounds()

virtual QRect KisAbstractProjectionPlane::looseUserVisibleBounds ( ) const
pure virtual

Return an approximate (loose) rectangle, where the contents of the plane is placed from user's point of view. It includes everything belonging to the plane (e.g. layer styles).

This rectangle contains or is bigger than the rectangle returned by tightUserVisibleBounds().

Implemented in KisDumbProjectionPlane, KisLayerProjectionPlane, KisMaskProjectionPlane, KisLayerStyleFilterProjectionPlane, and KisLayerStyleProjectionPlane.

◆ needRect()

virtual QRect KisAbstractProjectionPlane::needRect ( const QRect & rect,
KisLayer::PositionToFilthy pos = KisLayer::N_FILTHY ) const
pure virtual

◆ needRectForOriginal()

virtual QRect KisAbstractProjectionPlane::needRectForOriginal ( const QRect & rect) const
pure virtual

◆ recalculate()

virtual QRect KisAbstractProjectionPlane::recalculate ( const QRect & rect,
KisNodeSP filthyNode,
KisRenderPassFlags flags )
pure virtual

Is called by the async merger when the node is filthy and should recalculate its internal representation. For usual layers it means just calling updateProjection().

Implemented in KisDumbProjectionPlane, KisLayerProjectionPlane, KisMaskProjectionPlane, KisLayerStyleFilterProjectionPlane, and KisLayerStyleProjectionPlane.

◆ tightUserVisibleBounds()

virtual QRect KisAbstractProjectionPlane::tightUserVisibleBounds ( ) const
pure virtual

Return a tight rectangle, where the contents of the plane is placed from user's point of view. It includes everything belonging to the plane (e.g. layer styles).

Implemented in KisDumbProjectionPlane, KisLayerProjectionPlane, KisMaskProjectionPlane, KisLayerStyleFilterProjectionPlane, and KisLayerStyleProjectionPlane.


The documentation for this class was generated from the following files: