]> granicus.if.org Git - handbrake/commitdiff
WinGui: Remove System.Windows.Forms, PresentationCore, PresentationFramework and...
authorsr55 <sr55.hb@outlook.com>
Sun, 29 Jan 2017 17:19:16 +0000 (17:19 +0000)
committerScott <sr55@users.noreply.github.com>
Fri, 3 Feb 2017 20:39:34 +0000 (20:39 +0000)
win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
win/CS/HandBrake.ApplicationServices/Interop/HandBrakeInstance.cs
win/CS/HandBrake.ApplicationServices/Interop/Interfaces/IHandBrakeInstance.cs
win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/Services/Scan/LibScan.cs
win/CS/HandBrakeWPF/Utilities/BitmapUtilities.cs [new file with mode: 0644]

index 14ba105455dfa4323ebb32aec6d360ffc1631291..0fd5b52603206b05dd49ac8b6528d6d862223bf5 100644 (file)
@@ -56,8 +56,6 @@
       <SpecificVersion>False</SpecificVersion>\r
       <HintPath>..\libraries\json\Newtonsoft.Json.dll</HintPath>\r
     </Reference>\r
-    <Reference Include="PresentationCore" />\r
-    <Reference Include="PresentationFramework" />\r
     <Reference Include="System" />\r
     <Reference Include="System.ComponentModel.DataAnnotations" />\r
     <Reference Include="System.Core">\r
@@ -67,7 +65,6 @@
     <Reference Include="System.Management" />\r
     <Reference Include="System.Runtime.Serialization" />\r
     <Reference Include="System.ServiceModel" />\r
-    <Reference Include="System.Windows.Forms" />\r
     <Reference Include="System.Xaml" />\r
     <Reference Include="System.Xml.Linq">\r
       <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
@@ -77,7 +74,6 @@
     </Reference>\r
     <Reference Include="System.Data" />\r
     <Reference Include="System.Xml" />\r
-    <Reference Include="WindowsBase" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Compile Include="Attributes\ShortName.cs" />\r
index c39ad153465b1b4748abe5dabdc76001a139b42a..f803887d19591eff7be60c2d01c55089cd27f331 100644 (file)
@@ -19,7 +19,6 @@ namespace HandBrake.ApplicationServices.Interop
     using System.Runtime.ExceptionServices;\r
     using System.Runtime.InteropServices;\r
     using System.Timers;\r
-    using System.Windows.Media.Imaging;\r
 \r
     using HandBrake.ApplicationServices.Interop.EventArgs;\r
     using HandBrake.ApplicationServices.Interop.Factories;\r
@@ -269,7 +268,7 @@ namespace HandBrake.ApplicationServices.Interop
         /// An image with the requested preview.\r
         /// </returns>\r
         [HandleProcessCorruptedStateExceptions]\r
-        public BitmapImage GetPreview(PreviewSettings settings, int previewNumber)\r
+        public Bitmap GetPreview(PreviewSettings settings, int previewNumber)\r
         {\r
             SourceTitle title = this.Titles.TitleList.FirstOrDefault(t => t.Index == settings.TitleNumber);\r
 \r
@@ -338,29 +337,9 @@ namespace HandBrake.ApplicationServices.Interop
             IntPtr nativeJobPtrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(IntPtr)));\r
             Marshal.WriteIntPtr(nativeJobPtrPtr, resultingImageStuct);\r
             HBFunctions.hb_image_close(nativeJobPtrPtr);\r
-            Marshal.FreeHGlobal(nativeJobPtrPtr);                \r
+            Marshal.FreeHGlobal(nativeJobPtrPtr);\r
 \r
-            // Create a Bitmap Image for display.\r
-            using (var memoryStream = new MemoryStream())\r
-            {\r
-                try\r
-                {\r
-                    bitmap.Save(memoryStream, ImageFormat.Bmp);\r
-                }\r
-                finally\r
-                {\r
-                    bitmap.Dispose();\r
-                }\r
-\r
-                var wpfBitmap = new BitmapImage();\r
-                wpfBitmap.BeginInit();\r
-                wpfBitmap.CacheOption = BitmapCacheOption.OnLoad;\r
-                wpfBitmap.StreamSource = memoryStream;\r
-                wpfBitmap.EndInit();\r
-                wpfBitmap.Freeze();\r
-\r
-                return wpfBitmap;\r
-            }\r
+            return bitmap;\r
         }\r
 \r
         /// <summary>\r
index 3e756d22865f4a0134cccbfd1a2a0fd9eb14d609..910621d81615d23fa42410762fb8d037d5d8ce72 100644 (file)
@@ -10,7 +10,7 @@
 namespace HandBrake.ApplicationServices.Interop.Interfaces\r
 {\r
     using System;\r
-    using System.Windows.Media.Imaging;\r
+    using System.Drawing;\r
 \r
     using HandBrake.ApplicationServices.Interop.EventArgs;\r
     using HandBrake.ApplicationServices.Interop.Json.Encode;\r
@@ -100,7 +100,7 @@ namespace HandBrake.ApplicationServices.Interop.Interfaces
         /// <returns>\r
         /// An image with the requested preview.\r
         /// </returns>\r
-        BitmapImage GetPreview(PreviewSettings job, int previewNumber);\r
+        Bitmap GetPreview(PreviewSettings job, int previewNumber);\r
 \r
         /// <summary>\r
         /// Pauses the current encode.\r
index 207083bd6f2ef07385bb6b64c0c075a2e2271940..2717b5da1f3cfa470ff0860699d4c919b1cedae7 100644 (file)
     <Compile Include="Services\UserSettingService.cs" />\r
     <Compile Include="Startup\StartupOptions.cs" />\r
     <Compile Include="Utilities\AppcastReader.cs" />\r
+    <Compile Include="Utilities\BitmapUtilities.cs" />\r
     <Compile Include="Utilities\DelayedActionProcessor.cs" />\r
     <Compile Include="Utilities\DPIAwareness.cs" />\r
     <Compile Include="Utilities\DriveUtilities.cs" />\r
index 2d875ca0c3445ad12a919f89093a76b85d6d7ffb..ea81a9c03f929d55c7a94c479cb46f47db05ccbb 100644 (file)
@@ -31,6 +31,7 @@ namespace HandBrakeWPF.Services.Scan
     using HandBrakeWPF.Services.Scan.EventArgs;
     using HandBrakeWPF.Services.Scan.Interfaces;
     using HandBrakeWPF.Services.Scan.Model;
+    using HandBrakeWPF.Utilities;
 
     using Chapter = HandBrakeWPF.Services.Scan.Model.Chapter;
     using ScanProgressEventArgs = HandBrake.ApplicationServices.Interop.EventArgs.ScanProgressEventArgs;
@@ -201,7 +202,7 @@ namespace HandBrakeWPF.Services.Scan
                                                    PixelAspectY = job.PixelAspectY
                                                };
 
-                bitmapImage = this.instance.GetPreview(settings, preview);
+                bitmapImage = BitmapUtilities.ConvertToBitmapImage(this.instance.GetPreview(settings, preview));
             }
             catch (AccessViolationException e)
             {
diff --git a/win/CS/HandBrakeWPF/Utilities/BitmapUtilities.cs b/win/CS/HandBrakeWPF/Utilities/BitmapUtilities.cs
new file mode 100644 (file)
index 0000000..bc0f300
--- /dev/null
@@ -0,0 +1,56 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="BitmapUtilities.cs" company="HandBrake Project (http://handbrake.fr)">
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+//   Defines the BitmapUtilities type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Utilities
+{
+    using System.Drawing;
+    using System.Drawing.Imaging;
+    using System.IO;
+    using System.Windows.Media.Imaging;
+
+    /// <summary>
+    /// The bitmap utilities.
+    /// </summary>
+    public class BitmapUtilities
+    {
+        /// <summary>
+        /// Convert a Bitmap to a BitmapImagetype.
+        /// </summary>
+        /// <param name="bitmap">
+        /// The bitmap.
+        /// </param>
+        /// <returns>
+        /// The <see cref="BitmapImage"/>.
+        /// </returns>
+        public static BitmapImage ConvertToBitmapImage(Bitmap bitmap)
+        {
+            // Create a Bitmap Image for display.
+            using (var memoryStream = new MemoryStream())
+            {
+                try
+                {
+                    bitmap.Save(memoryStream, ImageFormat.Bmp);
+                }
+                finally
+                {
+                    bitmap.Dispose();
+                }
+
+                var wpfBitmap = new BitmapImage();
+                wpfBitmap.BeginInit();
+                wpfBitmap.CacheOption = BitmapCacheOption.OnLoad;
+                wpfBitmap.StreamSource = memoryStream;
+                wpfBitmap.EndInit();
+                wpfBitmap.Freeze();
+
+                return wpfBitmap;
+            }
+        }
+    }
+}