mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 16:50:53 +01:00
Implementation des arcs de cercle
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@34 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -147,6 +147,7 @@ bool ElementPerso::parseElement(QDomElement &e, QPainter &qp, Schema *s) {
|
|||||||
else if (e.tagName() == "ligne") return(parseLigne(e, qp));
|
else if (e.tagName() == "ligne") return(parseLigne(e, qp));
|
||||||
else if (e.tagName() == "ellipse") return(parseEllipse(e, qp));
|
else if (e.tagName() == "ellipse") return(parseEllipse(e, qp));
|
||||||
else if (e.tagName() == "cercle") return(parseCercle(e, qp));
|
else if (e.tagName() == "cercle") return(parseCercle(e, qp));
|
||||||
|
else if (e.tagName() == "arc") return(parseArc(e, qp));
|
||||||
else if (e.tagName() == "polygone") return(parsePolygone(e, qp));
|
else if (e.tagName() == "polygone") return(parsePolygone(e, qp));
|
||||||
else return(true); // on n'est pas chiant, on ignore l'element inconnu
|
else return(true); // on n'est pas chiant, on ignore l'element inconnu
|
||||||
}
|
}
|
||||||
@@ -192,6 +193,23 @@ bool ElementPerso::parseEllipse(QDomElement &e, QPainter &qp) {
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ElementPerso::parseArc(QDomElement &e, QPainter &qp) {
|
||||||
|
// verifie la presence des attributs obligatoires
|
||||||
|
double arc_x, arc_y, arc_l, arc_h, arc_s, arc_a;
|
||||||
|
if (!attributeIsAReal(e, QString("x"), &arc_x)) return(false);
|
||||||
|
if (!attributeIsAReal(e, QString("y"), &arc_y)) return(false);
|
||||||
|
if (!attributeIsAReal(e, QString("largeur"), &arc_l)) return(false);
|
||||||
|
if (!attributeIsAReal(e, QString("hauteur"), &arc_h)) return(false);
|
||||||
|
if (!attributeIsAReal(e, QString("start"), &arc_s)) return(false);
|
||||||
|
if (!attributeIsAReal(e, QString("angle"), &arc_a)) return(false);
|
||||||
|
|
||||||
|
qp.save();
|
||||||
|
setPainterStyle(e, qp);
|
||||||
|
qp.drawArc(QRectF(arc_x, arc_y, arc_l, arc_h), (int)(arc_s * 16), (int)(arc_a * 16));
|
||||||
|
qp.restore();
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
bool ElementPerso::parsePolygone(QDomElement &e, QPainter &qp) {
|
bool ElementPerso::parsePolygone(QDomElement &e, QPainter &qp) {
|
||||||
int i = 1;
|
int i = 1;
|
||||||
while(true) {
|
while(true) {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
bool parseLigne(QDomElement &, QPainter &);
|
bool parseLigne(QDomElement &, QPainter &);
|
||||||
bool parseEllipse(QDomElement &, QPainter &);
|
bool parseEllipse(QDomElement &, QPainter &);
|
||||||
bool parseCercle(QDomElement &, QPainter &);
|
bool parseCercle(QDomElement &, QPainter &);
|
||||||
|
bool parseArc(QDomElement &, QPainter &);
|
||||||
bool parsePolygone(QDomElement &, QPainter &);
|
bool parsePolygone(QDomElement &, QPainter &);
|
||||||
bool parseBorne(QDomElement &, Schema *);
|
bool parseBorne(QDomElement &, Schema *);
|
||||||
void setQPainterAntiAliasing(QPainter &, bool);
|
void setQPainterAntiAliasing(QPainter &, bool);
|
||||||
|
|||||||
Reference in New Issue
Block a user