예제 #1
0
        override public bool Execute()
        {
            double x1 = _from.GetValueAsDouble("Hrzn");
            double y1 = _from.GetValueAsDouble("Vrtc");

            double x2 = _to.GetValueAsDouble("Hrzn");
            double y2 = _to.GetValueAsDouble("Vrtc");

            Console.WriteLine("from ({0}, {1}) to ({2}, {3})", x1, y1, x2, y2);

            // Fix me!
            GradientType gradientType;

            switch (_type.Value)
            {
            case "Lnr":
                gradientType = GradientType.Linear;
                break;

            default:
                Console.WriteLine("Gradient-2: " + _type.Value);
                gradientType = GradientType.Linear;
                break;
            }

            Gradient gradient;

            if (_gradient != null)
            {
                string name = _gradient.GetValueAsString("Nm");
                Console.WriteLine("Name: " + name);
                ListParameter colors = _gradient.Parameters["Clrs"] as ListParameter;

                gradient = CreateGradient(name, colors);
            }
            else if (_with != null)
            {
                gradient = CreateGradient("Photoshop.Temp", _with);
            }
            else
            {
                Console.WriteLine("Gradient-3");
                return(false);
            }

            Context.Push();
            Context.Gradient = gradient;
            ActiveDrawable.EditBlend(BlendMode.Custom, LayerModeEffects.Normal,
                                     gradientType, 100.0, 0.0, RepeatMode.None,
                                     false, false, 0, 0, _dither,
                                     x1, y1, x2, y2);
            Context.Pop();

            return(true);
        }
예제 #2
0
        protected override IEnumerable ListParameters()
        {
            yield return("From: current layer");

            ObjcParameter usng = Parameters["Usng"] as ObjcParameter;

            if (usng != null)
            {
                yield return("Name: \"" + usng.GetValueAsString("Nm") + "\"");
            }
        }
예제 #3
0
        protected override IEnumerable ListParameters()
        {
            if (_gefs == null)
            {
                Console.WriteLine("FilterGalleryEvent-1");
                yield break;
            }

            foreach (Parameter parameter in _gefs)
            {
                if (parameter is ObjcParameter)
                {
                    ObjcParameter objc = parameter as ObjcParameter;
                    yield return(Abbreviations.Get(objc.GetValueAsString("GEfk")));
                }
                else
                {
                    Console.WriteLine("FilterGalleryEvent: " + parameter);
                }
            }
        }