public override void Draw(CompactGraphics g)
 {
     for (int i = 0; i < Bounds.y2 - Bounds.y1; i++)
     {
         if (i < lines.Count)
         {
             if (Bounds.y1 + i < Bounds.y2)
             {
                 g.Draw(lines[i], forColor, Bounds.x1, Bounds.y1 + i);
             }
         }
         g.DrawBGRectangle(backColor, Bounds.x1, Bounds.x2, Bounds.y1 + i, Bounds.y1 + i + 1);
     }
 }
        public override void Draw(CompactGraphics g, Input.inpuT mouse)
        {
            if (Bounds.Overlaps(mouse.MouseX, mouse.MouseY))
            {
                switch (mouse.buttonState)
                {
                case 0:
                    tempback = hover_color;
                    if (mouseDown == 1)
                    {
                        OnClick(mouse);
                    }
                    mouseDown = 0;
                    break;

                case 1 when mouseDown == 0 || mouseDown == 1:
                    tempback  = ClickColor;
                    mouseDown = 1;
                    break;

                default:
                    tempback  = backColor;
                    mouseDown = 0;
                    break;
                }
            }
            else
            {
                tempback = backColor;
            }
            for (int i = 0; i < lines.Count; i++)
            {
                if (Bounds.y1 + i < Bounds.y2)
                {
                    g.Draw(lines[i], tempfor, Bounds.x1, Bounds.y1 + i);
                    g.DrawBGRectangle(tempback, Bounds.x1, Bounds.x2 - 1, Bounds.y1 + i, Bounds.y1 + i);
                }
            }
        }