| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // Feather disable all
- /// @param bulbRenderer
- /// @param surface
- /// @param [x]
- /// @param [y]
- /// @param [width]
- /// @param [height]
- /// @param [textureFiltering]
- /// @param [alphaBlend=false]
- function BulbDrawLitSurface(_renderer, _surface, _x = undefined, _y = undefined, _width = undefined, _height = undefined, _textureFiltering = undefined, _alphaBlend = false)
- {
- if (surface_get_target() == _surface)
- {
- __BulbError("Cannot call BulbDrawLitSurface() when the destination surface and drawn surface are the same\nIf you are drawing the application surface, use a Post-Draw event or GUI draw event");
- }
-
- if ((_x == undefined) || (_y == undefined) || (_width == undefined) || (_height == undefined))
- {
- var _positionArray = application_get_position();
- _x = _positionArray[0];
- _y = _positionArray[1];
- _width = _positionArray[2] - _x;
- _height = _positionArray[3] - _y;
- }
-
- if (_renderer == undefined)
- {
- if (_textureFiltering != undefined)
- {
- var _oldTextureFiltering = gpu_get_tex_filter();
- gpu_set_tex_filter(_textureFiltering);
- }
-
- if (_alphaBlend != undefined)
- {
- var _oldAlphaBlend = gpu_get_blendenable();
- gpu_set_blendenable(_alphaBlend);
- }
-
- draw_surface_stretched(_surface, _x, _y, _width, _height);
-
- if (_textureFiltering != undefined)
- {
- gpu_set_tex_filter(_oldTextureFiltering);
- }
-
- if (_alphaBlend != undefined)
- {
- gpu_set_blendenable(_oldAlphaBlend);
- }
- }
- else
- {
- _renderer.DrawLitSurface(_surface, _x, _y, _width, _height, _textureFiltering, _alphaBlend);
- }
- }
|