| Programming Guide | WideStudio/MWT Index Table of contents |
drawing 에리어
drawing 에리어로 도형을 묘화하기에는
drawing 에리어(WSCvdrawingArea 클래스)는 화면 영역에 자유로히 도형을 묘화할수가 있습니다. drawing 에리어에는 묘화용의 메서드가 마련되여있고 EXPOSE 이벤트(로출 이벤트) 로 이런 메서드를 이용해서 묘화합니다. 다음에 샘플프로그램은 drawing 에리어에서의 기본적인 묘화 방법을 표시합니다.#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);먼저 drawing 에리어의 메서드에 접근(access)하기위해 (A)와 같이 drawing 에리어 클래스(WSCvdrawingArea)의 포인터를 취득し합니다. WSCbase 클래스의 포인터엿더라면 drawing 에리어의 메서드에 접근(access)못하기때문입니다.
이벤트 프로시저가 틀려서 다른 클래스에 붙여놓일 경우도 있기에 drawing 에리어 클래스인가를 (B) 로 판별합니다. 포인터의 취득결과가 NULL 가 아니면 drawing 에리어 클래스입니다.
(C) 에서 묘화할 때의 색을 지정하고있습니다. (D) 에서는 좌표(0,0)에서 좌표(100,100)까지에 선을 묘화하고있습니다.
drawing 에리어에는 선을 묘화할 메서드 외에 다음과 같은 메서드가 있습니다.
구형의 묘화 원,원호,타원의 묘화 다각형의 묘화 이미지의 묘화 drawing 에리어로 이미지를 묘화하기에는
이미지를 표시할 경우는 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에서는 drawing 에리어의 크기에 맞추어서 이미지를 표시하고있습니다.
| Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |