예제 #1
0
    private bool method_4(ShapeBase A_0)
    {
        bool flag;

        if (!(A_0 is ShapeGroup))
        {
            goto Label_0074;
        }
        if (A_0.ChildObjects.Count == 0)
        {
            return(true);
        }
        bool flag2 = true;

        using (IEnumerator enumerator = A_0.ChildObjects.GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                DocumentObject current = (DocumentObject)enumerator.Current;
                if ((current is ShapeBase) && !this.method_4(current as ShapeBase))
                {
                    goto Label_0057;
                }
            }
            goto Label_006F;
Label_0057:
            flag2 = false;
        }
Label_006F:
        if (flag2)
        {
            return(true);
        }
Label_0074:
        if (((A_0 is ShapeObject) && smethod_1((ShapeObject)A_0)) || this.class422_0.method_73())
        {
            return(true);
        }
        if (A_0.Owner == null)
        {
            flag = false;
        }
        else
        {
            flag = A_0.GetAncestor(DocumentObjectType.Comment) != null;
        }
        if ((!Class422.smethod_1(A_0) && this.class422_0.method_20()) || flag)
        {
            return(true);
        }
        if (A_0 is ShapeObject)
        {
            DocPicture imageData = (A_0 as ShapeObject).ImageData;
            if ((A_0.IsImage || A_0.IsOleControl) && ((imageData.ImageBytes == null) || (imageData.ImageBytes.Length <= 0)))
            {
                return(true);
            }
        }
        return(false);
    }