2008-07-02 10:13:40 -05:00
|
|
|
|
|
|
|
// -*- C++ -*-
|
|
|
|
|
|
|
|
|
|
|
|
namespace Hurricane {
|
|
|
|
|
2014-05-13 09:30:41 -05:00
|
|
|
/*! \defgroup graphicsGroup Graphics
|
|
|
|
* \brief Access to Graphical Resources.
|
2008-07-02 10:13:40 -05:00
|
|
|
*
|
|
|
|
* \section secGraphicsStructure General Structure of the Graphics Object
|
|
|
|
*
|
|
|
|
* First, the Graphics object is a singleton that has to be
|
|
|
|
* accessed through the static getGraphics methods.
|
|
|
|
*
|
|
|
|
* The Graphics object contains a set of DisplayStyles of which
|
|
|
|
* one is active at a time and so used to do all drawings.
|
|
|
|
* Each DisplayStyle is identified though a name and can be
|
|
|
|
* selected with the setStyle() method.
|
|
|
|
*
|
|
|
|
* The DisplayStyle itself is a set of DrawingStyle.
|
|
|
|
* Each DrawingStyle is named and provides a QColor, a QPen
|
|
|
|
* and a QBrush. QColor, QPen & QBrush are build from the
|
|
|
|
* \c (red,green,blue) , \c BorderWidth and \c pattern .
|
|
|
|
*
|
|
|
|
* Direct access to the DrawingStyle: once a DisplayStyle has
|
|
|
|
* been selected, the Graphics accessors getColor(), getPen()
|
|
|
|
* or getBrush() gives you access to the DrawingStyles.
|
|
|
|
*
|
|
|
|
* Minimal DisplayStyle: any DisplayStyle contains at least
|
|
|
|
* the following DrawingStyles :
|
|
|
|
* <ul>
|
|
|
|
* <li>\b Fallback : the default DrawingStyle.
|
|
|
|
* <li>\b Background
|
|
|
|
* <li>\b Foreground
|
|
|
|
* <li>\b Rubber
|
|
|
|
* <li>\b Phantom
|
|
|
|
* <li>\b Boundaries
|
|
|
|
* <li>\b Marker
|
|
|
|
* <li>\b SelectionDraw
|
|
|
|
* <li>\b SelectionFill
|
|
|
|
* <li>\b Grid
|
|
|
|
* <li>\b Spot
|
|
|
|
* <li>\b Ghost
|
|
|
|
* <li>\b Text
|
|
|
|
* <li>\b Undef
|
|
|
|
* </ul>
|
|
|
|
*
|
|
|
|
* Configuration parsers should create a DrawingStyle for each
|
|
|
|
* BasicLayer, with the name of the BasicLayer as the key. So the
|
|
|
|
* following code should be valid :
|
|
|
|
\code
|
|
|
|
QBrush layerBrush = Graphics::getBrush ( layer->getName() );
|
|
|
|
\endcode
|
|
|
|
* If no DrawingStyle of that name is defined, the \b Fallback
|
|
|
|
* will be used.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
//! \addtogroup graphicsGroup
|
|
|
|
//! \{
|
|
|
|
|
|
|
|
/*! \class Graphics
|
|
|
|
* \brief Manage basic graphical configuration (\b API)
|
|
|
|
*
|
|
|
|
* The Graphics class is a singleton which provides a simplificated
|
|
|
|
* access to graphical resources from Qt and manages graphics
|
|
|
|
* styles used to draw all the objects from the CellWidget.
|
|
|
|
*/
|
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
//! \}
|
2008-07-02 10:13:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
/*! \function Graphics* Graphics::getGraphics();
|
|
|
|
* \Return The Graphics singleton.
|
|
|
|
*/
|
2012-11-16 06:48:38 -06:00
|
|
|
|
|
|
|
/*! \function bool Graphics::isEnabled();
|
|
|
|
* \Return \true if Qt has been activated.
|
|
|
|
*/
|
2008-07-02 10:13:40 -05:00
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function const QFont Graphics::getFixedFont(int weight=QFont::Normal, bool italic=false, bool underline=false, int scale=0);
|
2008-07-02 10:13:40 -05:00
|
|
|
* \param weight the font's weight (see Qt::Weight).
|
|
|
|
* \param italic select the italic variant of the font.
|
|
|
|
* \param underline the font will be underlined.
|
2012-11-16 06:48:38 -06:00
|
|
|
* \param scale added to the font's default point size.
|
2008-07-02 10:13:40 -05:00
|
|
|
* \return A QFont, the size of the font is guessed from the system's default.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const Name& Graphics::getGroup(const Name& key);
|
|
|
|
* \Return The group owning the DrawingStyle of which key is \e key.
|
|
|
|
*/
|
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function const QColor& Graphics::getColor(const Name& key, const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr());
|
2008-07-25 07:47:08 -05:00
|
|
|
* \Return The QColor associated to the DrawingStyle \e key darkened by a factor \e darkening.
|
2008-07-02 10:13:40 -05:00
|
|
|
*/
|
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function const QPen& Graphics::getPen(const Name& key, const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr());
|
2008-07-25 07:47:08 -05:00
|
|
|
* \Return The QPen associated to the DrawingStyle \e key darkened by a factor \e darkening.
|
2008-07-02 10:13:40 -05:00
|
|
|
*/
|
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function const QBrush& Graphics::getBrush(const Name& key, const DisplayStyle::HSVr& darkening=DisplayStyle::HSVr());
|
2008-07-25 07:47:08 -05:00
|
|
|
* \Return The QBrush associated to the DrawingStyle \e key by a factor \e darkening.
|
2008-07-02 10:13:40 -05:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const string& Graphics::getPattern(const Name& key);
|
|
|
|
* \Return The pattern associated to the DrawingStyle \e key.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const float Graphics::getThreshold(const Name& key);
|
|
|
|
* \Return The display threshold associated to the DrawingStyle \e key.
|
|
|
|
*/
|
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function const DisplayStyle::HSVr& Graphics::getDarkening();
|
|
|
|
* \Return The darkening factor applied to non-selected objects.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const ColorScale& Graphics::getColorScale( ColorScale::ScaleType );
|
|
|
|
* \Return The darkening factor applied to non-selected objects.
|
|
|
|
*/
|
2008-07-02 10:13:40 -05:00
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function const QColor Graphics::darken( const QColor& color );
|
|
|
|
* \Return The QColor with the darkening factor applied.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const QColor Graphics::darken( const QColor& color );
|
|
|
|
* \Return The QColor with the darkening factor applied.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const TextTranslator& Graphics::getHtmlTranslator();
|
|
|
|
* \Return The translator applied to generate html text.
|
|
|
|
* \see toHtml()
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function const string Graphics::toHtml( const string& );
|
|
|
|
* \Return A string suitable for HTML enabled devices, such as most of the
|
|
|
|
* Qt widgets. Special characters like \c '&' are replaced by their
|
|
|
|
* HTML counterpart (\c \&)
|
|
|
|
*/
|
2008-07-02 10:13:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
/*! \function const void Graphics::addStyle(DisplayStyle* displayStyle);
|
|
|
|
* Adds a new DisplayStyle to the Graphics environment.
|
|
|
|
* The DisplayStyle contains it's name by which it can be
|
|
|
|
* accessed later. If any previous DisplayStyle of the same
|
|
|
|
* name was existing it is silently replaced.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function void Graphics::setStyle(const Name& key);
|
|
|
|
* Make the DisplayStyle whose name is \e key the currently
|
|
|
|
* used one.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function DisplayStyle* Graphics::getStyle(const Name& key);
|
|
|
|
* \Return The DisplayStyle whose name is \e key.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \function DisplayStyle* Graphics::getStyle();
|
|
|
|
* \Return The DisplayStyle which is currently in use.
|
|
|
|
*/
|
|
|
|
|
2012-11-16 06:48:38 -06:00
|
|
|
/*! \function void Graphics::enable();
|
|
|
|
* Effectively calls Qt, allocated Pens & Brushes and so on.
|
|
|
|
*/
|
2008-07-02 10:13:40 -05:00
|
|
|
|
|
|
|
}
|