|目次前ページ次ページ|
────────────────────────────────────
8.グラフィック画面制御シーケンス(Windows版)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ◆98互換16色モードカラーグラフィックモード
 <パレット番号><カラー> <パレット番号><カラー>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    0    (黒)  8     (灰)
    1    (青)  9     (暗い青)
    2    (赤)  10    (暗い赤)
    3    (紫)  11    (暗い紫)
    4    (緑)  12    (暗い緑)
    5    (水色) 13    (暗い水色)
    6    (黄色) 14    (暗い黄色)
    7    (白)  15    (暗い白)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ◆DOS/V互換16色モードカラーグラフィックモード
 <パレット番号><カラー> <パレット番号><カラー>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    0    (黒)    8     (灰)
    1    (青)    9     (薄い青)
    2    (緑)    10    (薄い緑)
    3    (水色)   11    (薄い水色)
    4    (赤)    12    (薄い赤)
    5    (紫)    13    (薄い紫)
    6    (茶色)   14    (薄い黄)
    7    (白)    15    (明るい白)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●グラフィック機能を使用したサンプル画面
  ──────────────────────────────────
    グラフィック機能(タイルパターン)画面
  ──────────────────────────────────
    64色グラフィック機能画面
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ◆ 点線を描画するシーケンスは、MS−DOS版と互換がありません。
 ◆16色から 64色に拡張されました。(中間色の利用が可能です)
 ◆30種類の タイルパターンが予め用意されています。
 ◆Windows版では、 ハッチパターンができます。
 ◆ 画面解像度は、フォントセルサイズと画面行桁サイズに依存しますが、
  グラフィック描画では スケーリング機能が利用できます。
  SETUP(補助設定)または、エスケープシーケンスで変更できます。
  PC98または、DOS/Vで開発された、プログラムにある程度互換を
  持たせて動作させることが出来ます。また、画面の解像度が異なった
  複数のマシンで動作させることにも利用できます。画面の解像度の取得は

■<ESC>[161 W (v1.3以降) で取得します。
 画面サイズは、X方向=CX*C、Y方向=L*CY となります。
 リターン値(ホストに返す値)
<ESC>[$;桁数(C);行数(L);セルサイズ(CX)
 ;セルサイズ(CY);フォントサイズ(FX);フォントサイズ(FY)
 ;上側空きドット数(0);下側空きドット数(0);;$<CR>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■グラフィックの初期化(最初に1回出力してください)
 ━━━━━━━━━━━
 ESC[G (起動時に初期化されています)

■SCREEN(Windows版では、意味がありません)
 ━━━━━━
 ESC[1;p1;p2;p3;p4G (コメント扱いです。)

■グラフィックの終了(Windows版では無意味)
 ━━━━━━━━━━━━━━━━━━━━━━━━
 ESC[999G ビデオモードが直前のテキストモードに設定されます
─────────────────────────────────────
                8−1
─────────────────────────────────────
■VIEW
 ━━━━ 
   ディスプレイ上での表示領域(ビューポート)を指定します。
   このコマンドによって、アクティブ画面への図形描画は、
   ビューポート内にのみ反映されるようになります。
   (x1,y1)を左上の頂点、(x2,y2)を右下の頂点とする
   オリジナルスクリーン座標系上の長方形を図形表示領域として指定します。

※※※ x,yの座標値はビューポート相対ではなく、あくまでもスクリーン
    左上端からの値で描画します。(ウィンドウ相対でない時)

 ESC[2;x1;y1;x2;y2;c1;c2G ------描画領域の指定
   x1---左上のX座標
   y1---左上のY座標
   x2---右下のX座標
   y2---右下のY座標
   c1---(Windows版では無意味)
   c2---(Windows版では無意味)

   CLSによって消去される画面の範囲は、この枠によって
   囲まれた中だけで、わくは消されることはありません。
   VIEWは、図形の表示領域の指定を行うだけで、実際の画面に
   対する操作は行いませんので、VIEWによりビューポートを
   変更するだけで、以前のビューポート中の図形が移動するような
   ことはありません。また、VIEWは、すべてのグラフィックス
   画面表示の対象範囲を指定された領域に限定してしまいますから
   ビューポートの外に点や線を表示することは出来なくなります。
   ☆☆☆ウィンドウ表示時VIEWコマンドを実行するとウィンドウ側
      のビューポートに影響を与えますのでご注意ください。

■COLOR1
 ━━━━━━
   バックグランドカラー、フォアグランドカラーを指定する。
   フォアグランドカラーとは、図形描画においてパレット番号が省略
   されたときに使用される色のことである。

 ESC[3;c1;c2;c3;c4G      -------各部の色を指定

 c1---バックグラウンドカラー
 c2---ボーダーカラー(Windows版では無意味)
 c3---フォアグランドカラー
 c4---パレットモード(Windows版では無意味)

■COLOR2(※仕様が異なります。)
 ━━━━━━
   パレット番号と表示色コードを対応させ、パレット番号で表す色を
   定義する。

 ESC[4;p1;p2;p3;p4G    -------カラーパレットの変更

   p1---パレット番号(0〜15)
   p2---R赤の度合い(0〜255)
   p3---G緑の度合い(0〜255)
   p4---B青の度合い(0〜255)
─────────────────────────────────────
                8−2
─────────────────────────────────────
■CLS
 ━━━
   ビューポート内の描画領域を、バックグランドカラーの表示色で
   塗りつぶす。

 ESC[5G         -------描画領域の消去

■PSET
 ━━━━
   オリジナルスクリーン座標系で(x,y)によって指定された位置
   にドットを表示します。
    カラーは<パレット番号>によって指定し、もし省略された場合
   は、現在のフォアグランドカラーが採用されます。

 ESC[6;x;y;pG 
   x ---X座標
   y ---Y座標
   p ---パレット番号

■PRESET
 ━━━━━━
   オリジナルスクリーン座標系で(x,y)によって指定された位置
   にドットを表示します。
    カラーは<パレット番号>によって指定し、もし省略された場合
   は、現在のバックグランドカラーが採用されます。

 ESC[7;x;y;pG 
   x ---X座標
   y ---Y座標
   p ---パレット番号

■LINE(※仕様が一部異なります。)
 ━━━━
   直線、矩形の描画
   指定された2点を結ぶ線分、または、この線分を対角線とする矩形を
   描画する。さらに、矩形を塗りつぶすこともできる。
   ※<ラインスタイル>は指定出来なくなりました。
    その代わりペンスタイルが指定出来きるようになりました。

 ESC[8;x1;y1;x2;y2;p1;p2;p3;p4;p5G ----直線の描画
 ──────────────────────────────────
   x1---左上のX座標
 ──────────────────────────────────
   y1---左上のY座標
 ──────────────────────────────────
   x2---右下のX座標
 ──────────────────────────────────
   y2---右下のY座標
 ──────────────────────────────────
   p1---パレット番号(省略は255)
 ──────────────────────────────────
   p2---描画コード
     0:直線(L) 1:ボックス(B) 2:ボックスの塗りつぶし(BF)
 ──────────────────────────────────
─────────────────────────────────────
                8−3
─────────────────────────────────────
 ──────────────────────────────────
 ──────────────────────────────────
   ◆直線(L)ボックス(B)のとき
 ──────────────────────────────────
 ──────────────────────────────────
   p3---ペンスタイルスイッチ(※変更点)
      0:ペンスタイル指定なし 1:ペンラインスタイル指定あり     
            ※※※ ms-dos版ではペンスタイルではなくラインスタイルでした。 
 ──────────────────────────────────
   p4---ペンスタイル
 ──────────────────────────────────
      ※ペンスタイルのコード
 ──────────────────────────────────
               0:実線
               1:破線
               2:点線
               3:一点鎖線
               4:二点鎖線
               5:NULL
               6:PS_INSIDEFRAME
    ※上記以外の値:破線(ペンの太さは1となります)ver1.308a以降 
                    ms-dos版と動作が比較的似る様に変更しました。
                    ms-dos版ではペンスタイルではなくラインスタイルでした。
 ──────────────────────────────────
   p5---ペンの太さ(0,1は太さ1、2〜太さ)
 ──────────────────────────────────
 ──────────────────────────────────
   ◆ボックスの塗りつぶし(BF)のとき
 ──────────────────────────────────
   p3---パレットスイッチ
      0:パレット指定なし 1:パレット指定あり 2:タイルパターン
            4:ハッチパターン(※新設)
 ──────────────────────────────────
   p4---パレット番号塗りつぶしに使う色(省略は255)または
       タイルパターン番号、またはハッチパターン番号(※新設)
 ──────────────────────────────────
       ※※※ハッチパターン番号(※新設)
 ──────────────────────────────────
               0:斜線(右上から左下)
               1:クロス(十文字)
               2:クロス(斜)
               3:斜線(左上から右下)
               4:ヨコ線
               5:タテ線
 ──────────────────────────────────
   p5---ハッチパターンの時の線のパレット番号(※新設)
 ──────────────────────────────────
─────────────────────────────────────
                8−4
─────────────────────────────────────
■CIRCLE
 ━━━━━━
   指定された中心点、X方向半径、Y方向半径をもとに、楕円または
   円を描画する。円弧、または扇形を描画する。
   円、楕円、円弧、または扇形の内部を塗りつぶす。
   <パレット番号(線の色)>は円、楕円、円弧、または扇形の円周を
   描画する表示色を指定する。
   <パレット番号(領域色)>は円、楕円、円弧、または扇形の内部を
   塗りつぶす色、または、タイルパターン番号を指定する。
   <塗りつぶし指定>は円、楕円、円弧、または扇形の円周のみを描画
   するか、ベタ塗りするか、タイルパターンで塗りつぶすかを指定します。
    円弧、または扇形を描画のときは、<半径描画スイッチ>は開始
   線分、終了線分を描画するかどうかの指定をします。

 ESC[9;cx;cy;rx;ry;p1;p2;p3;p4G  ----円の描画
 ──────────────────────────────────
   cx---中心点のX座標
   cy---中心点のY座標
   rx---X方向の半径 
   ry---Y方向の半径
 ──────────────────────────────────
   p1---パレット番号(線の色)(省略は255)
   p2---塗りつぶし指定
      0:塗りつぶしなし 1:塗りつぶしあり 2:タイルパターン
            4:ハッチパターン(※新設)
   p3---パレット番号(領域色)(省略は255)
       タイルパターン番号、またはハッチパターン番号(※新設)
   p4---ハッチパターンの時の線のパレット番号(※新設)



 ──────────────────────────────────
 ESC[10;cx;cy;rx;ry;sx;sy;ex;ey;p1;p2;p3;p4;p5G  ----円弧の描画
 ──────────────────────────────────
   cx---中心点のX座標
   cy---中心点のY座標
   rx---X方向の半径 
   ry---Y方向の半径
   sx---開始点のX座標
   sy---開始点のY座標
   ex---終了点のX座標
   ey---終了点のY座標
 ──────────────────────────────────
   p1---パレット番号(線の色)(省略は255)
   p2---塗りつぶし指定  0:塗りつぶしなし 1:塗りつぶしあり   
      2:タイルパターン 4:ハッチパターン(※新設)
   p3---パレット番号(領域色)(省略は255)
       タイルパターン番号、またはハッチパターン番号(※新設)
   p4---半径描画スイッチ 0:半径描画なし 1:半径描画あり
   p5---ハッチパターンの時の線のパレット番号(※新設)
─────────────────────────────────────
                8−5
─────────────────────────────────────
■PAINT1
 ━━━━━━
   指定した点と境界色で決定される領域を指定の色(領域色になる)
   による塗りつぶし

 ESC[11;x;y;c1;c2G   -----  指定色による塗りつぶし
 ──────────────────────────────────
   x---開始点のX座標
   y---開始点のY座標
   c1---領域色
   c2---境界色
 ──────────────────────────────────
■PUT@(※仕様が一部異なります。)
 ━━━━
   指定されたJISコードの漢字または、半角コードを指定の位置に
   描画する。
   (x,y)で指定されたスクリーン座標の位置にJISコードで
   指定された漢字を表示さひます。
    漢字または、半角コードは、j1,j2でJISコードを2バイト
   の10進数に置き換えて指定します。
   <描画モード>は、
     PSET  漢字のグラフィックパターンをそのまま表示
     PRESET リバースして表示
     OR    既にある画面上のグラフィックパターンをビット
           毎にOR(論理和)し、その結果を画面に表示
           します。
     AND   既にある画面上のグラフィックパターンをビット
           毎にAND(論理積)し、その結果を画面に表示
           します。
     XOR   既にある画面上のグラフィックパターンをビット
           毎にXOR(排他的論理和)し、その結果を画面
           表示します。
 ──────────────────────────────────
 ESC[12;x;y;j1;j2;m;c1;c2;c3G-画面に漢字を表示(※仕様が一部異なります)
 ──────────────────────────────────

   x---表示領域の左上のX座標
   y---表示領域の左上のY座標
 ──────────────────────────────────
   j1--JIS第一バイト(0:半角,JISコードの10進数)
   j2--JIS第二バイト(JISコード第二バイトの10進数)
 ──────────────────────────────────
   m---描画モード
     0:PSET 1:PRESET 2:OR 3:AND 4:XOR
 ──────────────────────────────────
   c1---カラースィッチ 0:色の指定を省略 1:色の指定
 ──────────────────────────────────
   c2---字の色(パレット番号)
 ──────────────────────────────────
   c3---背景の色(パレット番号)
 ──────────────────────────────────
      [例]半角のAをX=100,Y=120に表示する。
         ESC[12;100;120;0;65;0;0G 
        全画の亜をX=60,Y=100に表示する。
         ESC[12;60;100;48;33;0;0G
────────────────────────────────────
                8−6
─────────────────────────────────────
■ROLL
 ━━━━
   アクティブ画面全体の描画情報を、指定ドット数分上下または、
   左右方向へ移動する。

 ESC[13;p1;p2;p3;p4;p5G -----------グラフィック画面のスクロール

■COPY
 ━━━━
   画面情報のハードコピーを行います。(Windows版では無意味)

 ESC[14;p1G    (※ver1.3以降で動作可能)

 ESC[15;pG --------画面ハードコピー時のプリンター指定
         (Windows版では無意味)

■PAINT2(※仕様が一部異なります。)
 ━━━━━━
   指定した点と境界色で決定される領域をタイルパターン
   により塗りつぶします

 ESC[16;p;t1;t2;t3;...;tn G -タイルパターン設定(Windows版で無意味)
   p ---タイルパターン番号
   t1,t2,t3,...,tn ----タイルパターン
  ★★★(16色モードのとき最大32バイト)

 ESC[17;x;y;c1;c2;c3G -----タイルパターンによる塗りつぶし 
 ──────────────────────────────────
   x---開始点のX座標
   y---開始点のY座標
   c1---タイルパターン番号(ESC−vcom++が用意)
        ※※※40以上のときハッチパターン(※新設)となります。
           ハッチパターン番号は、(c1−40)となります。
   c2---境界色(省略は255)
   c3---ハッチパターンの色(ハッチパターンのみ) %%%14-JUL-97%%% 
 ──────────────────────────────────

■POINT(※仕様が異なります。)
 ━━━━━
   ポイントのパレット番号取得

 ESC[18;x;yG 
 ──────────────────────────────────
   <ESC>[r;g;bG -----0から255(RGB赤緑青の色あい)
 ──────────────────────────────────
※ 【イメージデータ番号】について、(1〜32766)が指定出来ます。

 イメージデータ番号0はシステムが使用しています。
 また、30000〜32766は、システムが予約しています。
 (1〜29999)の範囲で使用してください。
 ※また32768以降は特別なビットマップを意味します(27-jan-97) 
─────────────────────────────────────
                8−7
─────────────────────────────────────
■ イメージデータ用機能
 ━━━━━━━━━━━
 ESC[19;n;x1;y1;x2;y2G ------イメージデータのセイブ
              [BASICのGET@関数]
 ──────────────────────────────────
   n ---イメージデータ番号(1〜32766)
   x1---開始点のX座標
   y1---開始点のY座標
   x2---終了点のX座標
   y2---終了点のY座標
 ──────────────────────────────────
 ESC[20;n;x1;y1;m;sw;c1;c2G --セイブされたイメージデータの
                画面出力
              [BASICのPUT@関数]
 ──────────────────────────────────
   n ---イメージデータ番号(1〜32766)
   x1---開始点のX座標
   y1---開始点のY座標
 ──────────────────────────────────
   m ---描画モード
     ━━━━━━━━
       0:PSET
       1:PRESET
       2:OR
       3:AND
       4:XOR
   sw---カラースィッチ(Windows版では無意味)
     ━━━━━━━━
       0:指定なし
       1:白と黒に色をつける
   c1---白につける色(Windows版では無意味)
   c2---黒につける色(Windows版では無意味)
 ──────────────────────────────────
ESC[21;nG-----イメージデータの指定セイブデータ削除
  n ---イメージデータ番号(1〜32766)
 ──────────────────────────────────

■グラフィックデータ退避復元
 ━━━━━━━━━━━━━
 ──────────────────────────────────
 ESC[22G ----グラフィックの全セイブデータ削除
 ──────────────────────────────────
 ESC[23G ----グラフィック画面をEMS又はXMS退避領域に保管する。
             (Windows版では無意味)
 ──────────────────────────────────
 ESC[24G ----EMS又はXMS退避領域からグラフィック画面を復元する。
             (Windows版では無意味)
 ──────────────────────────────────

■グラフィックセイブリストアモード時の指定(※仕様が一部異なります。)
 ━━━━━━━━━━━━━━━━━━━━━
 ESC[25;4;nG ---ウィンドウバックグランドカラーのグラフィックペイント
        (色はウィンドウ作成時の色コード)

─────────────────────────────────────
                8−8
─────────────────────────────────────
 ESC[25;n1;n2G --ウィンドウバックグランドカラーのグラフィックペイント
(以下の仕様はWindows版では無意味)
 ──────────────────────────────────
   n1−−0:ベタ塗り(ウィンドウ作成時の色の反転)
       1:縞塗り
       2:ベタ塗り(ウィンドウ作成時の色属性)
 ──────────────────────────────────
(以下の仕様はWindows版で 有効)
 ──────────────────────────────────
   4:Windows版用ウィンドウバックグランドカラーの指定 [23-JUL-97]
   n2 ==> ウィンドウバックグランドカラー(0から15(ver2)/63(ver3))
  ※※※現在のテキスト文字表示アトリビュートが変更されます。
   5:Windows版用ウィンドウバックグランドカラーの解消(ver3のみ)[23-JUL-97]
  ※※※現在のテキスト文字表示アトリビュートが初期設定に戻されます。
   8:Windows版用ウィンドウバックグランドカラーのモード設定(ver3のみ)[23-JUL-97]
   n2 ==> ウィンドウバックグランドカラー(0から63)(ver3のみ)
  ※※※現在のテキスト文字表示アトリビュートは変更されません。
     窓枠と内側の色を変えられますが、ウィンドウ作成後
     テキストアトリビュートも設定が必要です。
   9:Windows版用ウィンドウバックグランドカラーのモード解消(ver3のみ)[23-JUL-97]
  ※※※モード設定状態を解消します。
 ──────────────────────────────────
(以下の仕様はWindows版では ver3.524a以降でのみ有効)
 ──────────────────────────────────
 ESC[26;nG ---vcomウィンドウグラフィックス窓枠の色(デフォルトは灰色)
 n==>(0から63) : グラフィックス窓枠の色(0 から 63)[ver3.524a以降] 
            ただし、0 から 15は dos/v用の パレットの番号となります。
 n==>256 : グラフィックス窓枠の色モードのリセット(解消)[ver3.524a以降]
 n==>512 : ウィンドウ作成時のテキストの色で窓枠の色とするモードにセット 
 ──────────────────────────────────
■グラフィック漢字表示モード
 ━━━━━━━━━━━━━
   通常のMS−DOS文字表示でグラフィック画面に表示できます。
   このモードで<CR><LF><BS>は特別な意味を持って
   おり通常のテキスト表示時と同様な動作をします。
   また、最下行で<LF>またはラップアラウンドが起きたときは
    グラフィック画面がスクロールアップします。

 ESC[27;x;y;j;m;c1;c2;c3G --グラフィック漢字モードオン
         (これ以降の出力文字はグラフィックに表示されます)
 ─────────────────────────────────
   x---表示領域の左上のX座標
   y---表示領域の左上のY座標
 ─────────────────────────────────
   j---文字サイズ
    (0:半角,1:1/4角)----LIO機能による画面表示mc1c2c3で指定します。
               (1/4角はWindows版では無意味)
   m---描画モード(Windows版では無意味)
     0:PSET 1:PRESET 2:OR 3:AND 4:XOR
 ─────────────────────────────────
   c1---カラースィッチ     0:色の指定を省略  1:色の指定
     ((Windows版では無意味)/色の指定を省略は不可)
   c2---字の色(パレット番号)
   c3---背景の色(パレット番号)
 ─────────────────────────────────
 ESC[28G --グラフィック漢字モードオフ
         (これ以降の出力文字はテキスト位置に表示されます)
────────────────────────────────────
                8−9
────────────────────────────────────
 ESC[29;mG --グラフィック漢字モードオン
         (これ以降の出力文字はグラフィックに表示されます)
 ──────────────────────────────────
    m−−0,1,2単高単幅のグラフィック文字モード
       3  倍高倍幅の上半分グラフィック文字モード
       4  倍高倍幅の下半分グラフィック文字モード
       5  グラフィック文字モードオフ
         (これ以降の出力文字はテキスト位置に表示されます)
       6  単高倍幅のグラフィック文字モード
 ──────────────────────────────────
     (ラインカラム位置にのみ表示)----高分解能カラーモード
      のみ有効で、テキストのラインカラム位置に表示されます。
      この時は<ESC>[10;10H等による文字位置指定が有効となります。
      この時は<ESC>[43m等による文字表示属性が有効となります。
 ──────────────────────────────────
■グラフィックウィンドウ内のスクロール
 ━━━━━━━━━━━━━━━━━━
 ESC[31;lineG --グラフィックウィンドウの上方向スクロール
            lineはライン数
 ESC[32;lineG --グラフィックウィンドウの下方向スクロール
            lineはライン数
 ESC[33;columnG --グラフィックウィンドウの右方向スクロール
            columnはカラム数
 ESC[34;columnG --グラフィックウィンドウの左方向スクロール
            columnはカラム数

■グラフィック基本図形描画の相対モード指定
 ━━━━━━━━━━━━━━━━━━━━
 ESC[35;modeG --modeが1のときグラフィック基本図形描画を
            カレントウィンドウの上左端行カラム位置からの
            相対位置指定で描画します。
            modeが0のときグラフィック基本図形描画を
            スクリーン座標の絶対位置指定で描画します。
 ★★★グラフィック基本図形描画の相対モードは全ての基本図形描画
    に影響を与えます。相対モードのときは、描画範囲は
    カレントウィンドウの内側のみとなります。
    グラフィックの初期化、SCREEN、VIEWをベース画面
    以外で実行しないでください。

■イメージデータの複写
 ━━━━━━━━━━
 ESC[36;n1;n2G --イメージデータを複写する。  (31-aug-96変更)

    n1---複写元イメージデータ番号
    n2---複写先イメージデータ番号

■イメージデータの1/2縮小(Windows版では無意味)
 ━━━━━━━━━━━━━
 ESC[37;n1G ---イメージデータを1/2縮小する。(ドット抜き)
    n1---イメージデータ番号
 ESC[38;n1G ---イメージデータを1/2縮小する。(OR処理する)
    n1---イメージデータ番号
─────────────────────────────────────
                8−10
     |目次前ページ次ページ