home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 3 / FREEWARE.BIN / towns_os / tvi / tvi_src.lzh / REC / REC_MAIN.C < prev    next >
C/C++ Source or Header  |  1991-01-10  |  39KB  |  959 lines

  1. /*
  2. $Header: rec_main.cv  1.19  91/01/10 15:30:06  Nam  Exp $
  3. */
  4. #include    <stdio.h>
  5. #include     <stdlib.h>
  6. #include     <string.h>
  7. #include    <egb.h>        /* グラフィック関連のヘッダファイル */
  8. #include    <mos.h>        /* マウス関連のヘッダファイル         */
  9. #include    <fif.h>        /* キーボードインターフェースのヘッダ*/
  10. #include    <fmc.h>        /* FMC関数ライブラリヘッダ */
  11. #include    <n_win.h>    /* 自前のウィンドゥ関数ヘッダ        */
  12.  
  13. pragma    Include    ("rec_st.h");            /* 標準ヘッダ */
  14. pragma    Include    ("rec_opt.h");            /* オプション設定ヘッダ */
  15.  
  16.  
  17. #define    MAX_WIN_NO    (16)
  18. #define    MAX_OPT_NO    (128)
  19. #define    DEFOPTITEM    (N_WIN_OPTITEM_txt|N_WIN_OPTITEM_img|N_WIN_OPTITEM_btn|N_WIN_OPTITEM_sld)
  20.  
  21. extern char *EGB_work;                /*** EGBワークエリア(disp.obj) ***/
  22. extern char *EGB_para;                /*** EGBパラメータエリア(disp.obj) ***/
  23. /*extern N_WIN_WORK    WIN_work;*/        /*** ウィンドゥライブラリ用ワーク(n_win_1.obj) ***/
  24. /*extern unsigned char    nowdrvNo;*/    /*現在のカレントドライブ番号(1:A)(rec_file)*/
  25.  
  26. extern char        menu_btn,smenu_btn;    /*** メインメニュー用img ***/
  27. extern char        edit1_btn,edit3_btn,edit2_btn,edit4_btn;    /*エディットパネル用img*/
  28. extern char        myface;    /*** info用似顔絵 ***/
  29.  
  30. unsigned short    /*** rec_menu.c ***/
  31.                  win_menu
  32.                 ,btn_menu_info,btn_menu_file
  33.                 ,btn_menu_edit,btn_menu_cd
  34.                 ,btn_menu_options,btn_menu_quit
  35.                 ,win_submenu
  36.                 ,btn_smenu_color,btn_smenu_frame,btn_smenu_file;
  37.  
  38. unsigned short    /*** rec_opt.c ***/
  39.                  win_OPT[MAX_OPT_WIN]
  40.                 ,btn_OPT[MAX_OPT_BTN]
  41.                 ,btn_OPT_act[MAX_OPT_WIN],btn_OPT_can[MAX_OPT_WIN];
  42.  
  43. unsigned short    /*** rec_disp.c ***/
  44.                  win_alart,txt_alart1,txt_alart2
  45.                 ,btn_alart_YES,btn_alart_NO
  46.                 ,btn_alart_GO,btn_alart_RETRY,btn_alart_ABORT;
  47.  
  48. unsigned short    /*** rec_file.c ***/
  49.                  win_file
  50.                 ,area_file_dlg
  51.                 ,txt_file_curpath,txt_file_free
  52.                 ,txt_file_page,txt_file_res
  53.                 ,txt_file_filename,txt_file_comment
  54.                 ,btn_file_updir,btn_file_dir,btn_file_dirL,btn_file_dirR
  55.                 ,btn_file_dlgUP,btn_file_dlgDOWN
  56.                 ,btn_file_del
  57.                 ,btn_file_MvSv,btn_file_LdRec,btn_file_PalLd,btn_file_PalSv
  58.                 ,btn_file_load,btn_file_save
  59.                 ,btn_file_tvi,btn_file_tvp,btn_file_tiff
  60.                 ,btn_file_p25,btn_file_all;
  61. unsigned short     btn_file_dlg[7];
  62.  
  63. extern char        *filename;            /*** 現在のファイル名(拡張子なし8文字) ***/
  64. extern char        *comment;            /*** 現在のコメント(拡張子なし8文字) ***/
  65.  
  66. unsigned short    /*** rec_edit.c ***/
  67.                  win_edit
  68.                 ,sld_edit_page
  69.                 ,txt_edit_max,txt_edit_pal
  70.                 ,txt_edit_start,txt_edit_end,txt_edit_now
  71.                 ,btn_edit_dezi
  72.                 ,btn_edit_start,btn_edit_end
  73.                 ,btn_edit_reverse,btn_edit_copy,btn_edit_cut
  74.                 ,btn_edit_cls,btn_edit_undo
  75.                 ,btn_edit_pal,btn_edit_oneshot,btn_edit_rec
  76.                 ,btn_edit_ins
  77.                 ,btn_edit_play,btn_edit_cue,btn_edit_rev
  78.                 ,btn_edit_ff,btn_edit_rr,btn_edit_first,btn_edit_last;
  79.  
  80. unsigned short    /*** rec_pal.c ***/
  81.                  win_pal
  82.                 ,txt_pal_mes,txt_pal_col,btn_pal_ABORT;
  83.  
  84. unsigned short    /*** rec_cd.c ***/
  85.                  win_cd
  86.                 ,sld_cd_vol
  87.                 ,txt_cd_trk
  88.                 ,btn_cd_play,btn_cd_ff,btn_cd_rr,btn_cd_stop,btn_cd_pause;
  89.  
  90.  
  91. unsigned short    win_title,win_info,btn_myface;
  92.  
  93. char    *VideoBufAdd;        /*** 画像データバッファ ***/
  94.  
  95. unsigned short    *tbl_expand;        /*変換テーブル*/
  96. unsigned char    *tbl_compless;        /*変換テーブル*/
  97.  
  98. FRAME    tviframe={{0,0},{319,239}};    /*** 動画データの枠 ***/
  99. unsigned long    imgsize=320*240;    /*** 画像データ1枚のサイズ ***/
  100. unsigned short    MaxVideoBuf;        /*** 画像データバッファ最大枚数 ***/
  101. unsigned short    StartPage=0xffff;    /*** 画像データ指定開始ページ ***/
  102. unsigned short    EndPage=0xffff;        /*** 画像データ指定終了ページ ***/
  103. unsigned short    NowPage=0;            /*** 画像データ現在ページ ***/
  104. unsigned short    LastPage=0;            /*** 画像データ最終ページ ***/
  105. unsigned short    sysflag=0;            /*** 設定状態フラグ ***/
  106. unsigned short    sldstep=1;            /*** 画像スライダ刻み幅 ***/
  107.  
  108. char            startpath[80];        /*** 起動時パス ***/
  109.  
  110. extern void exit();
  111. extern void N_wait_cansel();    /*** Wait外し(waitcan.obj) ***/
  112. extern void N_wait_rewrite();    /*** Wait復帰(waitcan.obj) ***/
  113. extern void set24trap();        /*** int24hエラートラップ(int24h.obj) ***/
  114. extern int  get_curdrv();            /*** カレントドライブ番号取得(filectrl.obj) ***/
  115. extern int  get_curdir();            /*** カレントディレクトリ取得(filectrl.obj) ***/
  116.  
  117. extern int  get_panel_image();        /*** panelimg読み込み(0!=ERR/rec_init)*/
  118. extern void set_syscfg();            /*** システム設定(rec_init) ***/
  119. extern int  N_EGBinit();            /*** 領域確保&初期化(rec_disp.obj) ***/
  120. extern void N_EGBend();                /*** 終了処理&領域free(rec_disp.obj) ***/
  121. extern void N_set_resolution();        /*** 画面解像度設定(rec_disp.obj) ***/
  122. extern int  disp_alart();            /*** アラートダイアログ表示(rec_disp.obj) ***/
  123. extern void set_edit_page();        /*エディットウィンドゥ各カウンタ再設定(rec_disp.obj)*/
  124. extern void set_page_slider();        /*ページスライダの再設定(rec_disp.obj)*/
  125. /*extern void change_icon();*/            /*** マウスアイコン変更(rec_mos.obj) ***/
  126. extern unsigned short mosloop();    /*マウスが押されるまでloop,idを返す(rec_mos)*/
  127. extern int  mos_move_wait();        /*** マウスクリック待ち(rec_mos.obj) ***/
  128. extern void move_page_slider();        /*ページスライダによるページ選択(rec_mos.obj)*/
  129.  
  130. extern void    push_myface();            /*** オプション処理/似顔絵(rec_menu) ***/
  131. extern void menu_info();            /*** info表示(rec_menu.obj) ***/
  132. extern void menu_file();            /*** fileダイアログ表示(rec_menu.obj) ***/
  133. extern void menu_edit();            /*** editダイアログ表示(rec_menu.obj) ***/
  134. extern void menu_cd();                /*** CDダイアログ表示(rec_menu.obj) ***/
  135. extern void menu_options();            /*** サブメニュー表示(rec_menu.obj) ***/
  136. extern void menu_OPTcolor();        /*** サブメニュー/COLOR表示(rec_menu.obj) ***/
  137. extern void menu_OPTframe();        /*** サブメニュー/FRAME表示(rec_menu.obj) ***/
  138. extern void menu_OPTfile();            /*** サブメニュー/FILE表示(rec_menu.obj) ***/
  139. extern void menu_quit();            /*** 終了処理(rec_menu.obj) ***/
  140. extern void optbtn_click();            /*** オプション指定処理(rec_menu.obj) ***/
  141. extern void optbtn_accept();        /*** オプション指定決定処理(rec_menu) ***/
  142. extern void optbtn_cansel();        /*** オプション指定キャンセル処理(rec_menu)***/
  143. extern void undo();                    /*** 安藤くん処理(rec_edit.obj) ***/
  144. extern void change_insmode();        /*** INS/OVL切り換え(rec_edit.obj) ***/
  145. extern void set_start();            /*** 範囲指定(rec_edit.obj) ***/
  146. extern void set_end();                /*** 範囲指定(rec_edit.obj) ***/
  147. extern void tvi_clear();            /*** 動画クリア(rec_edit.obj) ***/
  148. extern void reverse();                /*** 反転処理(rec_edit.obj) ***/
  149. extern void copy();                    /*** コピー処理(rec_edit.obj) ***/
  150. extern void cut();                    /*** カット処理(rec_edit.obj) ***/
  151. extern void dezitize();                /*** page1にデジタイズ(rec_pal.obj) ***/
  152. extern void pallette();                /*** パレット演算(rec_pal.obj) ***/
  153. extern void record_1page();            /*** 1面録画(rec_rec.obj) ***/
  154. extern void record();                /*** 録画(rec_rec.obj) ***/
  155. extern void disp_first();            /*** 1枚再生(rec_play.obj) ***/
  156. extern void disp_rr();                /*** 1枚再生(rec_play.obj) ***/
  157. extern void disp_rev();                /*** 1枚再生(rec_play.obj) ***/
  158. extern void disp_play();            /*** 連続再生(rec_play.obj) ***/
  159. extern void disp_cue();                /*** 1枚再生(rec_play.obj) ***/
  160. extern void disp_ff();                /*** 1枚再生(rec_play.obj) ***/
  161. extern void disp_last();            /*** 1枚再生(rec_play.obj) ***/
  162. extern int  N_fld_init();            /*** ファイルダイアログ初期化(rec_fdlg.obj) ***/
  163. extern void N_fld_end();            /*** ファイルダイアログ終了処理(rec_fdlg.obj) ***/
  164. extern void N_fld_chgdir();            /*** ファイルダイアログディスクチェンジ(rec_fdlg.obj)**/
  165. extern void N_fld_chgdirL();        /*** ファイルダイアログディスクチェンジ(rec_fdlg.obj)**/
  166. extern void N_fld_chgdirR();        /*** ファイルダイアログディスクチェンジ(rec_fdlg.obj)**/
  167. extern void N_fld_updir();            /*** ファイルダイアログディレクトリ上昇(rec_fdlg.obj)*/
  168. extern void N_fld_dlgUPscr();        /*** ファイルダイアログスクロールUP(rec_fdlg.obj) ***/
  169. extern void N_fld_dlgDOWNscr();        /*** ファイルダイアログスクロールDOWN(rec_fdlg.obj)***/
  170. extern void N_fld_getpath();        /*** ファイルダイアログファイル名取得(rec_fdlg.obj)**/
  171. extern void N_fld_setfile_TVI();    /*** ファイル種選択(rec_fdlg.obj) ***/
  172. extern void N_fld_setfile_TVP();    /*** ファイル種選択(rec_fdlg.obj) ***/
  173. extern void N_fld_setfile_TIFF();    /*** ファイル種選択(rec_fdlg.obj) ***/
  174. extern void N_fld_setfile_P25();    /*** ファイル種選択(rec_fdlg.obj) ***/
  175. extern void N_fld_setfile_ALL();    /*** ファイル種選択(rec_fdlg.obj) ***/
  176. extern void N_fld_dispdlg();        /*** ファイルダイアログファイル部表示(rec_fdlg.obj)**/
  177. extern void delete();                /*** ファイルの削除(rec_file.obj) ***/
  178. extern void multisave();            /*** Tiffのマルチボリュームセーブ(rec_file.obj) ***/
  179. extern void loadRec();                /*** Tiffのロード&Rec(rec_file.obj) ***/
  180. extern void loadPal();                /*** パレットのロード(rec_file.obj) ***/
  181. extern void savePal();                /*** パレットのセーブ(rec_file.obj) ***/
  182. extern void load();                    /*** ファイルのロード(rec_file.obj) ***/
  183. extern void save();                    /*** ファイルのセーブ(rec_file.obj) ***/
  184. extern void N_cd_play();            /*** CD 演奏開始(rec_cd.obj) ***/
  185. extern void N_cd_ff();                /*** CD 一曲送り(rec_cd.obj) ***/
  186. extern void N_cd_rr();                /*** CD 一曲戻し(rec_cd.obj) ***/
  187. extern void N_cd_pause();            /*** CD 一時停止(rec_cd.obj) ***/
  188. extern void N_cd_stop();            /*** CD 停止(rec_cd.obj) ***/
  189. extern void N_cd_vol();                /*** CD vol調整(rec_cd.obj) ***/
  190.  
  191. void    all_end();
  192. void    MALLOC_V_AREA();
  193. void    set_winid();        /*** ウィンドゥの設定 ***/
  194. /*****************************************************************************/
  195. /*                               メインルーチン                              */
  196. /*****************************************************************************/
  197. void main(argc,argv)
  198. int  argc;
  199. char *argv[];
  200. {
  201.     register unsigned short    optid=0;
  202.     register unsigned short    i;
  203.  
  204.     /*** 起動時パス取得 ***/
  205.     if (argc>1) {    /*** コマンドライン指定パスがあれば優先 ***/
  206.         strcpy(startpath,argv[1]);
  207.     } else {        /*** T_MENUから起動(argv[0]=NUL)の時  at 91.1.9 ***/
  208.         i=get_curdrv();
  209.         startpath[0]=i+0x40;    /*'A・・'*/
  210.         startpath[1]=0x3a;    /*':'*/
  211.         startpath[2]=0x5c;    /*"\"*/
  212.         startpath[3]=0;
  213.         get_curdir(i,startpath+3);    /*カレントディレクトリ取得*/
  214.     }
  215.     i=strlen(startpath);
  216.     if (startpath[i]!=0x5c) {
  217.         startpath[i]=0x5c;    /*"\"*/
  218.         startpath[i+1]=0;
  219.     }
  220.     /*** int24hエラートラップ ***/
  221.     set24trap();
  222.     /*** EGB/MOUSE/SOUND各BIOS初期化 ***/
  223.     if (N_EGBinit()!=0) {
  224.         all_end();
  225.     }
  226.     KYB_setbuf(1);        /*** バッファリング無(キーボードの初期化はしない) ***/
  227.     /*** N_WIN ワーク取得&初期化 ***/
  228.     if (N_WIN_init(EGB_work,EGB_para,3,0,MAX_WIN_NO,MAX_OPT_NO)!=0) {
  229.         all_end();
  230.     }
  231.     /*** ウィンドゥ/ウィンドゥ部品設定 ***/
  232.     set_winid();
  233.     /*** 画面モードセット ***/
  234.     N_set_resolution(3,10,0,0,2);    /*** 16色&32K色,描画1・表示0,page1拡大 ***/
  235.     /*** ファイルダイアログWORK取得&初期化 ***/
  236.     if (N_fld_init()!=0) {
  237.         all_end();
  238.     }
  239.     /*** バッファエリア取得 ***/
  240.     MALLOC_V_AREA();
  241.     /*** panel用イメージ読み込み(0以外はERR/rec_init)*/
  242.     if (get_panel_image()!=0) {
  243.         disp_alart(1,"パネル画像ファイルがありません"
  244.                     ,"`tvi_rec.exp'のあるパスを指定してね");
  245.         all_end();
  246.     }
  247.     /*** メモリウェイトキャンセル ***/
  248.     N_wait_cansel();
  249.     /*** タイトルウィンドゥ表示 ***/
  250.     N_WIN_openWin(win_title);
  251.     /*** edit-win各種初期設定 ***/
  252.     set_syscfg();        /*** システム設定(rec_init) ***/
  253.     set_edit_page();
  254.     set_page_slider();
  255.     N_fld_chgdir();        /*** ファイルダイアログディレクトリサーチ(rec_file.obj) ***/
  256.     N_cd_stop();        /*** CD 停止(rec_cd.obj) ***/
  257.     /*** タイトルウィンドゥ消去待ち ***/
  258.     mos_move_wait();    /*** マウスクリックor動作待ち(disp.obj) ***/
  259.     N_WIN_closeWin(win_title);
  260.     /*** メインループ開始 ***/
  261.     optid=0;
  262.     while ( optid!=btn_alart_YES ) {
  263.         N_WIN_openWin(win_menu);
  264.         while (( N_WIN_getWinAttr(win_menu) & N_WIN_ATTR_see)!=0 ) {
  265.             optid=mosloop();
  266.         }
  267.         optid=disp_alart(2,"おわるよ~ん"," ");    /*** 終了ウィンドゥ処理 ***/
  268.     }
  269.     /*** 終了処理 ***/
  270.     all_end();
  271. }
  272.  
  273. /*****************************************************************************/
  274. void    all_end()        /*exit*/
  275. {
  276.     N_wait_rewrite();
  277.     if (VideoBufAdd!=NULL) {
  278.         free(VideoBufAdd);
  279.     }
  280.     if (tbl_compless!=NULL) {
  281.         free(tbl_compless);
  282.     }
  283.     if (tbl_expand!=NULL) {
  284.         free(tbl_expand);
  285.     }
  286.     EGB_writePage(EGB_work,1);
  287.     EGB_clearScreen(EGB_work);
  288.     EGB_writePage(EGB_work,0);
  289.     EGB_clearScreen(EGB_work);
  290.     N_set_resolution(1,1,0,0,0);    /*** 16色,描画1・表示0,page1拡大 ***/
  291.     N_fld_end();
  292.     N_WIN_end();
  293.     N_EGBend();
  294.     KYB_setbuf(0);        /*** バッファリング有り ***/
  295.     exit(0);
  296. }
  297. /*****************************************************************************/
  298. void    MALLOC_V_AREA()        /*malloc VideoData area*/
  299. {
  300.     tbl_expand=(unsigned short *)malloc(256*sizeof(unsigned short));
  301.     tbl_compless=(unsigned char *)malloc(32768*sizeof(unsigned char));
  302.     if (tbl_expand==NULL||tbl_compless==NULL) {
  303.         all_end();
  304.     }
  305.     for (MaxVideoBuf=99 ; MaxVideoBuf>0 ; MaxVideoBuf--) {
  306.         VideoBufAdd=(char *)malloc(DEFIMGSIZE*MaxVideoBuf);
  307.         if (VideoBufAdd!=NULL) { break; }    
  308.     }
  309.     if (MaxVideoBuf==0) {
  310.         all_end();
  311.     }
  312. }
  313. /*****************************************************************************/
  314. void    set_winid()        /*ウィンドゥ設定*/
  315. {
  316.     win_title    =N_WIN_entryWin(0
  317.                     ,N_WIN_ATTR_paint
  318.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  319.                     ,50,30,260,70,"TownsVideoInstrument");
  320.     win_menu    =N_WIN_entryWin(0
  321.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  322.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  323.                     ,0,0,56,20+(16*6)+2,"menu");
  324.     win_submenu    =N_WIN_entryWin(0
  325.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  326.                     ,0,DEFOPTITEM
  327.                     ,56-5,(20+16*3),56,2+(16*3)+2,NULL);
  328.     win_info    =N_WIN_entryWin(0
  329.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  330.                     ,N_WIN_ITEM_titleBar|N_WIN_ITEM_closeBtn,DEFOPTITEM
  331.                     ,(639-270),0,270,140,"TVI_REC.exp");
  332.     win_alart    =N_WIN_entryWin(0
  333.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  334.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  335.                     ,180,220,320,98,"Alart Box");
  336.     win_file    =N_WIN_entryWin(0
  337.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  338.                     ,N_WIN_ITEM_titleBar|N_WIN_ITEM_closeBtn
  339.                     ,DEFOPTITEM|N_WIN_OPTITEM_usr
  340.                     ,60,10,340,285,"File Access");
  341.     win_edit    =N_WIN_entryWin(0
  342.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  343.                     ,N_WIN_ITEM_titleBar|N_WIN_ITEM_closeBtn,DEFOPTITEM
  344.                     ,200,340
  345.                     ,10+(32*7)+16+(32*3)+8+(8*7+4)+10,20+(32+8)*2+32+4
  346.                     ,"Control Panel");
  347.     win_pal        =N_WIN_entryWin(0
  348.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  349.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  350.                     ,220,330,256+20,98,"Makeing Palette");
  351.     win_cd        =N_WIN_entryWin(0
  352.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  353.                     ,N_WIN_ITEM_titleBar|N_WIN_ITEM_closeBtn,DEFOPTITEM
  354.                     ,440,142,10+(8*5+4)+8+(20+2)*4+10,24+(20+2)*2+4
  355.                     ,"CD player");
  356.  
  357.     win_OPT[OPTWIN_COLOR]    =N_WIN_entryWin(0
  358.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  359.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  360.                     ,20,120,340,120,"COLOR option");
  361.     win_OPT[OPTWIN_FRAME]    =N_WIN_entryWin(0
  362.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  363.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  364.                     ,120,120,340,120,"FRAME option");
  365.     win_OPT[OPTWIN_FILE]        =N_WIN_entryWin(0
  366.                     ,N_WIN_ATTR_selective|N_WIN_ATTR_moval|N_WIN_ATTR_paint
  367.                     ,N_WIN_ITEM_titleBar,DEFOPTITEM
  368.                     ,290,120,340,220,"FILE option");
  369.  
  370. /*★タイトルウインドゥ*/
  371.     N_WIN_entryOpt(win_title,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  372.                 ,0,0,    25,20,(8*22)+4,16,"TVI-Editor V0.0 L19");
  373.     N_WIN_entryOpt(win_title,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  374.                 ,0,0,    120,45,(8*16)+4,16,"'91.1.10 (C)Nam");
  375.  
  376. /*★infoウインドゥ*/
  377.     N_WIN_entryOpt(win_info,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  378.         ,0,0,    20,20,300,16,"- Towns Video Instrument -");
  379.     N_WIN_entryOpt(win_info,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  380.         ,0,0,    10,45,300,16,"Record & Edit for TVI format.");
  381.     N_WIN_entryOpt(win_info,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  382.         ,0,0,    10,65,300,16,"Please send me your impressions.");
  383.     btn_myface=    N_WIN_entryOpt(win_info,N_WIN_OPTITEM_img
  384.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective,0,0,    30,90,32,32,&myface);
  385.     N_WIN_entryOpt(win_info,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  386.         ,0,0,    90,95,200,16,"Nam:CAF58901(PC-VAN)");
  387.     N_WIN_entryOpt(win_info,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  388.         ,0,0,    90,115,200,16,"    RGE01545(Nifty)");
  389.     N_WIN_entryOpt(win_info,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  390.         ,0,0,    10,90+30,200,16,"V0.0 L19");
  391.  
  392. /*★メインメニュー*/
  393.     N_WIN_entryOpt(win_menu,N_WIN_OPTITEM_img,N_WIN_ATTR_see
  394.         ,0,0,    0,20     ,56,16*6,&menu_btn);
  395.     btn_menu_info=N_WIN_entryOpt(win_menu
  396.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  397.         ,0,0,    0,20     ,56,16,NULL);
  398.     btn_menu_file=N_WIN_entryOpt(win_menu
  399.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  400.         ,0,0,    0,20+16  ,56,16,NULL);
  401.     btn_menu_edit=N_WIN_entryOpt(win_menu
  402.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  403.         ,0,0,    0,20+16*2,56,16,NULL);
  404.     btn_menu_cd=N_WIN_entryOpt(win_menu
  405.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  406.         ,0,0,    0,20+16*3,56,16,NULL);
  407.     btn_menu_options=N_WIN_entryOpt(win_menu
  408.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  409.         ,0,0,    0,20+16*4,56,16,NULL);
  410.     btn_menu_quit=N_WIN_entryOpt(win_menu
  411.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  412.         ,0,0,    0,20+16*5,56,16,NULL);
  413. /*★サブメニュー*/
  414.     N_WIN_entryOpt(win_submenu,N_WIN_OPTITEM_img,N_WIN_ATTR_see
  415.         ,0,0,    0,2     ,56,16*3,&smenu_btn);
  416.     btn_smenu_color=N_WIN_entryOpt(win_submenu
  417.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  418.         ,0,0,    0,2     ,56,16,NULL);
  419.     btn_smenu_frame=N_WIN_entryOpt(win_submenu
  420.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  421.         ,0,0,    0,2+16  ,56,16,NULL);
  422.     btn_smenu_file=N_WIN_entryOpt(win_submenu
  423.         ,N_WIN_OPTITEM_btn,N_WIN_ATTR_see|N_WIN_ATTR_selective
  424.         ,0,0,    0,2+16*2,56,16,NULL);
  425.  
  426.  
  427. /*★アラートボックス*/
  428.     txt_alart1=N_WIN_entryOpt(win_alart
  429.         ,N_WIN_OPTITEM_txt,N_WIN_ATTR_see|N_TXT_ATTR_centering
  430.         ,0,0,    10,24     ,320-(10*2),18,NULL);
  431.     txt_alart2=N_WIN_entryOpt(win_alart
  432.         ,N_WIN_OPTITEM_txt,N_WIN_ATTR_see|N_TXT_ATTR_centering
  433.         ,0,0,    10,24+18+6,320-(10*2),18,NULL);
  434.     btn_alart_YES    =N_WIN_entryOpt(win_alart,N_WIN_OPTITEM_btn
  435.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  436.         ,0,0,    200     ,70,50,24,"YES");
  437.     btn_alart_NO    =N_WIN_entryOpt(win_alart,N_WIN_OPTITEM_btn
  438.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  439.         ,0,0,    260     ,70,50,24,"NO");
  440.     btn_alart_GO    =N_WIN_entryOpt(win_alart,N_WIN_OPTITEM_btn
  441.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  442.         ,0,0,    140     ,70,50,24,"GO");
  443.     btn_alart_RETRY    =N_WIN_entryOpt(win_alart,N_WIN_OPTITEM_btn
  444.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  445.         ,0,0,    200     ,70,50,24,"RETRY");
  446.     btn_alart_ABORT    =N_WIN_entryOpt(win_alart,N_WIN_OPTITEM_btn
  447.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  448.         ,0,0,    260     ,70,50,24,"ABORT");
  449.  
  450. /*★ファイルダイアログ*/
  451.     btn_file_dirL    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  452.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_txt
  453.         ,0,0    ,17     ,20,22,28,"");
  454.     btn_file_dir    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  455.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  456.         |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  457.         ,0,0    ,17+22  ,20,28,28,"  ");
  458.     btn_file_dirR    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  459.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_txt
  460.         ,0,0    ,17+22+28,20,22,28,"");
  461.     btn_file_updir    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  462.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_txt
  463.         ,0,0    ,17,50,22,18*7+4,"UP");
  464.  
  465.     txt_file_curpath=N_WIN_entryOpt(win_file,N_WIN_OPTITEM_txt
  466.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  467.         ,0,0,    100 ,24,(8*26+20/2)+2,20,NULL);
  468.  
  469.     txt_file_free=N_WIN_entryOpt(win_file,N_WIN_OPTITEM_txt
  470.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  471.         ,0,0    ,245,48,(8*8+8/2)+2,20,"------KB");
  472.  
  473.     btn_file_tvi    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  474.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  475.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  476.          |N_BTN_ATTR_check|N_BTN_ATTR_highlight
  477.         ,0,0,    260,70         ,(8*6)+4,24,"*.TVI");
  478.     btn_file_tvp    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  479.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  480.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  481.          |N_BTN_ATTR_check
  482.         ,0,0,    260,70+(24+4)  ,(8*6)+4,24,"*.TVP");
  483.     btn_file_tiff    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  484.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  485.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  486.          |N_BTN_ATTR_check
  487.         ,0,0,    260,70+(24+4)*2,(8*6)+4,24,"*.TIF");
  488.     btn_file_p25    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  489.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  490.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  491.          |N_BTN_ATTR_check
  492.         ,0,0,    260,70+(24+4)*3,(8*6)+4,24,"*.P25");
  493.     btn_file_all    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  494.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  495.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  496.          |N_BTN_ATTR_check
  497.         ,0,0,    260,70+(24+4)*4,(8*6)+4,24,"*.*");
  498.  
  499.     txt_file_filename=N_WIN_entryOpt(win_file,N_WIN_OPTITEM_txt
  500.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_TXT_ATTR_frame
  501.         ,0,0,    17 ,208,(8*12)+4,20,filename);
  502.     txt_file_page    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_txt
  503.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  504.         ,0,0,    130,208,(8*8)+4,20,"          ");
  505.     txt_file_res    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_txt
  506.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  507.         ,0,0,    208,208,(8*14)+4,20,"            ");
  508.     txt_file_comment=N_WIN_entryOpt(win_file,N_WIN_OPTITEM_txt
  509.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_TXT_ATTR_frame
  510.         ,0,0,    17,230,(8*37+4)+4,20,comment);
  511.  
  512.     btn_file_del    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  513.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  514.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  515.         ,0,0,    20,255,(8*4)+6,24,"Del");        /*★一番左側*/
  516.  
  517.     btn_file_LdRec    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  518.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  519.         ,0,0,     85,255,(8*6)+6,24,"Ld&Rec");    /*★loadの左側*/
  520.     btn_file_MvSv    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  521.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  522.         ,0,0,    210,255,(8*6)+6,24,"MltSv");    /*★loadの左側*/
  523.     btn_file_PalLd    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  524.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  525.         ,0,0,     85,255,(8*6)+6,24,"PalLd");    /*★loadの左側*/
  526.     btn_file_PalSv    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  527.         ,N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  528.         ,0,0,    210,255,(8*6)+6,24,"PalSv");    /*★loadの左側*/
  529.  
  530.     btn_file_load    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  531.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  532.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  533.         ,0,0,    145,255,(8*6)+6,24,"Load");
  534.     btn_file_save    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  535.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  536.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  537.         ,0,0,    270,255,(8*6)+6,24,"Save");
  538.  
  539.     btn_file_dlgUP    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  540.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_txt
  541.         ,0,0    ,40           ,50+(18*7+4)+1,8*12,20,"▲");
  542.     btn_file_dlgDOWN=N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  543.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_txt
  544.         ,0,0    ,40+(8*12)+4+2,50+(18*7+4)+1,8*12,20,"▼");
  545.  
  546.     area_file_dlg    =N_WIN_entryOpt(win_file,N_WIN_OPTITEM_usr
  547.         ,N_WIN_ATTR_see
  548.         ,10,0    ,40,50,8*24+4,18*7+2,NULL);
  549.     N_WIN_entryOptfunc(area_file_dlg,&N_fld_dispdlg);
  550.     /*** ファイルダイアログ部 ***/
  551.     register short    i,y=50+1;
  552.     for ( i=0 ; i<7 ; i++ ) {
  553.         btn_file_dlg[i]=N_WIN_entryOpt(win_file,N_WIN_OPTITEM_btn
  554.             ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  555.             ,0,0    ,41,y,8*24+4-2,16,NULL);
  556.         y+=18;
  557.     }
  558.  
  559. /*★エディットウィンドゥ*/
  560.     N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_img,N_WIN_ATTR_see
  561.         ,0,0,    10          ,20     ,(32*7),32,&edit1_btn);
  562.     N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_img,N_WIN_ATTR_see
  563.         ,0,0,    10          ,20+32+8,(32*7),32,&edit3_btn);
  564.     N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_img,N_WIN_ATTR_see
  565.         ,0,0,    10+(32*7)+16,20     ,(32*3),32,&edit2_btn);
  566.     N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_img,N_WIN_ATTR_see
  567.         ,0,0,    10+(32*7)+16,20+32+8,(32*3),32,&edit4_btn);
  568.  
  569.     txt_edit_start    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_txt
  570.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  571.         ,0,0,    10+2   ,20+16-4,(8*3)+4,18,"---");
  572.     txt_edit_end    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_txt
  573.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  574.         ,0,0,    10+32+2,20+16-4,(8*3)+4,18,"---");
  575.  
  576.     btn_edit_start    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  577.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  578.         ,0,0,    10     ,20,32,32,NULL);
  579.     btn_edit_end    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  580.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  581.         ,0,0,    10+32  ,20,32,32,NULL);
  582.     btn_edit_reverse=N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  583.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  584.         ,0,0,    10+32*2,20,32,32,NULL);
  585.     btn_edit_copy    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  586.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  587.         ,0,0,    10+32*3,20,32,32,NULL);
  588.     btn_edit_cut        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  589.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  590.         ,0,0,    10+32*4,20,32,32,NULL);
  591.     btn_edit_cls    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  592.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  593.         ,0,0,    10+32*5,20,32,32,NULL);
  594.     btn_edit_undo        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  595.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  596.         ,0,0,    10+32*6,20,32,32,NULL);
  597.  
  598.     btn_edit_first    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  599.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  600.         ,0,0,    10     ,20+8+32,32,32,NULL);
  601.     btn_edit_rr        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  602.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  603.         ,0,0,    10+32  ,20+8+32,32,32,NULL);
  604.     btn_edit_rev        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  605.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  606.         ,0,0,    10+32*2,20+8+32,32,32,NULL);
  607.     btn_edit_cue        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  608.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  609.         ,0,0,    10+32*3,20+8+32,32,32,NULL);
  610.     btn_edit_ff        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  611.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  612.         ,0,0,    10+32*4,20+8+32,32,32,NULL);
  613.     btn_edit_last        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  614.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  615.         ,0,0,    10+32*5,20+8+32,32,32,NULL);
  616.     btn_edit_play    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  617.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  618.         ,0,0,    10+32*6,20+8+32,32,32,NULL);
  619.  
  620.     btn_edit_dezi        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  621.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  622.         ,0,0,    10+(32*7)+16     ,20,32,32,NULL);
  623. /*★
  624.     btn_edit_cd        =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  625.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  626.         ,0,0,    10+(32*7)+16+32*2,20,32,32,NULL);
  627. */
  628.     btn_edit_pal    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  629.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  630.         ,0,0,    10+(32*7)+16     ,20+32+8,32,32,NULL);
  631.     btn_edit_oneshot=N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  632.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  633.         ,0,0,    10+(32*7)+16+32  ,20+32+8,32,32,NULL);
  634.     btn_edit_rec    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  635.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  636.         ,0,0,    10+(32*7)+16+32*2,20+32+8,32,32,NULL);
  637.  
  638.     sld_edit_page    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_sld
  639.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  640.         ,10,0,    10,20+(32+8)*2,(32*7)+16+(32*3)+4+(8*7+4),32,NULL);
  641.     txt_edit_now    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_txt
  642.         ,N_WIN_ATTR_see
  643.         ,0,0,    10,20+(32+8)*2+8,(8*3)+4,18,"   ");
  644.  
  645.     txt_edit_max    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_txt
  646.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  647.         ,0,0,    10+(32*7)+16+(32*3)+8,20   ,(8*7)+4,18,"---/---");
  648.     txt_edit_pal    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_txt
  649.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  650.         ,0,0,    10+(32*7)+16+(32*3)+8,20+18,(8*7)+4,18,"---:---");
  651.  
  652.     btn_edit_ins    =N_WIN_entryOpt(win_edit,N_WIN_OPTITEM_btn
  653.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  654.          |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  655.          |N_BTN_ATTR_check|N_BTN_ATTR_highlight
  656.         ,0,0,    10+(32*7)+16+(32*3)+8,20+8+32,(8*7)+4,18,"INS");
  657.  
  658. /*★パレット*/
  659.     txt_pal_mes    =N_WIN_entryOpt(win_pal,N_WIN_OPTITEM_txt
  660.         ,N_WIN_ATTR_see|N_TXT_ATTR_centering
  661.         ,0,0,    10,24     ,260-(10*2),18,NULL);
  662.     txt_pal_col    =N_WIN_entryOpt(win_pal,N_WIN_OPTITEM_txt
  663.         ,N_WIN_ATTR_see|N_TXT_ATTR_frame
  664.         ,0,0,    80,24+18+6,(8*12),18,"-----/-----");
  665.     N_WIN_entryOpt(win_pal,N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  666.         ,0,0,    80+(8*12)+4,24+18+6,(8*12),18,"colors");
  667.     btn_pal_ABORT    =N_WIN_entryOpt(win_pal,N_WIN_OPTITEM_btn
  668.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  669.         ,0,0,    220,72,50,24,"ABORT");
  670.  
  671. /*★CDプレーヤーパネル*/
  672.     btn_cd_play    =N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_btn
  673.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  674.         |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt
  675.         ,0,0,    10,24               ,(8*5+4),(20),"♪");
  676.     txt_cd_trk    =N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_txt
  677.         ,N_WIN_ATTR_see|N_BTN_ATTR_frame
  678.         ,0,0,    10,24+20+2          ,(8*5+4),18,"--/--");
  679.     btn_cd_rr    =N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_btn
  680.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  681.         |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt|N_TXT_ATTR_centering
  682.         ,0,0,    10+(8*5+4)+8          ,24   ,20,20,"<");
  683.     btn_cd_ff    =N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_btn
  684.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  685.         |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt|N_TXT_ATTR_centering
  686.         ,0,0,    10+(8*5+4)+8+20+2     ,24  ,20,20,">");
  687.     btn_cd_pause=N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_btn
  688.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_check
  689.         |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt|N_TXT_ATTR_centering
  690.         ,0,0,    10+(8*5+4)+8+(20+2)*2 ,24  ,20,20,"゙");
  691.     btn_cd_stop    =N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_btn
  692.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  693.         |N_BTN_ATTR_frame|N_BTN_ATTR_paint|N_BTN_ATTR_txt|N_TXT_ATTR_centering
  694.         ,0,0,    10+(8*5+4)+8+(20+2)*3 ,24  ,20,20,"ロ");
  695.     sld_cd_vol    =N_WIN_entryOpt(win_cd,N_WIN_OPTITEM_sld
  696.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective
  697.         ,20,20,    10+(8*5+4)+8          ,24+(20+2) ,20+64,20,"v");
  698.  
  699. /*★オプション指定*/
  700.     /*★カラーオプション指定*/
  701.     N_WIN_entryOpt(win_OPT[OPTWIN_COLOR],N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  702.         ,0,0,    20        ,24,(8*32),18        ,"・優先色指定をする");
  703.     btn_OPT[OPTBTN_COLOR_GRAV]=N_WIN_entryOpt(win_OPT[OPTWIN_COLOR]
  704.         ,N_WIN_OPTITEM_btn
  705.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  706.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  707.         ,0,0,    20+8*31    ,24,50,24            ,"   ");
  708.  
  709.     btn_OPT_act[OPTWIN_COLOR]=N_WIN_entryOpt(win_OPT[OPTWIN_COLOR]
  710.         ,N_WIN_OPTITEM_btn
  711.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  712.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  713.         ,0,0,    20+8*32-60    ,90,50,24            ,"決定");
  714.     btn_OPT_can[OPTWIN_COLOR]=N_WIN_entryOpt(win_OPT[OPTWIN_COLOR]
  715.         ,N_WIN_OPTITEM_btn
  716.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  717.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  718.         ,0,0,    20+8*32        ,90,50,24            ,"取消");
  719.     /*★フレームオプション指定*/
  720.     N_WIN_entryOpt(win_OPT[OPTWIN_FRAME],N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  721.         ,0,0,    20        ,24,(8*32),18        ,"・枠サイズを変更する");
  722.     btn_OPT[OPTBTN_FRAME_SIZE]=N_WIN_entryOpt(win_OPT[OPTWIN_FRAME]
  723.         ,N_WIN_OPTITEM_btn
  724.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  725.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  726.         ,0,0,    20+8*31    ,24,50,24            ,"   ");
  727.  
  728.     btn_OPT_act[OPTWIN_FRAME]=N_WIN_entryOpt(win_OPT[OPTWIN_FRAME]
  729.         ,N_WIN_OPTITEM_btn
  730.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  731.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  732.         ,0,0,    20+8*32-60    ,90,50,24            ,"決定");
  733.     btn_OPT_can[OPTWIN_FRAME]=N_WIN_entryOpt(win_OPT[OPTWIN_FRAME]
  734.         ,N_WIN_OPTITEM_btn
  735.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  736.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  737.         ,0,0,    20+8*32        ,90,50,24            ,"取消");
  738.     /*★ファイルオプション指定*/
  739.     N_WIN_entryOpt(win_OPT[OPTWIN_FILE],N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  740.         ,0,0,    20        ,24,(8*32),18        ,"・セーブ時に上書きチェックする");
  741.     btn_OPT[OPTBTN_FILE_OWCHECK]=N_WIN_entryOpt(win_OPT[OPTWIN_FILE]
  742.         ,N_WIN_OPTITEM_btn
  743.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  744.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  745.         ,0,0,    20+8*31    ,24,50,24            ,"   ");
  746.     N_WIN_entryOpt(win_OPT[OPTWIN_FILE],N_WIN_OPTITEM_txt,0/*N_WIN_ATTR_see*/
  747.         ,0,0,    20        ,24+30,(8*32),18    ,"・ファイルロード時にサイズ補正する");
  748.     btn_OPT[OPTBTN_FILE_LDRESIZE]=N_WIN_entryOpt(win_OPT[OPTWIN_FILE]
  749.         ,N_WIN_OPTITEM_btn
  750.         ,/*N_WIN_ATTR_see|*/N_WIN_ATTR_selective|N_BTN_ATTR_frame
  751.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  752.         ,0,0,    20+8*31    ,24+30,50,24        ,"   ");
  753.     N_WIN_entryOpt(win_OPT[OPTWIN_FILE],N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  754.         ,0,0,    20        ,24+30*2,(8*32),18    ,"・ファイルアクセス後にダイアログを閉じる");
  755.     btn_OPT[OPTBTN_FILE_WINCLOSE]=N_WIN_entryOpt(win_OPT[OPTWIN_FILE]
  756.         ,N_WIN_OPTITEM_btn
  757.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  758.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  759.         ,0,0,    20+8*31    ,24+30*2,50,24        ,"   ");
  760.     N_WIN_entryOpt(win_OPT[OPTWIN_FILE],N_WIN_OPTITEM_txt,N_WIN_ATTR_see
  761.         ,0,0,    20        ,24+30*3,(8*32),18    ,"・動画LOAD後にEDITダイアログを開く");
  762.     btn_OPT[OPTBTN_FILE_EDWINOPEN]=N_WIN_entryOpt(win_OPT[OPTWIN_FILE]
  763.         ,N_WIN_OPTITEM_btn
  764.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  765.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  766.         ,0,0,    20+8*31    ,24+30*3,50,24        ,"   ");
  767.  
  768.     btn_OPT_act[OPTWIN_FILE]=N_WIN_entryOpt(win_OPT[OPTWIN_FILE]
  769.         ,N_WIN_OPTITEM_btn
  770.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  771.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  772.         ,0,0,    20+8*32-60    ,190,50,24            ,"決定");
  773.     btn_OPT_can[OPTWIN_FILE]=N_WIN_entryOpt(win_OPT[OPTWIN_FILE]
  774.         ,N_WIN_OPTITEM_btn
  775.         ,N_WIN_ATTR_see|N_WIN_ATTR_selective|N_BTN_ATTR_frame
  776.         |N_BTN_ATTR_paint|N_BTN_ATTR_txt
  777.         ,0,0,    20+8*32        ,190,50,24            ,"取消");
  778.  
  779.  
  780. /*** ★関数登録★ ***/
  781.  
  782. /*** メインメニュー ***/
  783.     /*** info ***/
  784.     N_WIN_entryOptfunc(btn_menu_info,&menu_info);
  785.     /*** file ***/
  786.     N_WIN_entryOptfunc(btn_menu_file,&menu_file);
  787.     /*** edit ***/
  788.     N_WIN_entryOptfunc(btn_menu_edit,&menu_edit);
  789.     /*** CD演奏 ***/
  790.     N_WIN_entryOptfunc(btn_menu_cd,&menu_cd);
  791.     /*** option ***/
  792.     N_WIN_entryOptfunc(btn_menu_options,&menu_options);
  793.     /*** quit ***/
  794.     N_WIN_entryOptfunc(btn_menu_quit,&menu_quit);
  795.  
  796. /*** サブメニュー ***/
  797.     /*** color ***/
  798.     N_WIN_entryOptfunc(btn_smenu_color,&menu_OPTcolor);
  799.     /*** frame ***/
  800.     N_WIN_entryOptfunc(btn_smenu_frame,&menu_OPTframe);
  801.     /*** file ***/
  802.     N_WIN_entryOptfunc(btn_smenu_file,&menu_OPTfile);
  803.     /*** オプション設定ボタン ***/
  804.     for ( i=0 ; i<MAX_OPT_BTN ; i++ ) {
  805.         N_WIN_entryOptfunc(btn_OPT[i],&optbtn_click);
  806.     }
  807.     for ( i=0 ; i<MAX_OPT_WIN ; i++ ) {
  808.         N_WIN_entryOptfunc(btn_OPT_act[i],&optbtn_accept);
  809.         N_WIN_entryOptfunc(btn_OPT_can[i],&optbtn_cansel);
  810.     }
  811.  
  812. /*** info ***/
  813.     N_WIN_entryOptfunc(btn_myface,&push_myface);
  814.  
  815. /*** エディットウィンドゥ ***/
  816.     /*** 範囲指定 ***/
  817.     N_WIN_entryOptfunc(btn_edit_start,&set_start);
  818.     N_WIN_entryOptfunc(btn_edit_end,&set_end);
  819.     /*** 反転処理 ***/
  820.     N_WIN_entryOptfunc(btn_edit_reverse,&reverse);
  821.     /*** コピー処理 ***/
  822.     N_WIN_entryOptfunc(btn_edit_copy,©);
  823.     /*** カット処理 ***/
  824.     N_WIN_entryOptfunc(btn_edit_cut,&cut);
  825.     /*** 動画クリア ***/
  826.     N_WIN_entryOptfunc(btn_edit_cls,&tvi_clear);
  827.     /*** 安藤くん処理 ***/
  828.     N_WIN_entryOptfunc(btn_edit_undo,&undo);
  829.  
  830.     /*** INS/OVL切り換え ***/
  831.     N_WIN_entryOptfunc(btn_edit_ins,&change_insmode);
  832.  
  833.     /*** デジタイズ ***/
  834.     N_WIN_entryOptfunc(btn_edit_dezi,&dezitize);
  835.  
  836.     /*** パレット作成 ***/
  837.     N_WIN_entryOptfunc(btn_edit_pal,&pallette);
  838.     /*** 1枚録画 ***/
  839.     N_WIN_entryOptfunc(btn_edit_oneshot,&record_1page);
  840.     /*** 録画 ***/
  841.     N_WIN_entryOptfunc(btn_edit_rec,&record);
  842.     /*** 再生 ***/
  843.     N_WIN_entryOptfunc(btn_edit_play,&disp_play);
  844.     /*** 先頭へ ***/
  845.     N_WIN_entryOptfunc(btn_edit_first,&disp_first);
  846.     /*** 巻き戻し ***/
  847.     N_WIN_entryOptfunc(btn_edit_rr,&disp_rr);
  848.     /*** 一駒戻し ***/
  849.     N_WIN_entryOptfunc(btn_edit_rev,&disp_rev);
  850.     /*** 一駒進め ***/
  851.     N_WIN_entryOptfunc(btn_edit_cue,&disp_cue);
  852.     /*** 早送り ***/
  853.     N_WIN_entryOptfunc(btn_edit_ff,&disp_ff);
  854.     /*** 最終ページへ ***/
  855.     N_WIN_entryOptfunc(btn_edit_last,&disp_last);
  856.     /*** スライダー ***/
  857.     N_WIN_entryOptfunc(sld_edit_page,&move_page_slider);
  858.  
  859. /*** ファイルダイアログ ***/
  860.     /*** ディレクトリ情報取得 ***/
  861.     N_WIN_entryOptfunc(btn_file_dir,&N_fld_chgdir);
  862.     /*** ドライブ移動 ***/
  863.     N_WIN_entryOptfunc(btn_file_dirL,&N_fld_chgdirL);
  864.     N_WIN_entryOptfunc(btn_file_dirR,&N_fld_chgdirR);
  865.     /*** ディレクトリ上昇 ***/
  866.     N_WIN_entryOptfunc(btn_file_updir,&N_fld_updir);
  867.     /*** ファイルスクロール ***/
  868.     N_WIN_entryOptfunc(btn_file_dlgUP,&N_fld_dlgUPscr);
  869.     N_WIN_entryOptfunc(btn_file_dlgDOWN,&N_fld_dlgDOWNscr);
  870.     /*** ファイル名取得 ***/
  871.     for ( i=0 ; i<7 ; i++ ) {
  872.         N_WIN_entryOptfunc(btn_file_dlg[i],&N_fld_getpath);
  873.     }
  874.     /*** ファイル種選択 ***/
  875.     N_WIN_entryOptfunc(btn_file_tvi,&N_fld_setfile_TVI);
  876.     N_WIN_entryOptfunc(btn_file_tvp,&N_fld_setfile_TVP);
  877.     N_WIN_entryOptfunc(btn_file_tiff,&N_fld_setfile_TIFF);
  878.     N_WIN_entryOptfunc(btn_file_p25,&N_fld_setfile_P25);
  879.     N_WIN_entryOptfunc(btn_file_all,&N_fld_setfile_ALL);
  880.     /*** ロード ***/
  881.     N_WIN_entryOptfunc(btn_file_del,&delete);
  882.     N_WIN_entryOptfunc(btn_file_PalLd,&loadPal);
  883.     N_WIN_entryOptfunc(btn_file_PalSv,&savePal);
  884.     N_WIN_entryOptfunc(btn_file_MvSv,&multisave);
  885.     N_WIN_entryOptfunc(btn_file_LdRec,&loadRec);
  886.     N_WIN_entryOptfunc(btn_file_load,&load);
  887.     N_WIN_entryOptfunc(btn_file_save,&save);
  888.  
  889. /*** CDパネル ***/
  890.     N_WIN_entryOptfunc(btn_cd_play,&N_cd_play);
  891.     N_WIN_entryOptfunc(btn_cd_ff,&N_cd_ff);
  892.     N_WIN_entryOptfunc(btn_cd_rr,&N_cd_rr);
  893.     N_WIN_entryOptfunc(btn_cd_pause,&N_cd_pause);
  894.     N_WIN_entryOptfunc(btn_cd_stop,&N_cd_stop);
  895.     N_WIN_entryOptfunc(sld_cd_vol,&N_cd_vol);
  896. }
  897. /*
  898. $Log: RCS/rec_main.cv $
  899.  * Revision 1.19  91/01/10 15:30:06  Nam
  900.  * V0.0 L19 (debug at 2MB's hung, when DATA had loaded.)
  901.  *          (debug at get current path name.)
  902.  * 
  903.  * Revision 1.18  90/11/13 21:32:10  Nam
  904.  * debug
  905.  * 
  906.  * Revision 1.17  90/11/13 15:52:22  Nam
  907.  * Release at V0.0 L18d
  908.  * 
  909.  * Revision 1.16  90/11/13 12:37:44  Nam
  910.  * add MultiVolumeTiffSave
  911.  * 
  912.  * Revision 1.15  90/11/12 17:51:18  Nam
  913.  * add animation of myface
  914.  * 
  915.  * Revision 1.14  90/11/09 13:46:28  Nam
  916.  * renew value 'btn_opt_???'->'btn_OPT[]'
  917.  * renew value 'win_opt_???'->'win_OPT[]'
  918.  * 
  919.  * Revision 1.13  90/11/08 14:02:40  Nam
  920.  * add 'REC_OPT.H'
  921.  * 
  922.  * Revision 1.12  90/11/07 21:08:08  Nam
  923.  * add set option win
  924.  * 
  925.  * Revision 1.11  90/11/06 14:26:08  Nam
  926.  * add main menu and separate panel image
  927.  * 
  928.  * Revision 1.10  90/11/01 16:59:00  Nam
  929.  * Rel V0.0L17 at '90.11.2 for FPICS.
  930.  * 
  931.  * Revision 1.9  90/11/01 16:59:00  Nam
  932.  * renew info-window (with my face illust)
  933.  * 
  934.  * Revision 1.8  90/10/31 19:46:58  Nam
  935.  * renew get start path routine
  936.  * 
  937.  * Revision 1.7  90/10/31 14:03:40  Nam
  938.  * renew file-dialog's btn (add "*.P25")
  939.  * 
  940.  * Revision 1.6  90/10/30 13:17:32  Nam
  941.  * add '*.P25' and 'PalLd' btn / get path for T_MENU
  942.  * 
  943.  * Revision 1.5  90/10/29 11:33:18  Nam
  944.  * add win_pal's btn
  945.  * 
  946.  * Revision 1.4  90/10/28 21:21:26  Nam
  947.  * add win_pal
  948.  * 
  949.  * Revision 1.3  90/10/25 19:16:26  Nam
  950.  * use 'rec_st.h'
  951.  * 
  952.  * Revision 1.2  90/10/24 19:13:22  Nam
  953.  * separate a vector-table-object from main routine
  954.  * 
  955.  * Revision 1.1  90/10/10 18:05:20  Nam
  956.  * Initial revision
  957.  * 
  958. */
  959.