using System;
using System.ComponentModel;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace Compdfkit_Tools.Common
{
    public partial class CPDFArrowUI : UserControl, INotifyPropertyChanged
    {
        public event EventHandler ArrowChanged;
        public event PropertyChangedEventHandler PropertyChanged;

        private int _selectedIndex = 1;
        public int SelectedIndex
        {
            get
            {
                return _selectedIndex;
            }
            set
            {
                _selectedIndex = value;
                OnPropertyChanged(nameof(SelectedIndex));
                OnArrowChanged();
            }
        }

        public CPDFArrowUI()
        {
            InitializeComponent();
            this.DataContext = this;  
        }

        private void OnArrowChanged()
        {
            ArrowChanged?.Invoke(this, EventArgs.Empty);
        }

        protected void OnPropertyChanged(string propertyName)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }

        public void RotateContent(double angle)
        {
            try
            {
                foreach (ComboBoxItem boxItem in ArrowBox.Items)
                {
                    Path drawPath = boxItem.Content as Path;
                    if (drawPath != null)
                    {
                        RotateTransform rotateTransform = new RotateTransform(angle);
                        rotateTransform.CenterX = boxItem.ActualWidth / 2;
                        rotateTransform.CenterY = boxItem.ActualHeight / 2;
                        drawPath.LayoutTransform = rotateTransform;
                    }
                }
            }
            catch(Exception ex)
            {

            }
           
        }
    }
}