public override ButtonMargins?GetButtonMargins(ButtonFeatures features, bool rightAligned)
        {
            if (!rightAligned)
            {
                switch (features)
                {
                case ButtonFeatures.Image:
                    return(new ButtonMargins(6, 0, 0, 6, 0));

                case ButtonFeatures.Text:
                    return(new ButtonMargins(0, 15, 0, 15, 0));

                case ButtonFeatures.Image | ButtonFeatures.Text:
                    return(new ButtonMargins(15, 7, 0, 15, 0));

                case ButtonFeatures.Text | ButtonFeatures.Menu:
                    return(new ButtonMargins(0, 15, 5, 15, 0));

                case ButtonFeatures.Text | ButtonFeatures.SplitMenu:
                    return(new ButtonMargins(0, 15, 9, 5, 10));

                case ButtonFeatures.Image | ButtonFeatures.Menu:
                    return(new ButtonMargins(6, 0, 5, 6, 0));

                default:
                    return(null);
                }
            }
            else
            {
                switch (features)
                {
                case ButtonFeatures.Text | ButtonFeatures.Menu:
                    return(new ButtonMargins(0, 10, 5, 10, 0));

                case ButtonFeatures.Image:
                    return(new ButtonMargins(6, 0, 0, 6, 0));

                case ButtonFeatures.Image | ButtonFeatures.Menu:
                    return(new ButtonMargins(6, 0, 5, 6, 0));

                default:
                    return(null);
                }
            }
        }
        public virtual ButtonMargins?GetButtonMargins(ButtonFeatures features, bool rightAligned)
        {
            switch (features)
            {
            case ButtonFeatures.Image:
                return(new ButtonMargins(5, 0, 0, 5, 0));

            case ButtonFeatures.Image | ButtonFeatures.Menu:
                return(new ButtonMargins(5, 0, 3, 5, 0));

            case ButtonFeatures.Text:
                return(new ButtonMargins(0, 8, 0, 8, 0));

            case ButtonFeatures.Text | ButtonFeatures.Menu:
                return(new ButtonMargins(0, 8, 5, 8, 0));

            case ButtonFeatures.Image | ButtonFeatures.Text:
                return(new ButtonMargins(8, 4, 0, 8, 0));

            default:
                return(null);
            }
        }
 public override ButtonMargins? GetButtonMargins(ButtonFeatures features, bool rightAligned)
 {
     if (!rightAligned)
     {
         switch (features)
         {
             case ButtonFeatures.Image:
                 return new ButtonMargins(6, 0, 0, 6, 0);
             case ButtonFeatures.Text:
                 return new ButtonMargins(0, 15, 0, 15, 0);
             case ButtonFeatures.Image | ButtonFeatures.Text:
                 return new ButtonMargins(15, 7, 0, 15, 0);
             case ButtonFeatures.Text | ButtonFeatures.Menu:
                 return new ButtonMargins(0, 15, 5, 15, 0);
             case ButtonFeatures.Text | ButtonFeatures.SplitMenu:
                 return new ButtonMargins(0, 15, 9, 5, 10);
             case ButtonFeatures.Image | ButtonFeatures.Menu:
                 return new ButtonMargins(6, 0, 5, 6, 0);
             default:
                 return null;
         }
     }
     else
     {
         switch (features)
         {
             case ButtonFeatures.Text | ButtonFeatures.Menu:
                 return new ButtonMargins(0, 10, 5, 10, 0);
             case ButtonFeatures.Image:
                 return new ButtonMargins(6, 0, 0, 6, 0);
             case ButtonFeatures.Image | ButtonFeatures.Menu:
                 return new ButtonMargins(6, 0, 5, 6, 0);
             default:
                 return null;
         }
     }
 }
 public virtual ButtonMargins? GetButtonMargins(ButtonFeatures features, bool rightAligned)
 {
     switch (features)
     {
         case ButtonFeatures.Image:
             return new ButtonMargins(5, 0, 0, 5, 0);
         case ButtonFeatures.Image | ButtonFeatures.Menu:
             return new ButtonMargins(5, 0, 3, 5, 0);
         case ButtonFeatures.Text:
             return new ButtonMargins(0, 8, 0, 8, 0);
         case ButtonFeatures.Text | ButtonFeatures.Menu:
             return new ButtonMargins(0, 8, 5, 8, 0);
         case ButtonFeatures.Image | ButtonFeatures.Text:
             return new ButtonMargins(8, 4, 0, 8, 0);
         default:
             return null;
     }
 }