$NetBSD$ --- imkaze.c.orig Tue Jul 25 01:44:51 2000 +++ imkaze.c Wed Jul 26 12:22:11 2000 @@ -20,7 +20,7 @@ #include #include #include -#include "config.h" +/* #include "config.h" */ #include "mgl2.h" /*辞書ファイルのinstall先…?*/ @@ -52,6 +52,12 @@ #define K2KANJI_STAT_DONE (255) /*変換確定。こいつは文字コードじゃない*/ #define K2KANJI_STAT_CANCEL (27) /*仮名入力に戻りたい。コードはescape*/ +#ifdef USE_MGL2 + #define IM_SCREEN_SX 100 +#else + #define IM_SCREEN_SX 480 +#endif + /*文字列の後ろの改行とかのcontrol codeを削除する*/ static void trim(char *s) { int i=strlen(s)-1; @@ -314,19 +320,31 @@ /*a2kanaのconstructor*/ a2kana_t *a2kana_create(){ int i=0; + int x, y; a2kana_t *self=NULL; self=malloc(sizeof(a2kana_t)); if (self==NULL) return NULL; memset(self, 0, sizeof(a2kana_t)); - self->t_a=create_textscreen(NULL, 480-8, 0, + x=IM_SCREEN_SX-8; + y=0; + +#ifdef USE_MGL2 + if(im_view_point(IM_FONTSIZE*10, (IM_FONTSIZE+4*2)*2, &x, &y)!=2) { + if(y>(IM_FONTSIZE+4*2)*2) + y-=(IM_FONTSIZE+4*2)*2; + } +fprintf(stderr, "y:%d\n", y); +#endif + + self->t_a=create_textscreen(NULL, x, y, IM_FONTSIZE*10, IM_FONTSIZE+4*2, TS_SAVE | TS_BORDER | TS_BLINE); ts_set_bgcolor(self->t_a, COLOR_WHITE); ts_clear(self->t_a); - self->t_k=create_textscreen(NULL, 480-8, IM_FONTSIZE+4*2, + self->t_k=create_textscreen(NULL, x, y+IM_FONTSIZE+4*2, IM_FONTSIZE*10, IM_FONTSIZE+4*2, TS_SAVE | TS_BORDER | TS_BLINE); ts_set_bgcolor(self->t_k, COLOR_WHITE); @@ -709,9 +727,21 @@ } void k2kanji_getkey(k2kanji_t *self, char* yomi){ + int x, y; + self->status=K2KANJI_STAT_CANCEL; - self->t=create_textscreen(NULL, 480-8, (IM_FONTSIZE+4)*3, + x=IM_SCREEN_SX-8; + y=(IM_FONTSIZE+4)*3; + +#ifdef USE_MGL2 + if(im_view_point(IM_FONTSIZE*(10)+4*2, IM_FONTSIZE*4+4*2, &x, &y)!=2) { + if(y>IM_FONTSIZE*4+4*2) + y-=IM_FONTSIZE*4+4*2; + } +#endif + + self->t=create_textscreen(NULL, x, y, IM_FONTSIZE*(10)+4*2, IM_FONTSIZE*4+4*2, TS_SAVE | TS_BORDER | TS_BLINE); ts_set_bgcolor(self->t, COLOR_WHITE);