Define a grid size to snap onto. A grid of 1x1 gives us a pixel by pixel grid. But we usually want to have 5, 10, 50, 100 or something like that.

This commit is contained in:
Tim Young 2017-09-15 19:21:46 -05:00
parent 23814be473
commit 72f1c3ac79
2 changed files with 13 additions and 4 deletions

View File

@ -26,6 +26,7 @@ namespace SpriteLibrary
List<ImageStruct> TheImages = new List<ImageStruct>();
ResourceManager myResourceManager = null;
string Filename = "";
Size SnapGridSize = new Size(5, 5);
public SpriteDatabase(ResourceManager theResourceManager, string filename)
{
@ -39,6 +40,14 @@ namespace SpriteLibrary
LoadSpriteInfo();
}
public void SetSnapGridSize(Size GridSize)
{
if (GridSize.Width <= 0) return;
if (GridSize.Height <= 0) return;
if (GridSize.Width > 500) return;
if (GridSize.Height > 500) return;
SnapGridSize = GridSize;
}
//*******************************
//**** Sprite Info Functions ***
@ -83,7 +92,7 @@ namespace SpriteLibrary
public void OpenEditWindow(int FirstItemIndex=-1)
{
SpriteEntryForm SEF = new SpriteEntryForm(myResourceManager, SpriteInfoList);
SpriteEntryForm SEF = new SpriteEntryForm(myResourceManager, SpriteInfoList, SnapGridSize);
SEF.ShowDialog();
//Use the updated list returned from the form.
SpriteInfoList.Clear();

View File

@ -11,11 +11,9 @@ using System.Xml.Serialization;
using System.IO;
using System.Resources;
using System.Windows.Forms;
using System.Windows;
using System.Collections;
namespace SpriteLibrary
{
internal partial class SpriteEntryForm : Form
@ -23,12 +21,14 @@ namespace SpriteLibrary
SpriteController MyController;
ResourceManager myResources = null;
List<SpriteInfo> SpriteInformation = new List<SpriteInfo>();
Size SnapGridSize = new Size(5,5);
internal SpriteEntryForm(ResourceManager theResourceManager, List<SpriteInfo> ListToWorkOn)
internal SpriteEntryForm(ResourceManager theResourceManager, List<SpriteInfo> ListToWorkOn, Size GridSize)
{
InitializeComponent();
if (theResourceManager == null) throw new Exception("NullException: The ResourceManager passed to the SpriteEntryForm cannot be null. Pass it Properties.Resources.ResourceManager");
myResources = theResourceManager;
SnapGridSize = GridSize;
LocalSetup();
SpriteInformation.AddRange(ListToWorkOn);
}