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.2.1R