Exemplo n.º 1
0
        public void SetColorType(Type type)
        {
            if (this.colorPickerMulti1.ColorObject != null && this.colorPickerMulti1.ColorObject.GetType() == type)
            {
                return;
            }

            System.Reflection.ConstructorInfo ci  = type.GetConstructor(new Type[] {});
            Endogine.ColorEx.ColorBase        clr = (Endogine.ColorEx.ColorBase)ci.Invoke(new object[] { });
            if (clr.GetAxisInfo().Length > 3)
            {
                //TODO: can't handle 4-dimensional spaces ATM - add another slider!
                return;
            }
            if (this.colorPickerMulti1.ColorObject == null)
            {
                clr.Vector = new Endogine.Vector4(1, 0, 0, 0);
            }
            else
            {
                clr.RgbFloat = this.colorPickerMulti1.ColorObject.RgbFloat;
            }

            this.colorPickerMulti1.ColorObject = clr;


            this.comboSliderAxis.Items.Clear();

            Endogine.ColorEx.ColorBase.AxisInfo[] infos = clr.GetAxisInfo();
            foreach (Endogine.ColorEx.ColorBase.AxisInfo info in infos)
            {
                this.comboSliderAxis.Items.Add(info.Name);
            }

            this.comboSliderAxis.SelectedIndex = 0;
        }