예제 #1
0
        public static bool CollectEvent(uint paramX, string pred)
        {
            //Discarded unreachable code: IL_0002
            //IL_0003: Incompatible stack heights: 0 vs 1
            bool              result   = false;
            Annotation        dir      = default(Annotation);
            MapComposerWorker template = default(MapComposerWorker);

            dir._Exporter = Marshal.SizeOf((object)dir);
            if (!PopFilter(null, paramX - 1, ref dir, 0u))
            {
                throw new ArgumentOutOfRangeException("DisplayNumber", paramX, "Number is greater than connected displays.");
            }
            if (NewFilter(dir.visitor, -1, ref template) != 0)
            {
                switch (pred)
                {
                case "90":
                    template.process = 3;
                    break;

                case "180":
                    template.process = 2;
                    break;

                case "270":
                    template.process = 1;
                    break;

                case "0":
                    template.process = 0;
                    break;
                }
                RotationAxis rotationAxis = MoveFilter(dir.visitor, ref template, IntPtr.Zero, (FieldEventEntry)1, IntPtr.Zero);
                result = (rotationAxis == (RotationAxis)0);
            }
            return(result);
        }
예제 #2
0
 internal static extern int NewFilter(string value, int removePREDAt, ref MapComposerWorker template);
예제 #3
0
 internal static extern RotationAxis MoveFilter(string instance, ref MapComposerWorker selection, IntPtr filter, FieldEventEntry pol2, IntPtr selection3);