Esempio n. 1
0
        public unsafe static XRRScreenSize[] XRRSizes(Display dpy, int screen)
        {
            int            count;
            XRRScreenSize *data = XRRSizes(dpy, screen, &count);

            if (count == 0)
            {
                return(null);
            }

            XRRScreenSize[] sizes = new XRRScreenSize[count];
            for (int i = 0; i < count; i++)
            {
                sizes[i] = *data++;
            }
            return(sizes);
        }
Esempio n. 2
0
        public static List <XRRScreenSize> ConfigSizes(IntPtr config, out int nsizes)
        {
            int    indexes               = 0;
            IntPtr screen_ptr            = XRRConfigSizes(config, out indexes);
            List <XRRScreenSize> screens = new List <XRRScreenSize>(indexes);

            nsizes = indexes;

            unsafe
            {
                XRRScreenSize *ptr = (XRRScreenSize *)screen_ptr;
                while (--indexes >= 0)
                {
                    screens.Add(*ptr);
                    ptr++;
                }
            }

            return(screens);
        }