#include "null.h"
 
 
 
// todo: shouldnt depend on sdl...
 
#include <SDL.h>
 
 
 
static void* null_create_window_and_renderer(char* title, int x, int y, int width, int height) {
 
    return 0;
 
}
 
 
 
static int null_set_window_pos(void* hWnd, int x, int y, int nWidth, int nHeight) {
 
    return 0;
 
}
 
 
 
static void null_destroy_window(void* hWnd) {
 
}
 
 
 
static int null_show_error_message(void* window, char* text, char* caption) {
 
    return 0;
 
}
 
 
 
static int null_get_and_handle_message(MSG_* msg) {
 
    return 0;
 
}
 
 
 
static void null_swap_window(void) {
 
}
 
 
 
static void null_get_keyboard_state(unsigned int count, uint8_t* buffer) {
 
}
 
 
 
static int null_get_mouse_buttons(int* pButton1, int* pButton2) {
 
    return 0;
 
}
 
 
 
static int null_get_mouse_position(int* pX, int* pY) {
 
    return 0;
 
}
 
 
 
static int null_show_cursor(int show) {
 
    return 0;
 
}
 
 
 
static void NullRenderer_BeginScene(br_actor* camera, br_pixelmap* colour_buffer, br_pixelmap* depth_buffer) {
 
}
 
 
 
static void NullRenderer_EndScene(void) {
 
}
 
 
 
static void NullRenderer_SetPalette(PALETTEENTRY_* palette) {
 
}
 
 
 
static void NullRenderer_FullScreenQuad(uint8_t* src) {
 
}
 
 
 
static void NullRenderer_Model(br_actor* actor, br_model* model, br_material* material, br_token render_type, br_matrix34 model_matrix) {
 
}
 
 
 
static void NullRenderer_ClearBuffers(void) {
 
}
 
 
 
static void NullRenderer_BufferTexture(br_pixelmap* pm) {
 
}
 
 
 
static void NullRenderer_BufferMaterial(br_material* mat) {
 
}
 
 
 
static void NullRenderer_BufferModel(br_model* model) {
 
}
 
 
 
static void NullRenderer_FlushBuffers(void) {
 
}
 
 
 
static void NullRenderer_SetViewport(int x, int y, int width, int height) {
 
}
 
 
 
void Null_Platform_Init(tHarness_platform* platform) {
 
    platform->ProcessWindowMessages = null_get_and_handle_message;
 
    // todo: shouldnt depend on sdl...
 
    platform->Sleep = SDL_Delay;
 
    platform->GetTicks = SDL_GetTicks;
 
    platform->CreateWindowAndRenderer = null_create_window_and_renderer;
 
    platform->ShowCursor = null_show_cursor;
 
    platform->SetWindowPos = null_set_window_pos;
 
    platform->SwapWindow = null_swap_window;
 
    platform->DestroyWindow = null_destroy_window;
 
    platform->GetKeyboardState = null_get_keyboard_state;
 
    platform->GetMousePosition = null_get_mouse_position;
 
    platform->GetMouseButtons = null_get_mouse_buttons;
 
    platform->DestroyWindow = null_destroy_window;
 
    platform->ShowErrorMessage = null_show_error_message;
 
 
 
    platform->Renderer_BufferModel = NullRenderer_BufferModel;
 
    platform->Renderer_BufferMaterial = NullRenderer_BufferMaterial;
 
    platform->Renderer_BufferTexture = NullRenderer_BufferTexture;
 
    platform->Renderer_SetPalette = NullRenderer_SetPalette;
 
    platform->Renderer_FullScreenQuad = NullRenderer_FullScreenQuad;
 
    platform->Renderer_Model = NullRenderer_Model;
 
    platform->Renderer_ClearBuffers = NullRenderer_ClearBuffers;
 
    platform->Renderer_FlushBuffers = NullRenderer_FlushBuffers;
 
    platform->Renderer_BeginScene = NullRenderer_BeginScene;
 
    platform->Renderer_EndScene = NullRenderer_EndScene;
 
    platform->Renderer_SetViewport = NullRenderer_SetViewport;
 
}