int g_grid_power = GridPower_forGridDefault(g_grid_default);
+bool g_grid_snap = true;
+
int Grid_getPower()
{
return g_grid_power;
float g_gridsize = GridSize_forGridPower(g_grid_power);
+float GetSnapGridSize()
+{
+ return g_grid_snap ? g_gridsize : 0;
+}
+
float GetGridSize()
{
return g_gridsize;
void setGridPower(GridPower power)
{
+ g_grid_snap = true;
g_gridsize = GridSize_forGridPower(power);
g_gridMenu0125.m_item.update();
void GridPrev()
{
+ g_grid_snap = true;
if(g_grid_power > GRIDPOWER_0125)
{
setGridPower(static_cast<GridPower>(--g_grid_power));
void GridNext()
{
+ g_grid_snap = true;
if(g_grid_power < GRIDPOWER_256)
{
setGridPower(static_cast<GridPower>(++g_grid_power));
}
}
+void ToggleGridSnap()
+{
+ g_grid_snap = !g_grid_snap;
+ GridChangeNotify();
+}
void Grid_registerCommands()
{
GlobalCommands_insert("GridDown", FreeCaller<GridPrev>(), Accelerator('['));
GlobalCommands_insert("GridUp", FreeCaller<GridNext>(), Accelerator(']'));
+ GlobalCommands_insert("ToggleGridSnap", FreeCaller<ToggleGridSnap>());
+
GlobalToggles_insert("SetGrid0.125", GridMenuItem::SetCaller(g_gridMenu0125), ToggleItem::AddCallbackCaller(g_gridMenu0125.m_item));
GlobalToggles_insert("SetGrid0.25", GridMenuItem::SetCaller(g_gridMenu025), ToggleItem::AddCallbackCaller(g_gridMenu025.m_item));
GlobalToggles_insert("SetGrid0.5", GridMenuItem::SetCaller(g_gridMenu05), ToggleItem::AddCallbackCaller(g_gridMenu05.m_item));
command_connect_accelerator("ToggleGrid");
command_connect_accelerator("GridDown");
command_connect_accelerator("GridUp");
+ command_connect_accelerator("ToggleGridSnap");
}
void Grid_constructPreferences(PreferencesPage& page)