Thread View: fj.windows.x
2 messages
2 total messages
Started by Hideo Tukamoto
Wed, 28 Oct 1992 06:29
question
Author: Hideo Tukamoto
Date: Wed, 28 Oct 1992 06:29
Date: Wed, 28 Oct 1992 06:29
26 lines
1490 bytes
1490 bytes
$B!!%R%e!<%^%s%7%9%F%`$NDMK\$G$9!#(J
$B!!$o$+$i$J$$;v$,$"$C$F!"3'MM$N$*NO$r$*<Z$j$7$?$$$H;W$$$^$9!#(J
$B!!<B$O#X#v#i#e#w%W%m%0%i%_%s%0$G(JCANVAS$B$K3($rIA$-$?$$$N$G$9$,(J
$B!!$=$N3($r<B:]$K=q$/4X?t$r;XDj$9$k$H$-!"Nc$($P$=$N4X?t$r(J
Draw()
$B!!$J$I$H$9$k$H(J
(Canvas)xv_create( ..............
CANVAS_REPAINT_PROC,Draw,
..............
NULL);
$B$NMM$K;XDj$7$F$d$l$PNI$$$H$N;v$J$N$G$9$,!"$3$l$@$H4X?t$K(J
$B!!0z?t$r$b$?$;$k;v$O=PMh$^$;$s!#$9$J$o$AA4$F0z?t$O(Jvoid$B07$$(J
$B!!$H$J$C$F$7$^$&$h$&$K;W$$$^$9!#$=$3$G4X?t$K0z?t$r$b$?$;$F(J
$B!!$"$2$k$K$O$I$NMM$K$9$l$P$h$m$7$$$N$G$7$g$&$+!#$$$m$$$m%^(J
$B!!%K%e%"%k$r$_$F$_$^$7$?$,!"$o$+$j$^$;$s$G$7$?!#$=$l$H$b$=(J
$B!!$s$J;v$O=PMh$J$$$N$GA4$F30ItJQ?t07$$$7$J$1$l$P$J$i$J$$$N(J
$B!!$G$7$g$&$+!#(J
$B!!$I$J$?$+F1$8MM$J7P83$r$*;}$A$NJ}$N$40lJs$r$*BT$A$7$F$*$j(J
$B!!$^$9!#(J
$B%R%e!<%^%s%7%9%F%`!J3t!K(J
$B!!!!!!!!!!!!!!!!!!!!!!!!#A#I5;=QIt!!DMK\1QM:(J
tel: 03-5276 2661
Email : tukamoto@human-system.co.jp
Re: question
Author: Toshio Ueshiba
Date: Thu, 29 Oct 1992 03:40
Date: Thu, 29 Oct 1992 03:40
54 lines
2439 bytes
2439 bytes
はじめまして、植芝@電総研と申します。
On 10/28/92(15:29) tukamoto@human.human-system.co.jp (Hideo Tukamoto) wrote
in <TUKAMOTO.92Oct28152950@human.human-system.co.jp> (fj.windows.x:2983/etlss2):
| 実はXviewプログラミングでCANVASに絵を描きたいのですが
| その絵を実際に書く関数を指定するとき、例えばその関数を
| Draw()
| などとすると
| (Canvas)xv_create( ..............
| CANVAS_REPAINT_PROC,Draw,
| ..............
| NULL);
| の様に指定してやれば良いとの事なのですが、これだと関数に
| 引数をもたせる事は出来ません。すなわち全て引数はvoid扱い
| となってしまうように思います。
引数を持たせることはできないように思いますが、xv_create した object に
対して、引数に相当する変数を属性リストによって張り付けることができます。
たとえば、こんな感じです。
{
ArgType arg;
(Canvas)xv_create( ..............
CANVAS_REPAINT_PROC, Draw,
WIN_CLIENT_DATA, arg, /* canvas に arg を張り付ける */
..............
NULL);
}
void
Draw(canvas, window, repaint_area)
Canvas canvas;
Xv_Window window;
Rectlist *repaint_area;
{
ArgType arg;
arg = (ArgType)xv_get(canvas, WIN_CLIENT_DATA); /* arg を取り出す */
........
}
window でなく panel item に変数を張り付けたい時は、PANEL_CLIENT_DATA を
使います。また、複数の変数を張り付けたい時は、XV_KEY_DATA 属性が使えます。
ちょっと面倒ですが、これによってほとんどの大域変数を避けることができると
思います。
詳しくは、"XView Programming Manual" の 7.16 を御覧下さい。
電子技術総合研究所 知能システム部 視覚情報研究室 植芝俊夫
E-Mail: ueshiba@etl.go.jp
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads