Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSDdev

メソッド関数仕様



setScalePtr 関数の説明

書式
void setScalePtr(double* ptr)
機能
表示倍率を格納した変数へのポインタを指定します。
処理
表示倍率を格納した変数へのポインタが設定されると、 その倍率で描画します。
引数
(in)double* ptr 倍率を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
  dev->setScalePtr(&scale);//double 型である scale のポインタを渡します。



setXOffsetPtr 関数の説明

書式
void setXOffset(short* ptr)
機能
表示位置Xのオフセットを格納した変数へのポインタを指定します。
処理
表示位置Xのオフセットを格納した変数へのポインタが 設定されると、 オフセット値を加算した座標で描画します。
引数
(in)short* ptr オフセット値を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
  dev->setXOffsetPtr(&xoffset);//short 型である xoffset のポインタを渡します。



setYOffsetPtr 関数の説明

書式
void setYOffset(short* ptr)
機能
表示位置Yのオフセットを格納した変数へのポインタを指定します。
処理
表示位置Yのオフセットを格納した変数へのポインタが 設定されると、 オフセット値を加算した座標で描画します。
引数
(in)short* ptr オフセット値を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
  dev->setYOffsetPtr(&yoffset);//short 型である yoffset のポインタを渡します。



getScale 関数の説明

書式
double getScale()
機能
表示倍率を取得します。
処理
表示倍率を格納した変数へのポインタが設定されている場合、 その値を返します。設定されていない場合は、1 が返されます。
引数
なし。
返値
表示倍率
注意
なし。
サンプル
  //WSDdev インスタンスに設定されているスケールオフセットを取得します。
  double scale = dev->getScale();



getXOffset 関数の説明

書式
short getXOffset()
機能
表示位置Xのオフセット
処理
表示位置Xのオフセットを格納したポインタが設定されている 場合は、その値が返されます。 設定されていない場合、0 が返されます。
引数
なし。
返値
表示位置Xのオフセット
注意
なし。
サンプル
  //WSDdev インスタンスに設定されている X オフセットを取得します。
  short xoffset = dev->getXOffset();



getYOffset 関数の説明

書式
short getYOffset()
機能
表示位置Yのオフセット
処理
表示位置Yのオフセットを格納したポインタが設定されている 場合は、その値が返されます。 設定されていない場合、0 が返されます。
引数
なし。
返値
表示位置Yのオフセット
注意
なし。
サンプル
  //WSDdev インスタンスに設定されている Y オフセットを取得します。
  short yoffset = dev->getYOffset();



setForeColor 関数の説明

書式
long setForeColor(short cno)
機能
描画色を色番号で指定します。
処理
drawLine 等のメソッドで用いる描画色を指定します。
引数
(in)short cno 色番号
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
サンプル
//実際の WSCvline::draw() の例です。
long WSCvline::draw(){
  if (getVisible() == False){
    return WS_NO_ERR;
  }
  WSDdev* dev = getowndev();
  if (dev == NULL){
    return WS_ERR;
  }
  short x = _x;
  short y = _y;
  WSCushort w = _w;
  WSCushort h = _h;

  WSCbool absolute = getAbsoluteDraw();
  if (absolute == True){
  }else
  if (dev->isExposed(x, y, w, h) == False){
    return WS_NO_ERR;
  }
  WSCbool blinkfore = WSGIappBlink()->getBlinkFore(_blink_rate);
  if (_bl_fl == True &&
      blinkfore == True &&
      _tw_fl == False){
    return WS_NO_ERR;
  }

  long err = dev->beginDraw(x, y, w, h, absolute);
  if (err != WS_NO_ERR){
    return WS_NO_ERR;
  }

  WSCbase::update();
  setAbsoluteDraw(False);
  WSCushort line_w = _lw;
  if (line_w != 0) {
    if (_bl_fl == True &&
        blinkfore == True &&
        _tw_fl == True){
      dev->setForeColor(_blink_color);
    } else {
      dev->setForeColor(_fore_color);
    }

    if (line_w == 1) {
      dev->setLineWidth((WSCushort)0);
    } else {
      dev->setLineWidth((WSCushort)line_w);
    }
    dev->setLineDashType(_lt);
    if (_line_num != 0) {
      WSCpoint* pt = new WSCpoint[_line_num];
      short     i;
      for (i=0; i<_line_num; i++) {
        pt[i].x = (short)(_line_x[i]);
        pt[i].y = (short)(_line_y[i]);
      }
      dev->drawLines(pt, _line_num);
      delete pt;
    }
  }
  dev->endDraw();
  return WS_NO_ERR;
}



setBackColor 関数の説明

書式
long setBacKColor(short cno)
機能
背景色を指定を色番号で指定します。
処理
drawFillRect 等のメソッドで用いる背景色を指定します。
引数
(in)short cno 色番号
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
サンプル
  //背景色を設定します。
  short cno = WSGIappColorSet()->getColorNo("#000000");
  dev->setBackColor(cno);



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:失敗
注意
なし。
サンプル
  //ハッチパターンを設定します。
  dev->setHatchPattern(7);



setRegion 関数の説明

書式
long setRegion(short x,short y,unsigned short w,unsigned short h);
機能
描画する領域を指定します。
処理
指定した領域以外は描画の対象から外します。
引数
(in)short x X座標
(in)short y Y座標
(in)unsigned short w 領域の横幅
(in)unsigned short h 領域の縦幅
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
  //描画する領域を設定します。
  dev->setRegion(10,10,100,100);



beginDraw 関数の説明

書式
long beginDraw(short x,short y,WSCushort w,WSCushort h, WSCbool absolute = False,WSCbool scaling = True)
機能
指定した領域の描画を開始します。
処理
座標 x,y、横幅 w、縦幅 h を矩形領域の描画を開始します。 absolute を True とすると露出イベントが発生していなくても 描画します。また、scaling が True の場合、 スケールオフセットを有効にして描画します。
引数
(in)short x X座標
(in)short y Y座標
(in)unsigned short w 領域の横幅
(in)unsigned short h 領域の縦幅
(in)WSCbool absolute 強制描画フラグ
(in)WSCbool scaling スケールフラグ
返値
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軸右水平を0度とした 反時計回りで、円弧開始角度、終了角度を指定します。 このとき、64 倍した値を指定するのに注意してください。これは、 1/64 度の精度確保するためです。 完全な円、楕円、または円弧を描く場合は、 それぞれ 0 * 64、360 * 64 を指定します。
引数
(in)short x X座標
(in)short y Y座標
(in)unsigned short w 領域の横幅
(in)unsigned short h 領域の縦幅
(in)short a1 円弧の開始角度
(in)short a2 円弧の終了角度
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
  //円弧の描画を行います。
  dev->drawArc(50,200,50,50,60*64,270*64);



drawFillArc 関数の説明

書式
long drawFillArc(short x,short y,unsigned short w, unsigned short h,short a1,short a2,char kind);
機能
塗りつぶし円弧、楕円弧を描画します。
処理
横直径 w、縦直径 h を持つ円または楕円の、X軸右水平を0度とした 反時計回りで、円弧開始角度、終了角度を指定します。 このとき、64 倍した値を指定するのに注意してください。これは、 1/64 度の精度確保するためです。 完全な円、または円弧を描く場合は、 それぞれ 0 * 64、360 * 64 を指定します。 円弧の種別を指定することによって、扇型の円弧、弓型の円弧を 描画することができます。
引数
(in)short x X座標
(in)short y 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:失敗
注意
なし。
サンプル
  //パイ型円弧の描画を行います。
  dev->drawFillArc(150,200,100,50,60*64,270*64, 0 /*PIE*/ );
  //弓型円弧の描画を行います。
  dev->drawFillArc(250,200,100,50,60*64,270*64, 1 /*CHORD*/ );



drawLine 関数の説明

書式
long drawLine(short x1,short y1,short x2,short y2);
機能
線を描画します。
処理
指定した座標x1,y1 から x2,y2 まで線を描画します。
引数
(in)short x1 線の開始座標X
(in)short y1 線の開始座標Y
(in)short x2 線の終了座標X
(in)short y2 線の終了座標Y
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
  //線を描画します。
  dev->drawLine(50,50,100,100);



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:失敗
注意
なし。
サンプル
setForeColor() を参照してください。



drawRect 関数の説明

書式
long drawRect(short x,short y,unsigned short w,unsigned short h);
機能
矩形を描画します。
処理
左上角をx,y とした横幅 w、縦幅 h の矩形を描画します。
引数
(in)short x X座標
(in)short y Y座標
(in)unsigned short w 矩形の横幅
(in)unsigned short h 矩形の縦幅
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
  //矩形を描画します。
  dev->drawRect(150,50,100,100);



drawFillRect 関数の説明

書式
long drawFillRect(short x,short y,unsigned short w,unsigned short h);
機能
塗りつぶし矩形を描画します。
処理
左上角をx,y とした横幅 w、縦幅 h の塗りつぶし矩形を描画します。
引数
(in)short x X座標
(in)short y Y座標
(in)unsigned short w 矩形の横幅
(in)unsigned short h 矩形の縦幅
返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
  //塗りつぶし矩形を描画します。
  dev->drawFillRect(150,50,100,100);



drawRects 関数の説明

書式
long drawRects(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);
  dev->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);
  dev->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;
  dev->setForeColor("#00ffff");
  dev->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:失敗
注意
なし。
サンプル
  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;
  dev->setForeColor("#00ffff");
  dev->drawFillPoly(pt,3);



drawGradation 関数の説明

書式
long drawGradation(long type,short col1,short col2, short col3,short x,short y,WSCushort w,WSCushort h, WSCuchar grad_margin);
機能
グラデーションされた矩形を描画します。
処理
指定された3色を使用して、色1〜色2〜色3へと グラデーションされた矩形を描画します。
引数
(in)long type グラデーションの種別
(in)short col1 色1
(in)short col2 色2
(in)short col3 色3
(in)short x 座標X
(in)short y 座標Y
(in)WSCushort w 横幅
(in)WSCushort h 縦幅
(in)WSCuchar grad_margin 色2の幅

グラデーションされた矩形領域を指定し、 グラデーションのマージンには、色2の幅をドット指定します。 グラデーション種別に指定できる値には、 次のようなものがあります。
グラデーション種別 意味
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");
  dev->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 座標X
(in)short y 座標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");
  dev->drawImage(10,10,100,100,image,WS_CENTER);



drawStretchedImage 関数の説明

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

返値
WS_NO_ERR:成功、WS_ERR:失敗
注意
なし。
サンプル
  WSCimage* image = WSGIappImageSet()->getImage("001.jpg");
  dev->drawStretchedImage(10,10,100,100,image);



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

フォント番号には、0番からのフォント番号を指定します。 アラインメントに指定できる値には、 次のようなものがあります。
属性値 意味
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:失敗
注意
なし。
サンプル
  //文字列の描画
  dev->drawString(100,300,100,30,0,WS_CENTER,"ABCDE1234");



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 座標X
(in)short x 座標Y
(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:失敗
注意
なし。
サンプル
  //文字列の描画
  dev->drawFillString(100,300,100,30,0,WS_CENTER,"ABCDE1234");



getDeviceResource 関数の説明

書式
long getDeviceResource()
機能
ウィンドウシステムの資源を取得します。
処理
引数
なし。
返値
X11 では、Display* を返します。WIN32では、未使用です。
注意
なし。
サンプル
  //X11 では Display* です。
  long val = dev->getDeviceResource();



getWindowResource 関数の説明

書式
long getWindowResource()
機能
ウィンドウ資源を取得します。
処理
引数
なし。
返値
X11 では、Window または Pixmap 、WIN32では、HWND を返します。
注意
なし。
サンプル
  //X11 では Window/Pixmap、WIN32 では、HWND です。
  long val = dev->getWindowResource();



getContextResource 関数の説明

書式
long getContextResource()
機能
コンテキスト資源を取得します。
処理
引数
なし。
返値
X11 では、GC 、WIN32では、HDC や MDC を返します。
注意
なし。
サンプル
  //X11 では GC、WIN32 では、HDC/MDC です。
  long val = dev->getContextResource();



getSpecialResource 関数の説明

書式
long getSpecialResource()
機能
ウィンドウ資源を取得します。
処理
引数
なし。
返値
X11 では、Widget を返します。WIN32では未使用です。
注意
なし。
サンプル
  //X11 では Widget です。
  long val = dev->getSpecialResource();



getReady 関数の説明

書式
long getReady()
機能
描画可能状態か否かを取得します。
処理
引数
なし。
返値
True = 描画可能、False = 不可能。
注意
なし。
サンプル
  //描画が行えるか否かを取得します。
  WSCbool ready = dev->getReady();


Document Release 2.0

For Use with Wide Studio Release 2.0, Spring 2002


Wide Stuido Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: January 01, 2002