diff --git a/src/ncomplib.c b/src/ncomplib.c index 741fbd1..a022bb4 100644 --- a/src/ncomplib.c +++ b/src/ncomplib.c @@ -3234,11 +3234,23 @@ void ncl_getScreenResolution(const ncl_ScreenState *state, size_t *width, size_t *height = state->height; } +void ncl_setScreenResolution(ncl_ScreenState *state, size_t width, size_t height) { + state->width = width; + state->height = height; + state->viewportWidth = width; + state->viewportHeight = height; +} + void ncl_getScreenViewport(const ncl_ScreenState *state, size_t *width, size_t *height) { *width = state->viewportWidth; *height = state->viewportHeight; } +void ncl_setScreenViewport(ncl_ScreenState *state, size_t width, size_t height) { + state->viewportWidth = width; + state->viewportHeight = height; +} + ncl_Pixel ncl_getScreenPixel(const ncl_ScreenState *state, int x, int y) { ncl_ScreenPixel p = ncl_getRealScreenPixel(state, x, y); return (ncl_Pixel) { diff --git a/src/ncomplib.h b/src/ncomplib.h index 7291ed3..b71fe06 100644 --- a/src/ncomplib.h +++ b/src/ncomplib.h @@ -332,7 +332,9 @@ void ncl_lockScreen(ncl_ScreenState *state); void ncl_unlockScreen(ncl_ScreenState *state); void ncl_resetScreen(ncl_ScreenState *state); void ncl_getScreenResolution(const ncl_ScreenState *state, size_t *width, size_t *height); +void ncl_setScreenResolution(ncl_ScreenState *state, size_t width, size_t height); void ncl_getScreenViewport(const ncl_ScreenState *state, size_t *width, size_t *height); +void ncl_setScreenViewport(ncl_ScreenState *state, size_t width, size_t height); ncl_Pixel ncl_getScreenPixel(const ncl_ScreenState *state, int x, int y); void ncl_setScreenPixel(ncl_ScreenState *state, int x, int y, nn_codepoint codepoint, int fg, int bg, bool isFgPalette, bool isBgPalette); ncl_ScreenFlags ncl_getScreenFlags(const ncl_ScreenState *state);