Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSDmwindowDev

メソッド関数仕様



getGeometry 関数の説明

書式
void getGeometry(WSCushort* w,WSCushort* y)
機能
現在の描画領域の縦横幅を取得します。
処理
引数
(out)WSCushort* w 横幅
(out)WSCushort* h 縦幅

返値
なし。
注意
サンプル
  WSDmwindowDev* mdev = WSDmwindowDev::getNewInstance();
  mdev->createPixmap(200,200);
  WSCushort w,h;
  mdev->getGeometry(&w,&h) //200,200 が返されます。



copyToWindow 関数の説明

書式
long copyToWindow(WSDdev* dev,short x,short y,WSCushort w,WSCushort y,short dx,short dy)
機能
指定されたウィンドウシステム資源インスタンスの指定された領域の画像イメージをコピーして来ます。
処理
引数
(in)WSDdev* dev ウィンドウシステム資源インスタンス
(in)short x コピー元X座標
(in)short y コピー元Y座標
(in)WSCushort w コピー元領域の横幅
(in)WSCushort h コピー元領域の縦幅
(in)short dx コピー先X座標
(in)short dy コピー先Y座標

返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
画像 001.jpg を段々浮き上がるように表示します。
#include <WSCcolorSet.h>
#include <WSCimageSet.h>
#include <WSCmainWindow.h>
extern WSCmainWindow* newwin000;

#include <WSDmwindowDev.h>
WSDmwindowDev* mdev = NULL;
WSDmwindowDev* mdev2 = NULL;

void btnep(WSCbase* object){
  WSDdev* dev = newwin000->getdev();
  if (mdev == NULL){
    mdev = WSDmwindowDev::getNewInstance();
    mdev2 = WSDmwindowDev::getNewInstance();
  }
  mdev->createPixmap(200,200);
  mdev->beginDraw(0,0,200,200);
  WSDimage* image = WSGIappImageSet()->getImage("001.jpg");
  mdev->drawStretchedImage(0,0,200,200,image);
  mdev->endDraw();

  mdev2->createPixmap(200,200);

  mdev->initBuffer();
  mdev2->initBuffer();

  long i,x,y;
  for(i=0;i<100; i++){
    for(x=0; x<200; x++){
      for(y=0; y<200; y++){
        WSCuchar r,g,b;
        mdev->getBufferRGB(x,y,&r,&g,&b);
        r = (WSCushort)((double)(r*i)/100);
        g = (WSCushort)((double)(g*i)/100);
        b = (WSCushort)((double)(b*i)/100);
        mdev2->setBufferRGB(x,y,r,g,b);
      }
    }
    mdev2->putBufferToPixmap();
    mdev2->copyToWindow(dev,0,0,200,200,0,0);
  }
}
static WSCfunctionRegister  op("btnep",(void*)btnep);




copyFromWindow 関数の説明

書式
long copyFromWindow(WSDdev* dev,short x,short y,WSCushort w,WSCushort y,short dx,short dy)
機能
指定されたウィンドウシステム資源インスタンスへ指定された領域の画像イメージをコピーして来ます。
処理
引数
(in)WSDdev* dev ウィンドウシステム資源インスタンス
(in)short x コピー元X座標
(in)short y コピー元Y座標
(in)WSCushort w コピー元領域の横幅
(in)WSCushort h コピー元領域の縦幅
(in)short dx コピー先X座標
(in)short dy コピー先Y座標

返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
    //newwin000 の表示内容をメモリ描画インスタンスにコピーします。
    WSDdev* dev = newwin000->getdev();
    mdev->copyFromWindow(dev,0,0,200,200,0,0);



copyToWindowWithMask 関数の説明

書式
long copyToWindowWithMask(WSDdev* dev,short x,short y,WSCushort w,WSCushort y,short dx,short dy,WSDimage* mask)
機能
指定されたウィンドウシステム資源インスタンスの指定された領域の画像イメージをコピーして来ます。
処理
指定された白黒でマスクで、イメージがマスクされコピーされます。
引数
(in)WSDdev* dev ウィンドウシステム資源インスタンス
(in)short x コピー元X座標
(in)short y コピー元Y座標
(in)WSCushort w コピー元領域の横幅
(in)WSCushort h コピー元領域の縦幅
(in)short dx コピー先X座標
(in)short dy コピー先Y座標
(in)WSDimage* mask マスク画像

返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
    //メモリ描画インスタンス mdev の内容を mask.jpg でマスクして
    //newwin000 上にコピーします。
    WSDdev* dev = newwin000->getdev();
    WSDimage* mask = WSGIappImageSet()->getImage("mask.jpg");
    mdev->copyFromWindow(dev,0,0,200,200,0,0,mask);



copyToWindowWithMask 関数の説明

書式
long copyToWindowWithMask(WSDdev* dev,short x,short y,WSCushort w,WSCushort y,short dx,short dy,WSDmwindowDev* mask)
機能
指定されたウィンドウシステム資源インスタンスの指定された領域の画像イメージをコピーして来ます。
処理
指定された白黒でマスクで、イメージがマスクされコピーされます。
引数
(in)WSDdev* dev ウィンドウシステム資源インスタンス
(in)short x コピー元X座標
(in)short y コピー元Y座標
(in)WSCushort w コピー元領域の横幅
(in)WSCushort h コピー元領域の縦幅
(in)short dx コピー先X座標
(in)short dy コピー先Y座標
(in)WSDmwindowDev* mask マスク画像

返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
    //メモリ描画インスタンス mdev の内容を
    //メモリ描画インスタンス mdev2 でマスクしてnewwin000 上にコピーします。
    WSDdev* dev = newwin000->getdev();
    mdev->copyFromWindow(dev,0,0,200,200,0,0,mdev2);



initBuffer 関数の説明

書式
long initBuffer()
機能
WSDmindowDev 上に画像を入出力可能なバッファを割り当てます。
処理
setBufferRGB/getBufferRGB メンバー関数で画像データの 操作するのに先だって呼び出す必要があります。
引数
なし。
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
copyToWindow() を参照してください。



setBufferRGB 関数の説明

書式
long setBufferRGB(WSCushort x,WSCushort y,WSCuchar r,WSCuchar g,WSCuchar b);
機能
指定された座標のドットを指定されたRGB値に設定します。
処理
setBufferRGB/getBufferRGB メンバー関数で画像データの 操作するのに先だって呼び出す必要があります。
引数
(in)WSCushort x X座標
(in)WSCushort y Y座標
(in)WSCuchar r
(in)WSCuchar g
(in)WSCuchar b

返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
copyToWindow() を参照してください。



getBufferRGB 関数の説明

書式
long getBufferRGB(WSCushort x,WSCushort y,WSCuchar* r,WSCuchar* g,WSCuchar* b);
機能
指定された座標のドットを指定されたRGB値を取得します。
処理
setBufferRGB/getBufferRGB メンバー関数で画像データの 操作するのに先だって呼び出す必要があります。
引数
(in)WSCushort x X座標
(in)WSCushort y Y座標
(out)WSCuchar* r 赤の取得
(out)WSCuchar* g 緑の取得
(out)WSCuchar* b 青の取得

返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
copyToWindow() を参照してください。



putBufferToPixmap 関数の説明

書式
long putBufferToPixmap()
機能
操作された入出力可能なバッファの内容を、画像バッファに反映させます。
処理
引数
なし。
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
copyToWindow() を参照してください。


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