Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmDrawingArea(3XM) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XmDrawingArea(3XM)  —  NEWS-OS Programmer’s Manual

名称

XmDrawingArea — DrawingArea widget クラス

形式

#include <Xm/DrawingA.h>

解説

DrawingArea は、さまざまな用途に容易に適用することができる空の widget です。 コールバックを呼び出すことを除けば、これは描画もしなければ動作の定義もまったく行いません。 コールバックは、グラフィックスを描画する必要のある時 (エクスポージャイベントあるいは widget のリサイズ) や widget がキーボードやマウスから入力を受け取った時に、アプリケーションに通知します。 DrawingArea の コールバックに対応して、外観と動作を必要に応じて定義するのは、アプリケーションの責任となります。

DrawingArea もまたコンポジット widget であり、複数の子 widget や gadget に対して最小限のジオメトリ管理をサポートする XmManager のサブクラスです。

クラス

DrawingArea は Core、Composite、Constraint、XmManager のクラスから動作とリソースを継承します。

クラスポインタは xmDrawingAreaWidgetClass です。

クラス名は XmDrawingArea です。

新しいリソース

次の表は、データを指定するのに用いる widget リソースの一覧です。 継承されたクラスのリソースの値もまたこの widget の属性として設定することができます。 .Xdefaults ファイルの中で名前やクラスでリソースを参照する場合は、語頭の XmN または XmC を取り除いた名称を用いてください。 .Xdefaults ファイルの中でリソースに定義された値を設定するには、語頭の Xm を取り除いた名称を用いてください。 (大文字と小文字は区別されませんが、語間のアンダースコアは必要です。 ) 「アクセス」欄の文字は、与えられたリソースを、widget 生成時に設定できるか (C)、XtSetValues で設定できるか (S)、XtGetValues で取り出すことができるか (G)、あるいは利用できないか (N/A) を示します。

DrawingArea リソース一覧
名称 クラス 型 デフォルト アクセス
XmNexposeCallback XmCCallback XtCallbackList NULL C
XmNinputCallback XmCCallback XtCallbackList NULL C
XmNmarginHeight XmCMarginHeight short 10 CSG
XmNmarginWidth XmCMarginWidth short 10 CSG
XmNresizeCallback XmCCallback XtCallbackList NULL C
XmNresizePolicy XmCResizePolicy unsigned char XmRESIZE_ANY CSG

XmNexposeCallback
DrawingArea がエクスポージャイベントを受け取った時に呼び出されるコールバックのリストを指定します。 コールバックのリーズンは XmCR_EXPOSE です。 コールバックの構造体にはエクスポージャイベントも含まれます。

XmNinputCallback
DrawingArea がキーボードまたはマウスのイベント (キーやボタンのアップまたはダウン) を受け取った時に呼び出されるコールバックのリストを指定します。 コールバックのリーズンは XmCR_INPUT です。 コールバックの構造体には入力イベントも含まれます。

XmNmarginHeight
DrawingArea の上または下の端と子 widget の間の最小の間隔をピクセルで指定します。

XmNmarginWidth
DrawingArea の右または左の端と子 widget の間の最小の間隔をピクセルで指定します。

XmNresizeCallback
DrawingArea がリサイズされた時に呼び出されるコールバックのリストを指定します。 コールバックのリーズンは XmCR_RESIZE です。

XmNresizePolicy
DrawingArea widget をリサイズするポリシーを制御します。 可能な値には、XmRESIZE_NONE (大きさ固定)、XmRESIZE_ANY (必要に応じて拡大または縮小)、 XmRESIZE_GROW (拡大のみ) があります。

継承されるリソース

DrawingArea は、以下のスーパークラスから動作とリソースを継承します。 これらのリソースの完全な解説については、そのスーパークラスのマニュアルページを参照してください。

XmManager リソース一覧
名称 クラス 型 デフォルト アクセス
XmNbottomShadowColor XmCForeground Pixel 不定 CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel 不定 CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCforeground Pixel 黒 CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap 不定 CSG
XmNshadowThickness XmCShadowThickness short 0 CSG
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmCTopShadowPixmap XmCTopShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmMunitType XmCUnitType unsigned char XmPIXELS CSG
XmNuserData XmCUserData caddr_t NULL CSG

Composite リソース一覧
名称 クラス 型 デフォルト アクセス
XmNinsertPosition XmCInsertPosition XmRFunction NULL CSG

Core リソース一覧
名称 クラス 型 デフォルト アクセス
XmNaccelerators XmCAccelerators XtTranslations NULL CSG
XmNancestorSensitive XmCSensitive Boolean True G
XmNbackground XmCBackground Pixel 不定 CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel 黒 CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap XtCopyFromParent CG
XmNdepth XmCDepth int XtCopyFromParent CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtransactions XmCTransactions XtTransactions NULL CSG
XmNwidth XmCWidth Dimension 0 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG

コールバック情報

次の構造体がコールバックごとに返されます。

typedef struct
{
intreason ;
XEvent∗ event ;
Windowwindow ;
} XmDrawingAreaCallbackStruct;

reasonコールバックが起動されたリーズンを示します。

eventコールバックを引き起こした XEvent を指します。

windowwidget ウィンドウに設定されます。

動作

DrawingArea の動作を以下にまとめます。

<KeyDown> 、 <KeyUp> 、 <BtnDown> 、 <BtnUp>:
キーボードのキーかマウスのボタンが押されたり離された時に、XmNinputCallback に対するコールバックが呼び出されます。

<Expose>:
widget がエクスポージャイベントを受けた時に、XmNexposeCallback に対するコールバックが呼び出されます。

<Widget Resize>:
widget がリサイズされた時に、XmNresizeCallback に対するコールバックが呼び出されます。

デフォルトのトランスレーション

次に DrawingArea のデフォルトのトランスレーションを示します。

<Btn1Down>:Arm()
<Btn1Up>:Activate()
<EnterWindow>: Enter()
<FocusIn>:FocusIn()

キーボードトラバース

キーボードトラバースについての情報は、XmManager(3XM) のマニュアルページと、その「動作」と「デフォルトのトランスレーション」のセクションを参照してください。

関連項目

Composite(3XM), Constraint(3XM), Core(3XM), XmCreateDrawingArea(3XM), XmManager(3XM)

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026