36#if defined( _MSC_VER )
37#pragma warning( push )
38#pragma warning( disable : 4275 )
86 VIEW_ITEM(
bool isSCH_ITEM =
false,
bool isBOARD_ITEM =
false ) :
87 m_isSCH_ITEM( isSCH_ITEM ),
88 m_isBOARD_ITEM( isBOARD_ITEM ),
89 m_viewPrivData( nullptr ),
90 m_forcedTransparency( 0.0 )
150 return m_viewPrivData;
155 m_forcedTransparency = aForcedTransparency;
160 return m_forcedTransparency;
174#if defined( _MSC_VER )
175#pragma warning( pop )
Class that other classes need to inherit from, in order to be inspectable.
An abstract base class for deriving all objects that can be added to a VIEW.
virtual const BOX2I ViewBBox() const =0
Return the bounding box of the item covering all its layers.
VIEW_ITEM(bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
double m_forcedTransparency
Additional transparency for diff'ing items.
VIEW_ITEM_DATA * viewPrivData() const
virtual void ViewDraw(int aLayer, VIEW *aView) const
Draw the parts of the object belonging to layer aLayer.
VIEW_ITEM & operator=(const VIEW_ITEM &aOther)=delete
void SetForcedTransparency(double aForcedTransparency)
virtual std::vector< int > ViewGetLayers() const =0
Return the all the layers within the VIEW the object is painted on.
bool IsBOARD_ITEM() const
VIEW_ITEM(const VIEW_ITEM &aOther)=delete
double GetForcedTransparency() const
virtual double ViewGetLOD(int aLayer, VIEW *aView) const
Return the level of detail (LOD) of the item.
VIEW_ITEM_DATA * m_viewPrivData
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
The Cairo implementation of the graphics abstraction layer.
VIEW_UPDATE_FLAGS
Define the how severely the appearance of the item has been changed.
@ COLOR
Color has changed.
@ INITIAL_ADD
Item is being added to the view.
@ NONE
No updates are required.
@ REPAINT
Item needs to be redrawn.
@ APPEARANCE
Visibility flag has changed.
@ GEOMETRY
Position or shape has changed.
@ LAYERS
Layers have changed.
@ ALL
All except INITIAL_ADD.
VIEW_VISIBILITY_FLAGS
Define the visibility of the item (temporarily hidden, invisible, etc).
@ HIDDEN
Item is temporarily hidden (usually in favor of a being drawn from an overlay, such as a SELECTION).
@ OVERLAY_HIDDEN
Item is temporarily hidden from being drawn on an overlay.
@ VISIBLE
Item is visible (in general)