Eneboo - Documentación para desarrolladores
|
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** 00002 * Qwt Widget Library 00003 * Copyright (C) 1997 Josef Wilgen 00004 * Copyright (C) 2002 Uwe Rathmann 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the Qwt License, Version 1.0 00008 *****************************************************************************/ 00009 00010 #ifndef QWT_SYMBOL_H 00011 #define QWT_SYMBOL_H 00012 00013 #include <qbrush.h> 00014 #include <qpen.h> 00015 #include <qsize.h> 00016 #include "qwt_global.h" 00017 00018 class QPainter; 00019 class QRect; 00020 00022 class QWT_EXPORT QwtSymbol 00023 { 00024 public: 00029 enum Style 00030 { 00031 NoSymbol = -1, 00032 00033 Ellipse, 00034 Rect, 00035 Diamond, 00036 Triangle, 00037 DTriangle, 00038 UTriangle, 00039 LTriangle, 00040 RTriangle, 00041 Cross, 00042 XCross, 00043 HLine, 00044 VLine, 00045 Star1, 00046 Star2, 00047 Hexagon, 00048 00049 StyleCnt 00050 }; 00051 00052 public: 00053 QwtSymbol(); 00054 QwtSymbol(Style st, const QBrush &bd, const QPen &pn, const QSize &s); 00055 virtual ~QwtSymbol(); 00056 00057 bool operator!=(const QwtSymbol &) const; 00058 virtual bool operator==(const QwtSymbol &) const; 00059 00060 virtual QwtSymbol *clone() const; 00061 00062 void setSize(const QSize &s); 00063 void setSize(int a, int b = -1); 00064 void setBrush(const QBrush& b); 00065 void setPen(const QPen &p); 00066 void setStyle (Style s); 00067 00069 const QBrush& brush() const { return d_brush; } 00071 const QPen& pen() const { return d_pen; } 00073 const QSize& size() const { return d_size; } 00075 Style style() const { return d_style; } 00076 00077 void draw(QPainter *p, const QPoint &pt) const; 00078 void draw(QPainter *p, int x, int y) const; 00079 virtual void draw(QPainter *p, const QRect &r) const; 00080 00081 private: 00082 QBrush d_brush; 00083 QPen d_pen; 00084 QSize d_size; 00085 Style d_style; 00086 }; 00087 00088 #endif