Wide Studio Object Reference

Wide Studio Home
Up to

## クラスの型

WSCvdrawingArea

## メソッド関数仕様

### setForeColor 関数の説明

書式
  long setForeColor(char* cname)
機能
  描画色を色名称で指定します。
処理
  drawLine 等のメソッドで用いる描画色を指定します。
引数

  (in)char* cname | 色名称

色名称は、次のフォーマットで指定します。
#RRGGBB
RR: ００〜ｆｆの範囲で１６進数で赤の輝度を指定します。
GG: ００〜ｆｆの範囲で１６進数で緑の輝度を指定します。
BB: ００〜ｆｆの範囲で１６進数で青の輝度を指定します。
返値
  WS_NO_ERR:成功、WS_ERR:失敗
注意
サンプル

      #include <WSCvdrawingArea.h>
      void sample_proc(WSCbase* object){
        WSCvdrawingArea* drawing_a =(WSCvdrawingArea*)object->cast("WSCvdrawingArea");
        if (drawing_a == NULL){
          return;
        }

        //表示色の設定と矩形の描画
        drawing_a->setForeColor("#ffff00");
        drawing_a->drawRect(150,50,100,100);

        //表示色の設定と塗りつぶし矩形の描画
        drawing_a->setForeColor("#00ff00");
        drawing_a->drawFillRect(20,100,50,50);

        //表示色の設定と円弧の描画
        drawing_a->setForeColor("#0000ff");
        drawing_a->drawArc(50,200,50,50,60*64,270*64);

        //表示色の設定とハッチパターンによる塗りつぶし円弧(パイ)の描画
        drawing_a->setForeColor("#ff00ff");
        drawing_a->setHatchPattern(7);
        drawing_a->drawFillArc(150,200,100,50,60*64,270*64, 0 /*PIE*/ );

        //表示色の設定とハッチパターンによる塗りつぶし円弧の描画
        drawing_a->setForeColor("#ff00ff");
        drawing_a->setHatchPattern(6);
        drawing_a->drawFillArc(250,200,100,50,60*64,270*64, 1 /*CHORD*/ );

        //多角形の描画
        WSCpoint pt[3];
        pt[0].x = 300;
        pt[0].y = 300;
        pt[1].x = 330;
        pt[1].y = 330;
        pt[2].x = 300;
        pt[2].y = 330;
        drawing_a->setForeColor("#00ffff");
        drawing_a->setHatchPattern(0);
        drawing_a->drawFillPoly(pt,3);

        //表示色の設定と線の描画
        drawing_a->setForeColor("#ff0000");
        drawing_a->setLineWidth(2); //線幅 2ドット
        drawing_a->setLineType(1);  //点線
        drawing_a->drawLine(50,50,100,100);

        //文字列の描画
        drawing_a->setForeColor("#000000");
        drawing_a->drawString(100,300,100,30,0,WS_CENTER,"ABCDE1234");
        //背景付き文字列の描画
        drawing_a->setBackColor("#808080");
        drawing_a->drawFillString(100,330,100,30,0,WS_CENTER,"ABCDE1234");

        //リージョンによるクリッピング
        drawing_a->setRegion(70,70,80,80);
        drawing_a->drawLine(50,50,100,100); //70,70 - 80,80 が描画されます。
      }

  ### setBackColor 関数の説明

  書式
    long setBacKColor(char* cname)
  機能
    背景色を指定を色名称で指定します。
  処理
    drawFillRect 等のメソッドで用いる背景色を指定します。
  引数

    (in)char* cname | 色名称

    色名称は、次のフォーマットで指定します。
    #RRGGBB
    RR: ００〜ｆｆの範囲で１６進数で赤の輝度を指定します。
    GG: ００〜ｆｆの範囲で１６進数で緑の輝度を指定します。
    BB: ００〜ｆｆの範囲で１６進数で青の輝度を指定します。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
  サンプル
    setForeColor() を参照してください。

  ### setLineWidth 関数の説明

  書式
    long setLineWidth(short linewidth)
  機能
    描画する線の太さを指定します。
  処理
    drawLine 等のメソッドで用いる線幅を指定します。
  引数

    (in)short linewidth | 線幅

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### setLineDashType 関数の説明

  書式
    long setLineDashType(char no)
  機能
    描画する線の点線属性を指定します。
  処理
    drawLine 等のメソッドで用いる線の点線属性を指定します。
  引数

    (in)char no | 点線属性

    点線属性に指定できる値には、次のようなものがあります。

    属性値 | 意味
    0 | 実線
    1 | 鎖線
    2 | 長鎖線
    3 | 一点鎖線
    4 | 二点鎖線
    5 | 長一点鎖線
    6 | 長二点鎖線
    7 | 細点線

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
  サンプル
    setForeColor() を参照してください。

  ### setHatchPattern 関数の説明

  書式
    long setHatchPattern(char no)
  機能
    塗りつぶし属性を指定します。
  処理
    drawRect 等のメソッドで使用される塗りつぶし属性を指定します。
  引数

    (in)char no | 塗りつぶし属性

    塗りつぶし属性に指定できる値には、 次のようなものがあります。

    属性値 | 意味
    0 | ベタ塗
    1 | 左下斜線
    2 | 右下斜線
    3 | 縦線
    4 | 横線
    5 | 斜め交差
    6 | 縦横交差
    7 | ドット

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  サンプル
    setForeColor() を参照してください。
  注意
    なし。

  ### setRegion 関数の説明

  書式
    long setRegion(short x,short y,unsigned short w,unsigned short h);
  機能
    描画する領域を指定します。
  処理
    指定した領域以外は描画の対象から外します。
  引数

    (in)short x | Ｘ座標
    (in)short y | Ｙ座標
    (in)unsigned short w | 領域の横幅
    (in)unsigned short h | 領域の縦幅

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawArc 関数の説明

  書式
    long drawArc(short x,short y,unsigned short w, unsigned short h,short a1,short a2);
  機能
    円弧、楕円弧を描画します。
  処理
    横直径 w、縦直径 h を持つ円または楕円の、X軸右水平を０度とした 反時計回りで、円弧開始角度、終了角度を指定します。 このとき、64 倍した値を指定するのに注意してください。これは、 1/64 度の精度確保するためです。 完全な円、または円弧を描く場合は、 それぞれ 0 * 64、360 * 64 を指定します。
  引数

    (in)short x | Ｘ座標
    (in)short y | Ｙ座標
    (in)unsigned short w | 領域の横幅
    (in)unsigned short h | 領域の縦幅
    (in)short a1 | 円弧の開始角度
    (in)short a2 | 円弧の終了角度

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawFillArc 関数の説明

  書式
    long drawFillArc(short x,short y,unsigned short w, unsigned short h,short a1,short a2,char kind);
  機能
    塗りつぶし円弧、楕円弧を描画します。
  処理
    横直径 w、縦直径 h を持つ円または楕円の、X軸右水平を０度とした 反時計回りで、円弧開始角度、終了角度を指定します。 このとき、64 倍した値を指定するのに注意してください。これは、 1/64 度の精度確保するためです。 完全な円、または円弧を描く場合は、 それぞれ 0 * 64、360 * 64 を指定します。 円弧の種別を指定することによって、扇型の円弧、弓型の円弧を 描画することができます。
  引数

    (in)short x | Ｘ座標
    (in)short y | Ｙ座標
    (in)unsigned short w | 領域の横幅
    (in)unsigned short h | 領域の縦幅
    (in)short a1 | 円弧の開始角度
    (in)short a2 | 円弧の終了角度
    (in)char kind | 塗りつぶし円弧の種別

    塗りつぶし種別に指定できる値には、 次のようなものがあります。

    属性値 | 意味
    0 | 扇型
    1 | 弓型

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawLine 関数の説明

  書式
    long drawLine(short x1,short y1,short x2,short y2);
  機能
    線を描画します。
  処理
    指定した座標x1,y1 から x2,y2 まで線を描画します。
  引数

    (in)short x1 | 線の開始座標Ｘ
    (in)short y1 | 線の開始座標Ｙ
    (in)short x2 | 線の終了座標Ｘ
    (in)short y2 | 線の終了座標Ｙ

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawLines 関数の説明

  書式
    long drawLines(WSCpoint* pt,long num);
  機能
    折れ線を描画します。
  処理
    指定した座標X1,Y1 から Xn,Yn まで折れ線を描画します。
  引数

    (in)WSCpoint* pt | 端点座標の配列
    (in)long num | 端点の数

    WSCpoint は、メンバ x,y を持ちます。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          WSCpoint pt[3];
          pt[0].x = 300;
          pt[0].y = 300;
          pt[1].x = 330;
          pt[1].y = 330;
          pt[2].x = 300;
          pt[2].y = 330;
          drawing_a->setForeColor("#00ffff");
          drawing_a->drawLines(pt,3);

  ### drawRect 関数の説明

  書式
    long drawRect(short x,short y,unsigned short w,unsigned short h);
  機能
    矩形を描画します。
  処理
    左上角をx,y とした横幅 w、縦幅 h の矩形を描画します。
  引数

    (in)short x | Ｘ座標
    (in)short y | Ｙ座標
    (in)unsigned short w | 矩形の横幅
    (in)unsigned short h | 矩形の縦幅

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawFillRect 関数の説明

  書式
    long drawFillRect(short x,short y,unsigned short w,unsigned short h);
  機能
    塗りつぶし矩形を描画します。
  処理
    左上角をx,y とした横幅 w、縦幅 h の塗りつぶし矩形を描画します。
  引数

    (in)short x | Ｘ座標
    (in)short y | Ｙ座標
    (in)unsigned short w | 矩形の横幅
    (in)unsigned short h | 矩形の縦幅

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawRects 関数の説明

  書式
    long drawRects(WSCrect* rect,long num);
  機能
    矩形を複数個描画します。
  処理
    WSCrect 配列で指定された複数の矩形を描画します。
  引数

    (in)WSCrect* rect | 矩形の配列
    (in)long num | 端点の数

    WSCrect は、メンバ x,y,width,height を持ちます。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          WSCrect rect[3];
          rect[0].setRect(300,300,10,10);
          rect[1].setRect(320,300,10,10);
          rect[2].setRect(340,300,10,10);
          drawing_a->setForeColor("#00ffff");
          drawing_a->drawRects(rect,3);

  ### drawFillRects 関数の説明

  書式
    long drawFillRects(WSCrect* pt,long num);
  機能
    塗りつぶし矩形を複数個描画します。
  処理
    WSCrect 配列で指定された複数の塗りつぶし矩形を描画します。
  引数

    (in)WSCrect* rect | 矩形の配列
    (in)long num | 端点の数

    WSCrect は、メンバ x,y,width,height を持ちます。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          WSCrect rect[3];
          rect[0].setRect(300,300,10,10);
          rect[1].setRect(320,300,10,10);
          rect[2].setRect(340,300,10,10);
          drawing_a->setForeColor("#00ffff");
          drawing_a->drawFillRects(rect,3);

  ### drawPoly 関数の説明

  書式
    long drawPoly(WSCpoint* pt,long num);
  機能
    多角形を描画します。
  処理
    指定した座標X1,Y1 から Xn,Yn までを結ぶ多角形を描画します。
  引数

    (in)WSCpoint* pt | 端点座標の配列
    (in)long num | 端点の数

    WSCpoint は、メンバ x,y を持ちます。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          WSCpoint pt[3];
          pt[0].x = 300;
          pt[0].y = 300;
          pt[1].x = 330;
          pt[1].y = 330;
          pt[2].x = 300;
          pt[2].y = 330;
          drawing_a->setForeColor("#00ffff");
          drawing_a->drawPoly(pt,3);

  ### drawFillPoly 関数の説明

  書式
    long drawFillPoly(WSCpoint* pt,long num);
  機能
    塗りつぶし多角形を描画します。
  処理
    指定した座標X1,Y1 から Xn,Yn までを結ぶ塗りつぶし多角形を描画します。
  引数

    (in)WSCpoint* pt | 端点座標の配列
    (in)long num | 端点の数

    WSCpoint は、メンバ x,y を持ちます。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor() を参照してください。

  ### drawGradation 関数の説明

  書式
    long drawGradation(long type,short col1,short col2, short col3,short x,short y,WSCushort w,WSCushort h, WSCuchar grad_margin);
  機能
    グラデーションされた矩形を描画します。
  処理
    指定された３色を使用して、色１〜色２〜色３へと グラデーションされた矩形を描画します。
  引数

    (in)long type | グラデーションの種別
    (in)short col1 | 色１
    (in)short col2 | 色２
    (in)short col3 | 色３
    (in)short x | 座標Ｘ
    (in)short y | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)WSCuchar grad_margin | 色２の幅

    グラデーションされた矩形領域を指定し、 グラデーションのマージンには、色２の幅をドット指定します。 グラデーション種別に指定できる値には、 次のようなものがあります。

    グラデーション種別 | 意味
    WS_GR_LT_RB | 左上→右下
    WS_GR_RT_LB | 右上→左下
    WS_GR_LB_RT | 左下→右上
    WS_GR_RB_LT | 右下→左上
    WS_GR_T_B | 上→下
    WS_GR_B_T | 下→上
    WS_GR_L_R | 左→右
    WS_GR_R_L | 右→左

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          short cno1 = WSGIappColorSet()->getColorNo("#888888");
          short cno2 = WSGIappColorSet()->getColorNo("#aaaaaa");
          short cno3 = WSGIappColorSet()->getColorNo("#000000");
          drawing_a->drawGradation(WS_GR_T_B,cno1,cno2,cno3,10,10,100,50,10);

  ### drawImage 関数の説明

  書式
    long drawImage(short x,short y,WSCushort w,WSCushort h, WSDimage* img,char align);
  機能
    画像を表示します。
  処理
    指定された画像構造体を指定矩形内に描画します。
  引数

    (in)short x | 座標Ｘ
    (in)short y | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)WSDimage* img | 表示させたい画像
    (in)char align | アラインメント

    アラインメントに指定できる値には、 次のようなものがあります。

    属性値 | 意味
    WS_LEFT | 左寄
    WS_RIGHT | 右寄
    WS_CENTER | 中央
    WS_TOP | 上寄
    WS_BOTTOM | 下寄
    WS_LEFT_TOP | 左上寄
    WS_LEFT_BOTTOM | 左下寄
    WS_RIGHT_BOTTOM | 右下寄
    WS_RIGHT_TOP | 右上寄

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          WSCimage* image = WSGIappImageSet()->getImage("001.jpg");
          drawing_a->drawImage(10,10,100,100,image,WS_CENTER);

  ### drawImage 関数の説明

  書式
    long drawImage(short x,short y,WSCushort w,WSCushort h, char* img,char align);
  機能
    画像を表示します。
  処理
    指定された画像を指定矩形内に描画します。
  引数

    (in)short x | 座標Ｘ
    (in)short y | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)char* imgname | 表示させたい画像のファイル名
    (in)char align | アラインメント

    アラインメントに指定できる値には、 次のようなものがあります。

    属性値 | 意味
    WS_LEFT | 左寄
    WS_RIGHT | 右寄
    WS_CENTER | 中央
    WS_TOP | 上寄
    WS_BOTTOM | 下寄
    WS_LEFT_TOP | 左上寄
    WS_LEFT_BOTTOM | 左下寄
    WS_RIGHT_BOTTOM | 右下寄
    WS_RIGHT_TOP | 右上寄

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          drawing_a->drawImage(10,10,100,100,"001.jpg",WS_CENTER);

  ### drawStretchedImage 関数の説明

  書式
    long drawStretchedImage(short x,short y, WSCushort w,WSCushort h, WSDimage* img);
  機能
    画像を伸縮して表示します。
  処理
    指定された画像を、指定された矩形に伸縮して表示します。
  引数

    (in)short x | 座標Ｘ
    (in)short x | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)WSDimage* img | 表示させたい画像

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          WSCimage* image = WSGIappImageSet()->getImage("001.jpg");
          drawing_a->drawStretchedImage(10,10,100,100,image);

  ### drawStretchedImage 関数の説明

  書式
    long drawStretchedImage(short x,short y, WSCushort w,WSCushort h, char* img);
  機能
    画像を伸縮して表示します。
  処理
    指定された画像を、指定された矩形に伸縮して表示します。
  引数

    (in)short x | 座標Ｘ
    (in)short x | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)char* img | 表示させたい画像ファイル名

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル

          drawing_a->drawStretchedImage(10,10,100,100,"001.jpg");

  ### drawString 関数の説明

  書式
    long drawString(short x,short y,WSCushort w,WSCushort h, char font_no,char align,char* string, long encoding = WS_EN_DEFAULT);
  機能
    指定された文字列を指定された矩形内に表示します。
  処理
    指定された文字列をエンコーディングに従がって指定された 矩形内に表示します。
  引数

    (in)short x | 座標Ｘ
    (in)short x | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)char font_no | フォント番号
    (in)char align | アラインメント
    (in)char* string | 表示させたい文字列
    (in)long encoding | 文字列のエンコーディング

    フォント番号には、０番からのフォント番号を指定します。 アラインメントに指定できる値には、 次のようなものがあります。

    属性値 | 意味
    WS_LEFT | 左寄
    WS_RIGHT | 右寄
    WS_CENTER | 中央
    WS_TOP | 上寄
    WS_BOTTOM | 下寄
    WS_LEFT_TOP | 左上寄
    WS_LEFT_BOTTOM | 左下寄
    WS_RIGHT_BOTTOM | 右下寄
    WS_RIGHT_TOP | 右上寄

    エンコーディングに指定できる値には、 次のようなものがあります。省略すると WS_EN_DEFAULT が指定されます。

    属性値 | 意味
    WS_EN_DEFAULT | 現在の設定を指定(省略時の値)
    WS_EN_LOCALE | 現在の LANG 環境変数の設定を指定
    WS_EN_NONE | 設定を行わない
    WS_EN_ISO8859_1 | ISO8859(1) を指定
    WS_EN_ISO8859_2 | ISO8859(2) を指定
    WS_EN_ISO8859_3 | ISO8859(3) を指定
    WS_EN_ISO8859_4 | ISO8859(4) を指定
    WS_EN_ISO8859_5 | ISO8859(5) を指定
    WS_EN_ISO8859_6 | ISO8859(6) を指定
    WS_EN_ISO8859_7 | ISO8859(7) を指定
    WS_EN_ISO8859_8 | ISO8859(8) を指定
    WS_EN_ISO8859_9 | ISO8859(9) を指定
    WS_EN_ISO8859_10 | ISO8859(10) を指定
    WS_EN_ISO8859_11 | ISO8859(11) を指定
    WS_EN_ISO8859_12 | ISO8859(12) を指定
    WS_EN_ISO8859_13 | ISO8859(13) を指定
    WS_EN_ISO8859_14 | ISO8859(14) を指定
    WS_EN_ISO8859_15 | ISO8859(15) を指定
    WS_EN_UTF8 | UTF8 を指定
    WS_EN_KOI8R | KOI8R を指定
    WS_EN_EUCJP | EUCJP を指定
    WS_EN_SJIS | SJIS を指定
    WS_EN_EUCKR | EUCKR を指定
    WS_EN_EUCCN | EUCCN を指定
    WS_EN_BIG5 | BIG5 を指定

  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor()を参照してください。

  ### drawFillString 関数の説明

  書式
    long drawFillString(short x,short y,WSCushort w,WSCushort h, char font_no,char align,char* string, long encoding = WS_EN_DEFAULT);
  機能
    指定された文字列を指定された矩形内に背景色付き表示します。
  処理
    指定された文字列をエンコーディングに従がって指定された 矩形内に表示します。
  引数

    (in)short x | 座標Ｘ
    (in)short x | 座標Ｙ
    (in)WSCushort w | 横幅
    (in)WSCushort h | 縦幅
    (in)char font_no | フォント番号
    (in)char align | アラインメント
    (in)char* string | 表示させたい文字列
    (in)long encoding | 文字列のエンコーディング

    引数の詳細は、drawString の項を参照ください。
  返値
    WS_NO_ERR:成功、WS_ERR:失敗
  注意
    なし。
  サンプル
    setForeColor()を参照してください。

  Document Release 3.20
  For Use with Wide Studio Release 3.20, Winter 2002

  WideStudio Home | Up to

  Copyright(C) T. Hirabayashi, 1999-2002 |  | Last modified: Nov. 28, 2002