native-canvas
Version:
A canvas library allows for a HTML canvas to run natively on NodeJs, without a WebBrowser
87 lines • 3.33 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var sdl_texture_1 = require("./sdl-texture");
var rgba_1 = require("../color/rgba");
var sdl_1 = require("../sdl");
var SdlRenderer = /** @class */ (function () {
function SdlRenderer(_rendererPtr) {
this._rendererPtr = _rendererPtr;
this._color = rgba_1.Rgba.createWhite();
this._size = sdl_1.SDL_RenderGetLogicalSize(this._rendererPtr);
}
SdlRenderer.prototype.destroy = function () {
sdl_1.SDL_DestroyRenderer(this._rendererPtr);
};
SdlRenderer.prototype.clear = function () {
sdl_1.SDL_RenderClear(this._rendererPtr);
};
SdlRenderer.prototype.copy = function (tt, src, dest) {
sdl_1.SDL_RenderCopy(this._rendererPtr, tt._texturePtr, src, dest);
};
SdlRenderer.prototype.present = function () {
sdl_1.SDL_RenderPresent(this._rendererPtr);
};
SdlRenderer.prototype.createTexture = function (w, h, access, format) {
if (access === void 0) { access = 2; }
return sdl_texture_1.SdlTexture.createTexture(this.rendererPtr, w, h, access, format);
};
Object.defineProperty(SdlRenderer.prototype, "color", {
get: function () {
// SDL_GetRenderDrawColor(this._rendererPtr, this._color);
return this._color;
},
set: function (rgba) {
this._color = rgba;
sdl_1.SDL_SetRenderDrawColor(this._rendererPtr, rgba.r, rgba.g, rgba.b, rgba.a);
},
enumerable: true,
configurable: true
});
Object.defineProperty(SdlRenderer.prototype, "size", {
get: function () {
return this._size;
},
set: function (size) {
this._size = size;
sdl_1.SDL_RenderSetLogicalSize(this._rendererPtr, size.w, size.h);
},
enumerable: true,
configurable: true
});
Object.defineProperty(SdlRenderer.prototype, "target", {
get: function () {
var texturePtr = sdl_1.SDL_GetRenderTarget(this._rendererPtr);
return new sdl_texture_1.SdlTexture(texturePtr);
},
set: function (texture) {
if (texture === null) {
sdl_1.SDL_SetRenderTarget(this._rendererPtr, null);
}
else {
sdl_1.SDL_SetRenderTarget(this._rendererPtr, texture._texturePtr);
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(SdlRenderer.prototype, "rendererPtr", {
get: function () {
return this._rendererPtr;
},
enumerable: true,
configurable: true
});
SdlRenderer.createRenderer = function (windowPtr, driver) {
/*tslint:disable*/
var renderPtr = sdl_1.SDL_CreateRenderer(windowPtr, driver, sdl_1.SDL_RendererFlags.SDL_RENDERER_ACCELERATED | sdl_1.SDL_RendererFlags.SDL_RENDERER_PRESENTVSYNC);
/*tslint:enable*/
return new SdlRenderer(renderPtr);
};
SdlRenderer.createSoftwareRenderer = function (windowPtr, surfacePtr) {
var renderPtr = sdl_1.SDL_CreateSoftwareRenderer(surfacePtr);
return new SdlRenderer(renderPtr);
};
return SdlRenderer;
}());
exports.SdlRenderer = SdlRenderer;
//# sourceMappingURL=sdl-renderer.js.map
;