![]() | Programming Guide | WideStudio/MWT Index 目次 |
ドローイングエリア
ドローイングエリアで図形を描画するには
ドローイングエリア(WSCvdrawingArea クラス)は、画面領域に自由に図形を描 画することが可能です。 ドローイングエリアには、描画用のメソッドが用意 されており、EXPOSE イベント(露出イベント) で、これらのメソッドを用いて 描画します。次に示すサンプルプログラムは、ドローイングエリアでの基本的 な描画方法を示します。#include <WScom.h> #include <WSCfunctionList.h> #include <WSCbase.h> //---------------------------------------------------------- //Function for the event procedure //---------------------------------------------------------- #include <WSCvdrawingArea.h> #include <WSCvslider.h> void drawep(WSCbase* object){ //drawing_a is same as newvdra_000... //You can get it extern WSCvdrawingArea* newvdra000; also. WSCvdrawingArea* drawing_a = (WSCvdrawingArea*)object->cast("WSCvdrawingArea"); //(A) if (drawing_a == NULL){ //(B) return; } drawing_a->setForeColor("#ff0000"); //(C) drawing_a->drawLine(0,0,100,100); //(D) } static WSCfunctionRegister op("drawep",(void*)drawep);まず、ドローイングエリアのメソッドにアクセスするために、(A)に示す様に、 ドローイングエリアクラス(WSCvdrawingArea)のポインタを取得します。 WSCbase クラスのポインタのままですと、ドローイングエリアのメソッドにア クセスできないからです。
イベントプロシージャが間違って他のクラスに張られる場合もあるので、ドロー イングエリアクラスかどうか(B) で判別します。ポインタの取得結果が NULL でなければ、ドローイングエリアクラスです。
(C) で描画する時の色を指定しています。(D) では、座標(0,0)から座標 (100,100)へ線を描画しています。
ドローイングエリアには、線を描画するメソッドの他に、 次のようなメソッドがあります。
矩形の描画 円、円弧、楕円の描画 多角形の描画 イメージの描画 ドローイングエリアでイメージを描画するには
イメージを表示したい場合は、drawImage メソッド、もしくは drawStretchedImage メソッドを用います。drawStretchedImage メソッドは、 drawImage メソッドがそのままの大きさで表示するのにたいし、与えられたサ イズにイメージを拡大縮小させて表示します。#include <WScom.h> #include <WSCfunctionList.h> #include <WSCbase.h> //---------------------------------------------------------- //Function for the event procedure //---------------------------------------------------------- #include <WSCvdrawingArea.h> #include <WSCvslider.h> void drawep(WSCbase* object){ //drawing_a is same as newvdra_000... //You can get it extern WSCvdrawingArea* newvdra000; also. WSCvdrawingArea* drawing_a = (WSCvdrawingArea*)object->cast("WSCvdrawingArea"); if (drawing_a == NULL){ return; } WSCushort w = drawing_a->getProperty(WSNwidth); WSCushort h = drawing_a->getProperty(WSNheight); drawing_a->drawStretchedImage(0,0,w,h,"001.jpg"); //(A) } static WSCfunctionRegister op("drawep",(void*)drawep);Aでは、ドローイングエリアのサイズにあわせてイメージを表示しています。
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |