예제 #1
0
        internal Display(DISPMANX_DISPLAY_HANDLE_T handle)
        {
            this.m_handle = handle;

            this.m_infosLoader     = new Lazy <DISPMANX_MODEINFO_T>(this.GetInfos);
            this.m_RectangleLoader = new Lazy <Rectangle>(this.GetRectangle);
        }
        /// <summary>
        /// Opens a display on the given device
        /// </summary>
        /// <param name="device"></param>
        /// <returns></returns>
        public Display DisplayOpen(Screen device)
        {
            DISPMANX_DISPLAY_HANDLE_T handle = NativeMethods.DisplayOpen((DISPMAN_ID)(int)device);

            if (handle.Handle == IntPtr.Zero)
            {
                return(null);
            }
            return(new Display(handle));
        }
예제 #3
0
        /// <summary>
        /// Opens an offscreen display
        /// </summary>
        /// <param name="dest"></param>
        /// <param name="orientation"></param>
        /// <returns></returns>
        public Display DisplayOpenOffscreen(Resource dest, DISPMANX_TRANSFORM_T orientation)
        {
            DISPMANX_DISPLAY_HANDLE_T handle = NativeMethods.DisplayOpenOffscreen(dest.Handle, orientation);

            if (handle.Handle == IntPtr.Zero)
            {
                return(null);
            }
            return(new Display(handle));
        }