Inheritance: Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
 private IntPtr _GetHICONFromImageSource(ImageSource image, Size dimensions)
 {
     if (this._gdipToken == null)
     {
         this._gdipToken = Standard.SafeGdiplusStartupToken.Startup();
     }
     return(Standard.Utility.GenerateHICON(image, dimensions));
 }
        public static SafeGdiplusStartupToken Startup()
        {
            SafeGdiplusStartupToken safeGdiplusStartupToken = new SafeGdiplusStartupToken();
            IntPtr        handle;
            StartupOutput startupOutput;

            if (NativeMethods.GdiplusStartup(out handle, new StartupInput(), out startupOutput) == Status.Ok)
            {
                safeGdiplusStartupToken.handle = handle;
                return(safeGdiplusStartupToken);
            }
            safeGdiplusStartupToken.Dispose();
            throw new Exception("Unable to initialize GDI+");
        }
示例#3
0
        public static SafeGdiplusStartupToken Startup()
        {
            IntPtr                  intPtr;
            StartupOutput           startupOutput;
            SafeGdiplusStartupToken safeGdiplusStartupToken = new SafeGdiplusStartupToken();

            if (Standard.NativeMethods.GdiplusStartup(out intPtr, new StartupInput(), out startupOutput) != Status.Ok)
            {
                safeGdiplusStartupToken.Dispose();
                throw new Exception("Unable to initialize GDI+");
            }
            safeGdiplusStartupToken.handle = intPtr;
            return(safeGdiplusStartupToken);
        }
示例#4
0
 public static SafeGdiplusStartupToken Startup()
 {
     SafeGdiplusStartupToken safeHandle = new SafeGdiplusStartupToken();
     IntPtr unsafeHandle;
     StartupOutput output;
     Status s = NativeMethods.GdiplusStartup(out unsafeHandle, new StartupInput(), out output);
     if (s == Status.Ok)
     {
         safeHandle.handle = unsafeHandle;
         return safeHandle;
     }
     safeHandle.Dispose();
     throw new Exception("Unable to initialize GDI+");
 }
示例#5
0
        // Caller is responsible for destroying the HICON.
        private IntPtr _GetHICONFromImageSource(ImageSource image, Size dimensions)
        {
            // Verify that GDI+ has been initialized.  Putting this behind a SafeHandle to ensure it gets shutdown.
            if (null == _gdipToken)
            {
                _gdipToken = SafeGdiplusStartupToken.Startup();
            }

            return Utility.GenerateHICON(image, dimensions);
        }