/*	
 *	nuklear_piece.h
 *
 *	NuklearのP/ECE用レンダリングバックエンド
 *
 *	CLiP - Common Library for P/ECE
 *	Copyright (C) 2016-2017 Naoyuki Sawa
 *
 *	* Sat Nov 12 09:40:37 JST 2016 Naoyuki Sawa
 *	- 1st リリース。
 *	  変更履歴は、nuklear_piece.cのコメントを参照して下さい。
 */
#ifndef __NUKLEAR_PIECE_H__
#define __NUKLEAR_PIECE_H__
/****************************************************************************
 *	
 ****************************************************************************/
//<!> If used needs to be defined for implementation and header <!>			以下のシンボルは、実装部と宣言部の両方で有効になる位置で、定義する必要が有ります。
#define NK_INCLUDE_FIXED_TYPES
#define NK_INCLUDE_DEFAULT_ALLOCATOR
#define NK_INCLUDE_STANDARD_IO
#define NK_INCLUDE_STANDARD_VARARGS
/*--------------------------------------------------------------------------*/
//<!> If used it is only required to be defined for the implementation part <!>		以下のシンボルは、実装部だけで定義しても構わないのですが、あえて分ける必要も無いので、ここで定義しておく事にしました。
#define NK_MEMSET	memset
#define NK_MEMCPY	memcpy
#define NK_SQRT		sqrt
#define NK_SIN		sin
#define NK_COS		cos
//{{2017/03/16変更:リビジョン2e4db87にて、内部関数nk_strtoi(),nk_strtof(),nk_strtod()の引数endptrの型が(char**)⇒(const char**)に変更された事に伴い、C標準関数のstrtod()をそのまま使うと警告が出るようになった問題を回避しました。
//#define NK_STRTOD	strtod
//↓2017/03/16変更:リビジョン2e4db87にて、内部関数nk_strtoi(),nk_strtof(),nk_strtod()の引数endptrの型が(char**)⇒(const char**)に変更された事に伴い、C標準関数のstrtod()をそのまま使うと警告が出るようになった問題を回避しました。
#define NK_STRTOD(str,endptr)	strtod((str),(char**)(endptr))
//}}2017/03/16変更:リビジョン2e4db87にて、内部関数nk_strtoi(),nk_strtof(),nk_strtod()の引数endptrの型が(char**)⇒(const char**)に変更された事に伴い、C標準関数のstrtod()をそのまま使うと警告が出るようになった問題を回避しました。
//#define NK_DTOA	dtoa
#define NK_VSNPRINTF	vsnprintf
/*--------------------------------------------------------------------------*/
#include "nuklear.h"
/****************************************************************************
 *	
 ****************************************************************************/
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
/****************************************************************************
 *	グローバル定数
 ****************************************************************************/
extern const struct nk_user_font nk_piece_font[4];	//[0]=半角5x10/全角10x10,[1]=半角8x16,[2]=半角4x6,[3]=半角4x5
/****************************************************************************
 *	グローバル関数
 ****************************************************************************/
NK_API struct nk_context* nk_piece_new();
NK_API void nk_piece_free(struct nk_context* ctx);
NK_API void nk_piece_handle_event(struct nk_context* ctx, int joy);
struct _RENDER;	//{{2016/11/15追加:当モジュールもライブラリに含めました。当ファイルはcliprend.hよりも先にclipstd.hにてインクルードされるので、警告「warning: `struct _RENDER' declared inside parameter list」を回避するために、この宣言が必要です。}}
NK_API void nk_piece_render(struct nk_context* ctx, struct _RENDER* render);
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__NUKLEAR_PIECE_H__
