_FourShorts _GiveStartEndHorColumns_And_StartEndHorRows(short __diffY, short __diffX, bool __verRight, bool __horDown, _TwoShorts __startEndVerColumns, _FourShorts __startXY_EndXY) { _FourShorts __startEndHorColumns_And_StartEndHorRows = new _FourShorts(0, 0, 0, 0); if (__horDown) { if (__diffX != 0) { if (__verRight) { __startEndHorColumns_And_StartEndHorRows = new _FourShorts(__startXY_EndXY.short_1, __startEndVerColumns.short_1, // start, End Horizontal COLUMNS (short)(__startXY_EndXY.short_4 - __diffY + 1), (short)(__startXY_EndXY.short_4 + 1)); // start, End Horizontal ROWS } else { __startEndHorColumns_And_StartEndHorRows = new _FourShorts( (short)(__startEndVerColumns.short_2), (short)(__startXY_EndXY.short_3 + 1), (short)(__startXY_EndXY.short_4 - __diffY + 1), (short)(__startXY_EndXY.short_4 + 1)); } } else { __startEndHorColumns_And_StartEndHorRows = new _FourShorts( __startXY_EndXY.short_1, (short)(__startXY_EndXY.short_3 + 1), (short)(__startXY_EndXY.short_4 - __diffY + 1), (short)(__startXY_EndXY.short_4 + 1)); } } else { if (__diffX != 0) { if (__verRight) { __startEndHorColumns_And_StartEndHorRows = new _FourShorts(__startXY_EndXY.short_1, __startEndVerColumns.short_1, __startXY_EndXY.short_2, (short)(__startXY_EndXY.short_2 + __diffY)); } else { __startEndHorColumns_And_StartEndHorRows = new _FourShorts(__startEndVerColumns.short_2, (short)(__startXY_EndXY.short_3 + 1), __startXY_EndXY.short_2, (short)(__startXY_EndXY.short_2 + __diffY)); } } else { __startEndHorColumns_And_StartEndHorRows = new _FourShorts(__startXY_EndXY.short_1, (short)(__startXY_EndXY.short_3 + 1), __startXY_EndXY.short_2, (short)(__startXY_EndXY.short_2 + __diffY)); } } return(__startEndHorColumns_And_StartEndHorRows); }
/// <summary> /// First we deleting whole colums and then whole rows, or partly. /// </summary> /// <param name="__diffY"></param> /// <param name="__diffX"></param> /// <param name="__verRight">Adding on the right ?</param> /// <param name="__horDown">Adding at the bottom ?</param> void _DeleteOldTiles_V2(short __diffY, short __diffX, bool __verRight, bool __horDown) { _FourShorts __last_StartXY_EndXY = new _FourShorts(_lastStartX, _lastStartY, _lastEndX, _lastEndY); _TwoShorts __startEndVerColumns = new _TwoShorts(0, 0); if (__diffX != 0) { __startEndVerColumns = _GiveStartEndVerColumn(__diffX, __verRight, new _TwoShorts(__last_StartXY_EndXY.short_1, __last_StartXY_EndXY.short_3)); _DeleteTiles(__startEndVerColumns.short_1, __startEndVerColumns.short_2, _lastStartY, (short)(_lastEndY + 1)); } if (__diffY != 0) { _FourShorts __startEndHorColumns_And_StartEndHorRows = _GiveStartEndHorColumns_And_StartEndHorRows(__diffY, __diffX, __verRight, __horDown, __startEndVerColumns, __last_StartXY_EndXY); _DeleteTiles(__startEndHorColumns_And_StartEndHorRows.short_1, __startEndHorColumns_And_StartEndHorRows.short_2, __startEndHorColumns_And_StartEndHorRows.short_3, __startEndHorColumns_And_StartEndHorRows.short_4); } }