/* Ofront+ 1.0 -sC -48 */

#ifndef libNuklearX__oh
#define libNuklearX__oh

#include "SYSTEM.oh"

typedef
  struct libNuklearX_WindowEvent {
    INTEGER type, param;
  } libNuklearX_WindowEvent;

typedef
  struct libNuklearX_KeyEvent {
    INTEGER type, code, mod;
  } libNuklearX_KeyEvent;

typedef
  struct libNuklearX_Event {
    INTEGER type;
    libNuklearX_WindowEvent window;
    libNuklearX_KeyEvent key;
  } libNuklearX_Event;

typedef
  void (*libNuklearX_MainLoopProc)(SYSTEM_PTR);

typedef
  struct libNuklearX_Nkc {
    char _prvt0[1];
  } libNuklearX_Nkc;

typedef
  CHAR *libNuklearX_char_ptr;





#define NKC_IMPLEMENTATION
#define REAL _REAL
#include "nuklear_cross.h"
#undef REAL
#define libNuklearX_ErrDie(msg)  nkc_rdie((char*)msg)
#define libNuklearX_Init(nkcHandle, title, width, height, windowMode)  nkc_init(nkcHandle, title, width, height, windowMode)
#define libNuklearX_PollEvents(nkcHandle, event)  event = nkc_poll_events(nkcHandle)
#define libNuklearX_Render(nkcHandle, bgColor)  nkc_render(nkcHandle, bgColor)
#define libNuklearX_SetMainLoop(nkcHandle, mainLoopProc, loopArg)  nkc_set_main_loop(nkcHandle, (void*)mainLoopProc, (void*)loopArg)
#define libNuklearX_ShutDown(nkcHandle)  nkc_shutdown(nkcHandle)
#define libNuklearX_StopMainLoop(nkcHandle)  nkc_stop_main_loop(nkcHandle)
#define libNuklearX_KeyEvent struct nkc_key_event
#define libNuklearX_Nkc struct nkc
#define libNuklearX_Event union nkc_event
#define libNuklearX_WindowEvent struct nkc_window_event

#endif
