using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Drawing;

namespace FamilyTree
{
    // Represents something that a DrawableTreeNode can draw.
    public interface IDrawable
    {
        // Set the object's required size.
        void SetSize(Graphics gr, Font font);

        // Return the object's required size.
        SizeF Size { get; }

        // Return true if the node is above this point.
        bool IsAtPoint(PointF center, PointF point);

        // Draw the object.
        void Draw(PointF center, Graphics gr, Pen pen, Brush bgBrush, Brush textBrush, Font font);
    }
}
