WideStudio Application Builder User's Guide(Ocaml言語)

ドローイングエリア



ドローイングエリアで図形を描画するには

ドローイングエリア(WSCvdrawingArea クラス)は、画面領域に自由に図形を描 画することが可能です。 ドローイングエリアには、描画用のメソッドが用意 されており、EXPOSE イベント(露出イベント) で、これらのメソッドを用いて 描画します。次に示すサンプルプログラムは、ドローイングエリアでの基本的 な描画方法を示します。

(*----------------------------------------------------------*)
(*Function for the event procedure                          *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
let drawep obj =

  obj->setForeColor("#ff0000");  (* A *)
  obj->drawLine(0,0,100,100);    (* B *)

  ()
let _ = Callback.register "drawep" drawep

ドローイングエリアクラスのメソッドを用いて (A) で描画する時の色を指定しています。(B) では、座標(0,0)から座標 (100,100)へ線を描画しています。

ドローイングエリアには、線を描画するメソッドの他に、 次のようなメソッドがあります。


  • 矩形の描画

  • 円、円弧、楕円の描画

  • 多角形の描画

  • イメージの描画


  • ドローイングエリアでイメージを描画するには

    イメージを表示したい場合は、drawImage メソッド、もしくは drawStretchedImage メソッドを用います。drawStretchedImage メソッドは、 drawImage メソッドがそのままの大きさで表示するのにたいし、与えられたサ イズにイメージを拡大縮小させて表示します。

    (*----------------------------------------------------------*)
    (*Function for the event procedure                          *)
    (*----------------------------------------------------------*)
    open Swig
    open Mwt
    open Mwtlib
    let drawep obj =
      let w = obj -> getProperty("width") in
      let h = obj -> getProperty("height") in
      obj -> drawStretchedImage(0,0,(w->getLong()),(h->getLong()),"001.jpg"); (* A *)
    
      ()
    let _ = Callback.register "drawep" drawep
    

    Aでは、ドローイングエリアのサイズにあわせてイメージを表示しています。
    Document Release 3.80 for WideStudio ver 3.80, Jan 2005


    WideStudio documents index | 目次
    バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。