Treefrog.Framework.Model.TileGridLayer.RequestNewSize C# (CSharp) Method

RequestNewSize() public method

public RequestNewSize ( int originX, int originY, int pixelsWide, int pixelsHigh ) : void
originX int
originY int
pixelsWide int
pixelsHigh int
return void
        public override void RequestNewSize(int originX, int originY, int pixelsWide, int pixelsHigh)
        {
            if (pixelsWide <= 0 || pixelsHigh <= 0) {
                throw new ArgumentException("New layer dimensions must be greater than 0.");
            }

            int tileX = (int)Math.Floor(originX * 1.0 / TileWidth);
            int tileY = (int)Math.Floor(originY * 1.0 / TileHeight);

            int tilesW = (int)Math.Ceiling((originX + pixelsWide) * 1.0 / TileWidth) - tileX;
            int tilesH = (int)Math.Ceiling((originY + pixelsHigh) * 1.0 / TileHeight) - tileY;

            if (tileX != _tileOriginX || tileY != _tileOriginY || tilesW != _tilesWide || tilesH != _tilesHigh) {
                ResizeLayer(tileX, tileY, tilesW, tilesH);

                _tileOriginX = tileX;
                _tileOriginY = tileY;
                _tilesWide = tilesW;
                _tilesHigh = tilesH;

                OnLayerSizeChanged(EventArgs.Empty);
            }
        }