void XtDrawSetRubberGC(w); Widget w;
void XtDrawUnsetRubberGC(w); Widget w;
ラバ−モ−ドは、ラバ−バンディングのような一時的な描画のためにあります。
ラバ−モ−ドは、描画関数とフォアグラウンドが適合している特殊な描画モ−ドです。よって二重の描画は、古いピクセル値に戻すことによる消去となります。一回の描画は、ドロ−widgetのバックグラウンド色でぬられた領域にドロ−widgetのフォアグラウンドで描く、あるいはこの逆で描かれます。フォアグラウンド、あるいはバックグラウンド以外の色の上に描いた場合に、何色になるかは不確定です。しかし、二重に描画した場合に元の色に戻ることは保障されています。
ラバ−モ−ド中の描画オペレ−ションは記憶されず、ドロ−widgetによって再実行されません。
ラバ−モ−ドは、アクティブなGCとしての特殊なGCを使って実現されています。これはGCを扱う関数によっても操作できますが、フォアグラウンドのコンポ−ネントが変更された場合には、描画の色は保障されません。しかし、二重描画によって消去する機能は影響を受けません。
| scroll to top |
|