예제 #1
0
    internal void method_2()
    {
        int num = 0;

        if (((this.class891_1 != null) && (this.class891_1.Length != 0)) && ((this.class679_0 != null) && (this.class679_0.Length != 0)))
        {
            StringBuilder builder = new StringBuilder();
            int           index   = 0;
            for (int i = 0; i < this.class679_0.Length; i++)
            {
                Class679 class3 = this.class679_0[i];
                builder.Append(Class1085.smethod_74(class3.method_0()));
                int num3 = class3.method_2();
                for (int j = 0; j < num3; j++)
                {
                    if (index >= this.class891_1.Length)
                    {
                        throw new InvalidOperationException(BookmarkStart.b("栥䜧帩ఫ䬭帯崱䄳儵倷ᨹ䰻弽㈿⍁⥃⍅㱇⽉㹋㵍灏㭑㩓癕㽗㽙㍛㍝՟ᙡᙣὥ䡧ᩩ൫ᩭᡯ山", num));
                    }
                    Class891 class2 = this.class891_1[index];
                    builder.Append(this.method_3(class2.method_0()));
                    builder.Append(',');
                    builder.Append(this.method_3(class2.method_1()));
                    builder.Append(',');
                    index++;
                }
                if (num3 > 0)
                {
                    builder.Remove(builder.Length - 1, 1);
                }
            }
            this.class398_0.method_40(BookmarkStart.b("嘥䤧帩䐫", num), builder.ToString());
        }
    }
예제 #2
0
 private static PointF[] smethod_2(Class891[] A_0, int[] A_1)
 {
     if (A_0 == null)
     {
         return(null);
     }
     PointF[] tfArray = new PointF[A_0.Length];
     for (int i = 0; i < A_0.Length; i++)
     {
         Class891 class2 = A_0[i];
         int      num2   = class2.method_0().method_1();
         int      num3   = class2.method_1().method_1();
         if (A_1 != null)
         {
             if (class2.method_0().method_0())
             {
                 num2 = A_1[class2.method_0().method_1()];
             }
             if (class2.method_1().method_0())
             {
                 num3 = A_1[class2.method_1().method_1()];
             }
         }
         tfArray[i] = new PointF((float)num2, (float)num3);
     }
     return(tfArray);
 }
예제 #3
0
 private static PointF[] smethod_0(Class891[] A_0)
 {
     if ((A_0 == null) || (A_0.Length <= 0))
     {
         return(null);
     }
     PointF[] tfArray = new PointF[A_0.Length];
     for (int i = 0; i < A_0.Length; i++)
     {
         Class891 class2 = A_0[i];
         tfArray[i] = new PointF((float)class2.method_0().method_1(), (float)class2.method_1().method_1());
     }
     return(tfArray);
 }
예제 #4
0
    internal static string smethod_32(Class891[] A_0, char A_1, char A_2)
    {
        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < A_0.Length; i++)
        {
            Class891 class2 = A_0[i];
            builder.Append(smethod_33(class2.method_0()));
            builder.Append(A_1);
            builder.Append(smethod_33(class2.method_1()));
            builder.Append(A_2);
        }
        builder.Remove(builder.Length - 1, 1);
        return(builder.ToString());
    }
예제 #5
0
 internal void method_44()
 {
     Class891[] classArray = (Class891[])this.ShapePr.method_31(0x145);
     PointF[]   tfArray    = smethod_0(classArray);
     if (tfArray != null)
     {
         RectangleF ef = this.method_45(tfArray);
         this.Width  = Class969.smethod_33((double)ef.Width);
         this.Height = Class969.smethod_33((double)ef.Height);
         this.Left   = Class969.smethod_33((double)ef.X);
         this.Top    = Class969.smethod_33((double)ef.Y);
         for (int i = 0; i < classArray.Length; i++)
         {
             classArray[i] = new Class891(classArray[i].method_0().method_1() - ((int)ef.X), classArray[i].method_1().method_1() - ((int)ef.Y));
         }
         this.SetShapeAttribute(0x145, classArray);
     }
 }
예제 #6
0
    private void method_13(ShapeObject A_0)
    {
        int num = 9;

        Class679[] segmentInfo = A_0.SegmentInfo;
        Class891[] vertices    = A_0.Vertices;
        if (vertices != null)
        {
            string str3 = "";
            string str  = "";
            int    num2 = 0;
            for (int i = 0; i < segmentInfo.Length; i++)
            {
                Class679 class2 = segmentInfo[i];
                if (class2.method_0() != PathType.Unknown)
                {
                    string str2 = Class922.smethod_6(class2.method_0());
                    if (Class567.smethod_16(str2))
                    {
                        int num4 = class2.method_2();
                        if ((str != str2) && ((!(str2 == BookmarkStart.b("眮", num)) && !(str2 == BookmarkStart.b("瘮", num))) || (!(str == BookmarkStart.b("眮", num)) && !(str == BookmarkStart.b("瘮", num)))))
                        {
                            str3 = string.Format(BookmarkStart.b("吮İ串ᔴ䰶࠸䘺", num), str3, str2);
                        }
                        for (int j = num2; j < (num2 + num4); j++)
                        {
                            Class891 class3 = vertices[j];
                            bool     flag   = ((class2.method_0() == PathType.AngleEllipse) || (class2.method_0() == PathType.AngleEllipseTo)) ? ((((j - num2) + 1) % 3) == 0) : false;
                            str3 = string.Format(BookmarkStart.b("吮İ串ᔴ䰶࠸䘺ᴼ䐾獀㹂", num), str3, this.method_14(class3.method_0(), flag), this.method_14(class3.method_1(), flag));
                        }
                        num2 += num4;
                        str   = str2;
                    }
                }
            }
            this.class400_0.method_40(BookmarkStart.b("䬮䌰刲䈴ശ尸唺唼帾⽀⁂⁄⍆摈㭊ⱌ㭎㥐", num), str3.Trim());
        }
    }
예제 #7
0
    internal Class891[] method_6()
    {
        int num = 0x10;

        if (this.int_3 == 0)
        {
            return(null);
        }
        using (MemoryStream stream = new MemoryStream(this.byte_0))
        {
            BinaryReader reader     = new BinaryReader(stream);
            Class891[]   classArray = new Class891[this.int_3];
            int          num2       = this.int_5;
            if (num2 != 4)
            {
                if (num2 != 8)
                {
                    throw new InvalidOperationException(BookmarkStart.b("挵嘷儹刻儽㜿ⱁ摃⁅❇㡉⅋⽍⑏牑㉓㥕⩗穙⽛㙝şቡţ䙥ᡧ୩ᡫ٭幯", num));
                }
                for (int i = 0; i < classArray.Length; i++)
                {
                    int num3 = reader.ReadInt32();
                    int num4 = reader.ReadInt32();
                    classArray[i] = new Class891(smethod_3(num3), smethod_3(num4));
                }
            }
            else
            {
                for (int j = 0; j < classArray.Length; j++)
                {
                    int num7 = reader.ReadInt16();
                    int num8 = reader.ReadInt16();
                    classArray[j] = new Class891(num7, num8);
                }
            }
            return(classArray);
        }
    }
예제 #8
0
 private static Class891 smethod_1(Class891 A_0, Class891 A_1)
 {
     return(new Class891(new Point(smethod_2(A_0.method_0().method_1(), A_1.method_0().method_1()), smethod_2(A_0.method_1().method_1(), A_1.method_1().method_1()))));
 }
예제 #9
0
    private void method_5()
    {
        ArrayList list    = new ArrayList();
        ArrayList list2   = new ArrayList();
        PathType  unknown = PathType.Unknown;
        int       num     = 0;
        Class679  class2  = new Class679();
        Class891  class3  = new Class891();
        char      ch      = 'M';
        Class891  class4  = new Class891();
        Class891  class5  = new Class891();

        while (num < this.arrayList_0.Count)
        {
            if (smethod_3(this.arrayList_0[num]))
            {
                ch      = (char)this.arrayList_0[num];
                unknown = Class922.smethod_5(ch);
                if (unknown != PathType.ArcTo)
                {
                    class2 = new Class679(unknown, 1);
                    if (class2.method_2() == 0)
                    {
                        list2.Add(class2);
                    }
                }
                num++;
            }
            else
            {
                switch (unknown)
                {
                case PathType.Unknown:
                case PathType.ArcTo:
                    goto Label_0242;
                }
                list2.Add(class2);
                int num5 = class2.method_2();
                for (int k = 0; k < num5; k++)
                {
                    Class891 class6 = new Class891();
                    char     ch2    = char.ToUpper(ch);
                    if ((ch2 == 'S') && (k == 0))
                    {
                        class6 = smethod_1(class3, class4);
                    }
                    else if ((ch2 == 'T') && (k == 0))
                    {
                        class6 = smethod_1(class3, class5);
                    }
                    else
                    {
                        if (ch2 == 'V')
                        {
                            class6 = new Class891(class3.method_0(), class6.method_1());
                        }
                        else
                        {
                            class6 = new Class891(smethod_0((string)this.arrayList_0[num++]), class6.method_1());
                            if (char.IsLower(ch))
                            {
                                class6 = new Class891(class6.method_0().method_1() + class3.method_0().method_1(), class6.method_1().method_1());
                            }
                        }
                        if (ch2 == 'H')
                        {
                            class6 = new Class891(class6.method_0(), class3.method_1());
                        }
                        else
                        {
                            class6 = new Class891(class6.method_0(), smethod_0((string)this.arrayList_0[num++]));
                            if (char.IsLower(ch))
                            {
                                class6 = new Class891(class6.method_0().method_1(), class6.method_1().method_1() + class3.method_1().method_1());
                            }
                        }
                    }
                    if (k == (num5 - 1))
                    {
                        class3 = class6;
                    }
                    if (unknown == PathType.CurveTo)
                    {
                        if (k == 1)
                        {
                            class4 = class6;
                        }
                    }
                    else
                    {
                        class4 = class3;
                    }
                    if (unknown == PathType.QuadraticBezier)
                    {
                        if (k == 0)
                        {
                            class5 = class6;
                        }
                    }
                    else
                    {
                        class5 = class3;
                    }
                    list.Add(class6);
                }
            }
            continue;
Label_0242:
            num++;
        }
        if (class2.method_0() != PathType.Close)
        {
            list2.Insert(0, new Class679(PathType.NoFill, 1));
        }
        Class891[] classArray2 = new Class891[list.Count];
        for (int i = 0; i < list.Count; i++)
        {
            classArray2[i] = (Class891)list[i];
        }
        Class679[] classArray = new Class679[list2.Count];
        for (int j = 0; j < list2.Count; j++)
        {
            classArray[j] = (Class679)list2[j];
        }
        this.class43_0.SetAttr(0x145, classArray2);
        this.class43_0.SetAttr(0x146, classArray);
    }