Merge branch 'develop' of git://github.com/xDarkice/Vocaluxe into develop

This commit is contained in:
Alexander Eckart committed 2013-02-10 17:09:55 +01:00
commit f9d7de5f76
4 files changed
+41 -17

No files matched your search

+4
View File
@@ -1187,6 +1187,8 @@ namespace Vocaluxe.Base
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(origin, new Rectangle(0, 0, w, h));
g.Dispose();
if (origin != null)
origin.Dispose();
byte[] data = new byte[w * h * 4];
@@ -1484,6 +1486,8 @@ namespace Vocaluxe.Base
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(origin, new Rectangle(0, 0, w, h));
g.Dispose();
if (origin != null)
origin.Dispose();
tex = CDraw.AddTexture(bmp);
byte[] data = new byte[w * h * 4];
+1
View File
@@ -178,6 +178,7 @@ namespace Vocaluxe.Base
Bitmap bmp = new Bitmap(origin, w, h);
STexture tex = _Draw.AddTexture(bmp);
bmp.Dispose();
origin.Dispose();
return tex;
}
+21 -16
View File
@@ -881,7 +881,9 @@ namespace Vocaluxe.Lib.Draw
CLog.LogError("Error loading Texture: " + TexturePath);
return new STexture(-1);
}
return AddTexture(bmp, TexturePath);
STexture s = AddTexture(bmp, TexturePath);
bmp.Dispose();
return s;
}
CLog.LogError("Can't find File: " + TexturePath);
return new STexture(-1);
@@ -944,23 +946,27 @@ namespace Vocaluxe.Lib.Draw
texture.w2 = (float)CheckForNextPowerOf2(w);
texture.h2 = (float)CheckForNextPowerOf2(h);
//Create a new Bitmap with the new sizes
Bitmap bmp2 = new Bitmap((int)texture.w2, (int)texture.h2);
//Scale the texture
Graphics g = Graphics.FromImage(bmp2);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height));
g.Dispose();
if (texture.w2 != bmp.Width || texture.h2 != bmp.Height)
{
//Create a new Bitmap with the new sizes
Bitmap bmp2 = new Bitmap((int)texture.w2, (int)texture.h2);
//Scale the texture
Graphics g = Graphics.FromImage(bmp2);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height));
g.Dispose();
bmp = bmp2;
}
texture.width_ratio = 1f;
texture.height_ratio = 1f;
//Fill the new Bitmap with the texture data
BitmapData bmp_data = bmp2.LockBits(new Rectangle(0, 0, bmp2.Width, bmp2.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
byte[] Data = new byte[4 * bmp2.Width * bmp2.Height];
BitmapData bmp_data = bmp.LockBits(new Rectangle(0, 0, (int)texture.w2, (int)texture.h2), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
byte[] Data = new byte[4 * (int)texture.w2 * (int)texture.h2];
Marshal.Copy(bmp_data.Scan0, Data, 0, Data.Length);
bmp2.UnlockBits(bmp_data);
bmp.UnlockBits(bmp_data);
//Create a new texture in the managed pool, which does not need to be recreated on a lost device
//because a copy of the texture is hold in the Ram
@@ -969,14 +975,13 @@ namespace Vocaluxe.Lib.Draw
DataRectangle rect = t.LockRectangle(0, LockFlags.Discard);
for (int i = 0; i < Data.Length; )
{
rect.Data.Write(Data, i, 4 * bmp2.Width);
i += 4 * bmp2.Width;
rect.Data.Position = rect.Data.Position - 4 * bmp2.Width;
rect.Data.Write(Data, i, 4 * (int)texture.w2);
i += 4 * (int)texture.w2;
rect.Data.Position = rect.Data.Position - 4 * (int)texture.w2;
rect.Data.Position += rect.Pitch;
}
t.UnlockRectangle(0);
bmp2.Dispose();
bmp_data = null;
// Add to Texture List
+15 -1
View File
@@ -207,6 +207,12 @@ namespace Vocaluxe.Screens
case Keys.Escape:
if ((CSongs.Category < 0 || _sso.Sorting.Tabs == EOffOn.TR_CONFIG_OFF) && !_sso.Selection.PartyMode && !_SearchActive)
CGraphics.FadeTo(EScreens.ScreenMain);
if (_SearchActive)
{
_SearchActive = false;
_SearchText = String.Empty;
ApplyNewSearchFilter(_SearchText);
}
break;
case Keys.Enter:
@@ -480,7 +486,15 @@ namespace Vocaluxe.Screens
return true;
}
if (CSongs.Category < 0 && !_sso.Selection.PartyMode)
if (_SearchActive)
{
_SearchActive = false;
_SearchText = String.Empty;
ApplyNewSearchFilter(_SearchText);
return true;
}
if (CSongs.Category < 0 && !_sso.Selection.PartyMode && !_SearchActive)
{
CGraphics.FadeTo(EScreens.ScreenMain);
return true;