From 64ac2da9ddca41da82486e31ea6e36bee96ac422 Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Mon, 27 Aug 2012 09:12:20 +0000 Subject: [PATCH] Started to implement texture part of the ContentPipeline. --- .../ANX.Framework.Content.Pipeline.csproj | 4 +- .../Importer/TextureImporter.cs | 53 ++++++++ .../Processors/TextureProcessor.cs | 4 +- .../GraphicTypeWriters/TextureWriter.cs | 38 ++++++ .../Tasks/BuildContent.cs | 20 +++ ....InpuDevices.Windows.ModernUI_Linux.csproj | 122 +++++++++++++++++ ...InpuDevices.Windows.ModernUI_PSVita.csproj | 123 +++++++++++++++++ ...vices.Windows.ModernUI_WindowsMetro.csproj | 128 ++++++++++++++++++ ...ANX.SoundSystem.PsVita_WindowsMetro.csproj | 66 +++++++++ 9 files changed, 556 insertions(+), 2 deletions(-) create mode 100644 ANX.Framework.Content.Pipeline/Importer/TextureImporter.cs create mode 100644 ANX.Framework.Content.Pipeline/Serialization/Compiler/GraphicTypeWriters/TextureWriter.cs create mode 100644 InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_Linux.csproj create mode 100644 InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_PSVita.csproj create mode 100644 InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_WindowsMetro.csproj create mode 100644 SoundSystems/ANX.SoundSystem.PsVita/ANX.SoundSystem.PsVita_WindowsMetro.csproj diff --git a/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj b/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj index 631d2ea2..da46e245 100644 --- a/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj +++ b/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj @@ -32,6 +32,7 @@ + @@ -102,6 +103,7 @@ + @@ -142,6 +144,7 @@ + @@ -172,7 +175,6 @@ - diff --git a/ANX.Framework.Content.Pipeline/Importer/TextureImporter.cs b/ANX.Framework.Content.Pipeline/Importer/TextureImporter.cs new file mode 100644 index 00000000..b46fd8f8 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Importer/TextureImporter.cs @@ -0,0 +1,53 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.Content.Pipeline.Graphics; +using ANX.Framework.Content; +using System.IO; +using System.Drawing; + +#endregion + +// This file is part of the ANX.Framework created by the +// "ANX.Framework developer group" and released under the Ms-PL license. +// For details see: http://anxframework.codeplex.com/license + +namespace ANX.Framework.Content.Pipeline.Importer +{ + [ContentImporter(new string[] { ".bmp", ".jpg", ".jpeg", ".png", ".wdp", ".gif", ".tif" }, DefaultProcessor = "SpriteTextureProcessor")] + public class TextureImporter : ContentImporter + { + public override TextureContent Import(string filename, ContentImporterContext context) + { + string fileExtension = Path.GetExtension(filename).ToLowerInvariant(); + + Image image = Bitmap.FromFile(filename); + Bitmap bitmap = new Bitmap(image); + PixelBitmapContent bitmapContent = new PixelBitmapContent(image.Width, image.Height); + System.Drawing.Color sourceColor; + ANX.Framework.Color destColor = new Color(); + + for (int x = 0; x < image.Width; x++) + { + for (int y = 0; y < image.Height; y++) + { + sourceColor = bitmap.GetPixel(x, y); + + destColor.R = sourceColor.R; + destColor.G = sourceColor.G; + destColor.B = sourceColor.B; + destColor.A = sourceColor.A; + + bitmapContent.SetPixel(x, y, destColor); + } + } + + TextureContent textureContent = new Texture2DContent(); + textureContent.Faces.Add(new MipmapChain(bitmapContent)); + + return textureContent; + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Processors/TextureProcessor.cs b/ANX.Framework.Content.Pipeline/Processors/TextureProcessor.cs index eed6a8cf..b3c83227 100644 --- a/ANX.Framework.Content.Pipeline/Processors/TextureProcessor.cs +++ b/ANX.Framework.Content.Pipeline/Processors/TextureProcessor.cs @@ -27,7 +27,9 @@ namespace ANX.Framework.Content.Pipeline.Processors public override TextureContent Process(TextureContent input, ContentProcessorContext context) { - throw new NotImplementedException(); + //TODO: implement + System.Diagnostics.Debugger.Break(); + return input; } } } diff --git a/ANX.Framework.Content.Pipeline/Serialization/Compiler/GraphicTypeWriters/TextureWriter.cs b/ANX.Framework.Content.Pipeline/Serialization/Compiler/GraphicTypeWriters/TextureWriter.cs new file mode 100644 index 00000000..2defd4a2 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Serialization/Compiler/GraphicTypeWriters/TextureWriter.cs @@ -0,0 +1,38 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.Content.Pipeline.Graphics; +using System.Reflection; +using ANX.Framework.Graphics; + +#endregion + +// This file is part of the ANX.Framework created by the +// "ANX.Framework developer group" and released under the Ms-PL license. +// For details see: http://anxframework.codeplex.com/license + +namespace ANX.Framework.Content.Pipeline.Serialization.Compiler +{ + [ContentTypeWriter] + internal class TextureWriter : BuiltinTypeWriter + { + protected override Assembly RuntimeAssembly + { + get + { + return typeof(Texture).Assembly; + } + } + + protected internal override void Write(ContentWriter output, TextureContent value) + { + } + + public override string GetRuntimeType(TargetPlatform targetPlatform) + { + return ContentTypeWriter.GetStrongTypeName(typeof(Texture), targetPlatform); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Tasks/BuildContent.cs b/ANX.Framework.Content.Pipeline/Tasks/BuildContent.cs index 57f92957..da46c41f 100644 --- a/ANX.Framework.Content.Pipeline/Tasks/BuildContent.cs +++ b/ANX.Framework.Content.Pipeline/Tasks/BuildContent.cs @@ -132,6 +132,7 @@ namespace ANX.Framework.Content.Pipeline.Tasks if (String.IsNullOrEmpty(item.ProcessorName) == false) { IContentProcessor instance = this.ProcessorManager.GetInstance(item.ProcessorName); + SetProcessorParameters(instance, item.ProcessorParameters); ContentProcessorContext context = new AnxContentProcessorContext(item, BuildLogger, TargetPlatform, TargetProfile, ""); context.OutputDirectory = OutputDirectory; context.OutputFilename = item.OutputFilename; @@ -155,5 +156,24 @@ namespace ANX.Framework.Content.Pipeline.Tasks //this.rebuiltFiles.Add(outputFilename); } + private void SetProcessorParameters(IContentProcessor instance, OpaqueDataDictionary parameters) + { + if (instance == null) + { + throw new ArgumentNullException("instance"); + } + + if (parameters == null) + { + throw new ArgumentNullException("parameters"); + } + + if (parameters.Count == 0) + { + return; + } + + throw new NotImplementedException(); + } } } diff --git a/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_Linux.csproj b/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_Linux.csproj new file mode 100644 index 00000000..03caf40a --- /dev/null +++ b/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_Linux.csproj @@ -0,0 +1,122 @@ + + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {F5819204-4882-4F33-B973-DE6762C9682F} + Library + Properties + ANX.InpuDevices.Windows.ModernUI + ANX.InpuDevices.Windows.ModernUI + de-DE + 512 + + + true + full + false + bin\Debug\ + NETFX_CORE;TRACE;DEBUG;LINUX; + prompt + 4 + + + pdbonly + true + bin\Release\ + NETFX_CORE;TRACE;LINUX; + prompt + 4 + + + true + bin\ARM\Debug\ + NETFX_CORE;TRACE;DEBUG;LINUX; + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + NETFX_CORE;TRACE;LINUX; + true + ;2008 + pdbonly + ARM + false + prompt + true + + + true + bin\x64\Debug\ + NETFX_CORE;TRACE;DEBUG;LINUX; + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + NETFX_CORE;TRACE;LINUX; + true + ;2008 + pdbonly + x64 + false + prompt + true + + + true + bin\x86\Debug\ + NETFX_CORE;TRACE;DEBUG;LINUX; + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + NETFX_CORE;TRACE;LINUX; + true + ;2008 + pdbonly + x86 + false + prompt + true + + + + + {6899f0c9-70b9-4eb0-9dd3-e598d4be3e35} + ANX.Framework_WindowsMetro + + + + + + + + 11.0 + + + + \ No newline at end of file diff --git a/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_PSVita.csproj b/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_PSVita.csproj new file mode 100644 index 00000000..7a2f5c46 --- /dev/null +++ b/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_PSVita.csproj @@ -0,0 +1,123 @@ + + + + + Debug + AnyCPU + 10.0.0 + 2.0 + {F5819204-4882-4F33-B973-DE6762C9682F} + Library + Properties + ANX.InpuDevices.Windows.ModernUI + ANX.InpuDevices.Windows.ModernUI + de-DE + 512 + {69878862-DA7D-4DC6-B0A1-50D8FAB4242F};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + true + full + false + bin\Debug\ + NETFX_CORE;TRACE;DEBUG;PSVITA; + prompt + 4 + + + pdbonly + true + bin\Release\ + NETFX_CORE;TRACE;PSVITA; + prompt + 4 + + + true + bin\ARM\Debug\ + NETFX_CORE;TRACE;DEBUG;PSVITA; + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + NETFX_CORE;TRACE;PSVITA; + true + ;2008 + pdbonly + ARM + false + prompt + true + + + true + bin\x64\Debug\ + NETFX_CORE;TRACE;DEBUG;PSVITA; + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + NETFX_CORE;TRACE;PSVITA; + true + ;2008 + pdbonly + x64 + false + prompt + true + + + true + bin\x86\Debug\ + NETFX_CORE;TRACE;DEBUG;PSVITA; + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + NETFX_CORE;TRACE;PSVITA; + true + ;2008 + pdbonly + x86 + false + prompt + true + + + + + {6899f0c9-70b9-4eb0-9dd3-e598d4be3e35} + ANX.Framework_WindowsMetro + + + + + + + + 11.0 + + + + \ No newline at end of file diff --git a/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_WindowsMetro.csproj b/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_WindowsMetro.csproj new file mode 100644 index 00000000..067be321 --- /dev/null +++ b/InputSystems/ANX.InpuDevices.Windows.ModernUI/ANX.InpuDevices.Windows.ModernUI_WindowsMetro.csproj @@ -0,0 +1,128 @@ + + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {F5819204-4882-4F33-B973-DE6762C9682F} + Library + Properties + ANX.InpuDevices.Windows.ModernUI + ANX.InpuDevices.Windows.ModernUI + en-US + 512 + {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Test_TemporaryKey.pfx + + + true + full + false + bin\Debug\ + NETFX_CORE;TRACE;DEBUG;WINDOWSMETRO; + prompt + 4 + + + pdbonly + true + bin\Release\ + NETFX_CORE;TRACE;WINDOWSMETRO; + prompt + 4 + + + true + bin\ARM\Debug\ + NETFX_CORE;TRACE;DEBUG;WINDOWSMETRO; + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + NETFX_CORE;TRACE;WINDOWSMETRO; + true + ;2008 + pdbonly + ARM + false + prompt + true + + + true + bin\x64\Debug\ + NETFX_CORE;TRACE;DEBUG;WINDOWSMETRO; + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + NETFX_CORE;TRACE;WINDOWSMETRO; + true + ;2008 + pdbonly + x64 + false + prompt + true + + + true + bin\x86\Debug\ + NETFX_CORE;TRACE;DEBUG;WINDOWSMETRO; + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + NETFX_CORE;TRACE;WINDOWSMETRO; + true + ;2008 + pdbonly + x86 + false + prompt + true + + + + + {6899f0c9-70b9-4eb0-9dd3-e598d4be3e35} + ANX.Framework_WindowsMetro + + + + + + + + 11.0 + + + + + 11.0 + + + \ No newline at end of file diff --git a/SoundSystems/ANX.SoundSystem.PsVita/ANX.SoundSystem.PsVita_WindowsMetro.csproj b/SoundSystems/ANX.SoundSystem.PsVita/ANX.SoundSystem.PsVita_WindowsMetro.csproj new file mode 100644 index 00000000..9e00813b --- /dev/null +++ b/SoundSystems/ANX.SoundSystem.PsVita/ANX.SoundSystem.PsVita_WindowsMetro.csproj @@ -0,0 +1,66 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94} + Library + Properties + ANX.SoundSystem.PsVita + ANX.SoundSystem.PsVita + 512 + {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + en-US + Test_TemporaryKey.pfx + + + true + full + false + bin\Debug\ + TRACE;DEBUG;WINDOWSMETRO; + prompt + 4 + x86 + + + pdbonly + true + bin\Release\ + TRACE;WINDOWSMETRO; + prompt + 4 + x86 + + + + + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Psm\v1.0\Sce.PlayStation.Core.dll + + + + + + + + + + {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} + ANX.Framework + + + + + + 11.0 + + + \ No newline at end of file