using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Bonhomme02 { class Peau : BaseDessin { Vecteur epaisseur; Vecteur longueur; public Peau() : base() { } public Peau(PictureBox hebergeur) : base(hebergeur) { } public Peau(PictureBox hebergeur, int xy) : base(hebergeur, xy) { } public Peau(PictureBox hebergeur, int x, int y, double lg, double ep, double angle) : base(hebergeur,x, y) { InitVecteurs(lg, ep, angle); } public Peau(int x, int y) : base(x, y) { } public Peau(PictureBox hebergeur, int xy, Color crayon) : base(hebergeur, xy, crayon) { } public Peau(PictureBox hebergeur, int x, int y, Color crayon) : base(hebergeur, x, y, crayon) { } #region accesseur public Point CIG{ get{ return base.coordonnee - epaisseur; }} public Point CID{ get{ return base.coordonnee + epaisseur; }} public Point CSG{ get{ return (base.coordonnee - epaisseur) + longueur; }} public Point CSD{ get{ return (base.coordonnee + epaisseur) + longueur; }} #endregion #region methode private void InitVecteurs(double lg, double ep, double angle) { this.longueur = new Vecteur(lg, angle); this.epaisseur = new Vecteur(ep, ref this.longueur, true); } public override void Afficher(IntPtr handle) { if(base.Visible) { try { Graphics gr = Graphics.FromHwnd(handle); Point[] l = new Point[4] { CIG, CID, CSD, CSG }; if (base.Remplir || 1==1) { try { gr.FillPolygon(new SolidBrush(Color.Blue), l); //gr.FillPolygon } catch { } } gr.DrawPolygon(new Pen(Brushes.Black), l); } catch { } } } /*public override public void Afficher(IntPtr handle, float angle) { this.angleRotation = angle; if (visible) { Graphics gr = Graphics.FromHwnd(handle); Point[] l = new Point[4] { CSG, CSD, CID, CIG }; if (remplir) { gr.FillClosedCurve(new SolidBrush(fond), l); } gr.DrawClosedCurve(new Pen(contour, eppaisseurContour), l); } }*/ public override void Cacher(IntPtr handle) { try { if (base.Visible && 1 == 1) { Graphics gr = Graphics.FromHwnd(handle); Point[] l = new Point[4] { CSG, CSD, CID, CIG }; if (base.Remplir) { gr.FillClosedCurve(new SolidBrush(base.Fond), l); } gr.DrawClosedCurve(new Pen(Brushes.Black), l); } } catch { } } #endregion } }