Screen background
This commit is contained in:
@@ -7,6 +7,8 @@ module('screen')
|
||||
module('time')
|
||||
|
||||
camera = cameraCreate(CAMERA_PROJECTION_TYPE_ORTHOGRAPHIC)
|
||||
text = "Hello World"
|
||||
screenSetBackground(colorBlack())
|
||||
|
||||
function sceneDispose()
|
||||
end
|
||||
@@ -14,7 +16,6 @@ end
|
||||
function sceneUpdate()
|
||||
end
|
||||
|
||||
text = "Hello World"
|
||||
|
||||
function sceneRender()
|
||||
cameraPushMatrix(camera)
|
||||
|
||||
@@ -120,7 +120,7 @@ errorret_t displayUpdate(void) {
|
||||
screenBind();
|
||||
frameBufferClear(
|
||||
FRAMEBUFFER_CLEAR_COLOR | FRAMEBUFFER_CLEAR_DEPTH,
|
||||
COLOR_CORNFLOWER_BLUE
|
||||
SCREEN.background
|
||||
);
|
||||
errorChain(sceneRender());
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ screen_t SCREEN;
|
||||
void screenInit() {
|
||||
memoryZero(&SCREEN, sizeof(screen_t));
|
||||
|
||||
SCREEN.background = COLOR_CORNFLOWER_BLUE;
|
||||
|
||||
#if DISPLAY_SIZE_DYNAMIC == 1
|
||||
SCREEN.mode = SCREEN_MODE_FIXED_VIEWPORT_HEIGHT;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "display/framebuffer.h"
|
||||
#include "display/camera/camera.h"
|
||||
#include "display/mesh/quad.h"
|
||||
#include "display/color.h"
|
||||
|
||||
#if DISPLAY_SIZE_DYNAMIC == 1
|
||||
#ifndef DISPLAY_SCREEN_HEIGHT_DEFAULT
|
||||
@@ -44,6 +45,7 @@ typedef struct {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
float_t aspect;
|
||||
color_t background;
|
||||
|
||||
#if DISPLAY_SIZE_DYNAMIC == 1
|
||||
framebuffer_t framebuffer;
|
||||
|
||||
@@ -14,6 +14,7 @@ void moduleScreen(scriptcontext_t *context) {
|
||||
|
||||
lua_register(context->luaState, "screenGetWidth", moduleScreenGetWidth);
|
||||
lua_register(context->luaState, "screenGetHeight", moduleScreenGetHeight);
|
||||
lua_register(context->luaState, "screenSetBackground", moduleScreenSetBackground);
|
||||
}
|
||||
|
||||
int moduleScreenGetWidth(lua_State *L) {
|
||||
@@ -26,4 +27,17 @@ int moduleScreenGetHeight(lua_State *L) {
|
||||
assertNotNull(L, "Lua state is null");
|
||||
lua_pushinteger(L, SCREEN.height);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int moduleScreenSetBackground(lua_State *L) {
|
||||
assertNotNull(L, "Lua state is null");
|
||||
|
||||
if(!lua_isuserdata(L, 1)) {
|
||||
luaL_error(L, "Screen background color must be a color struct");
|
||||
return 0;
|
||||
}
|
||||
|
||||
color_t *color = (color_t*)luaL_checkudata(L, 1, "color_mt");
|
||||
SCREEN.background = *color;
|
||||
return 0;
|
||||
}
|
||||
@@ -29,4 +29,12 @@ int moduleScreenGetWidth(lua_State *L);
|
||||
* @param L The Lua state.
|
||||
* @return Count of return values.
|
||||
*/
|
||||
int moduleScreenGetHeight(lua_State *L);
|
||||
int moduleScreenGetHeight(lua_State *L);
|
||||
|
||||
/**
|
||||
* Sets the screen background color.
|
||||
*
|
||||
* @param L The Lua state.
|
||||
* @return Count of return values.
|
||||
*/
|
||||
int moduleScreenSetBackground(lua_State *L);
|
||||
Reference in New Issue
Block a user