
#pragma once

extern void OSK_Init(void);
extern void OSK_Free(void);
extern void OSK_Draw(CglCanvas *pcan);

extern bool OSK_KeyPress(u32 keys);
extern bool OSK_MouseDown(s32 mx,s32 my);
extern void OSK_MouseUp(s32 mx,s32 my);
extern void OSK_MouseMove(s32 mx,s32 my);

typedef struct {
  UnicodeChar *pTitle;
  UnicodeChar *pMaker;
  u32 TargetCodePage;
  char *pIME;
  char *pOSK;
} TOSK_GlobalInfo;

extern TOSK_GlobalInfo OSK_GlobalInfo;

// from skk.cpp

extern void DicFind_Clear(void);
extern bool DicFind_isInputStrNULL(void);
extern UnicodeChar DicFind_GetLastWChar(void);
extern bool RequestRedrawMainFlag,RequestRedrawSubFlag;

extern void CB_KeyPress_FromOSK(UnicodeChar wc,bool BackSpaceSound);

