namespace CGAL { namespace Qt { /*! \ingroup PkgGraphicsViewMiscClasses An object of type `PainterOstream` provides output operators for `Kernel` objects. As \cgal has unbounded objects the `PainterOstream` must be constructed with a clipping rectangle. This is typically the visible area of the widget where the unbounded object is displayed. */ template< typename K > class PainterOstream { public: /// \name Creation /// @{ /*! The clipping rect is used for unbounded `Kernel` objects. */ PainterOstream(QPainter* qp, QRectF clippingRect); /// @} /// \name Operations /// @{ /*! Draws a point. */ PainterOstream operator<<(K::Point_2); /*! Draws a segment. */ PainterOstream operator<<(K::Segment_2); /*! Draws a clipped ray. */ PainterOstream operator<<(K::Ray_2); /*! Draws a clipped line. */ PainterOstream operator<<(K::Line_2); /*! Draws a triangle. */ PainterOstream operator<<(K::Triangle_2); /*! Draws an iso rectangle. */ PainterOstream operator<<(K::Iso_rectangle_2); /*! Draws a circle. */ PainterOstream operator<<(K::Circle_2); /*! Draws a circular arc. */ PainterOstream operator<<(K::Circular_arc_2); /*! Draws a polyline. In order to close it the first and last point must be equal. */ PainterOstream operator<<(std::list); /*! Draws an iso rectangle. */ PainterOstream operator<<(Bbox_2); /*! Sets the pen used in the next paint operations. */ PainterOstream operator<<(QPen); /*! Sets the brush used in the next paint operations. */ PainterOstream operator<<(QBrush); /// @} }; /* end PainterOstream */ } /* end namespace Qt */ } /* end namespace CGAL */