Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XsmVideoMap(3X) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XsmVideoMap(3X)  —  NEWS-OS Programmer’s Manual

名称

XsmVideoMap — VideoMap widget クラス

形式

#include <X11/Xsm/VideoMap.h>

解説

VideoMap は、OSF/Motif の VideoMap のサブクラスで、 さまざまな用途に容易に適用することができるビデオ動画の表示機能を 持った widget です。 VideoMap と同様に、グラフィックスを描画する必要のある時 (エクスポージャイベントあるいは widget のリサイズ) や widget が キーボードやマウスから入力を受け取った時に、 アプリケーションに通知します。 また、ビデオ動画の表示が開始されたり、停止された時にも、 コールバックが呼ばれます。 VideoMap の コールバックに対応して、外観と動作を必要に応じて定義するのは、 アプリケーションの責任となります。

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

クラス

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

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

クラス名は XsmVideoMap です。

新しいリソース

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

VideoMap リソース一覧
名称 クラス 型 デフォルト アクセス
XsmNmaxVideo XsmCMaxVideo int dynamic G
XsmNaccessVideo XsmCAccessVideo int 0 CSG
XsmNgrabVideo XsmCGrabVideo Boolean False CSG
XsmNrenderVideo XsmCRenderVideo Boolean False CSG
XsmNframeRate XsmCFrameRate int 0 CSG
XsmNvideoAdjust XsmCVideoAdjust Boolean 0 CSG
XsmNvideoAreaX XsmCVideoAreaX Position 0 CSG
XsmNvideoAreaY XsmCVideoAreaY Position 0 CSG
AreaWidth XsmNvideoAreaWidth AreaWidth XsmCVideoAreaWidth Dimension 0 CSG
AreaHeight XsmNvideoAreaHeight AreaHeight XsmCVideoAreaHeight Dimension 0 CSG
XsmNvideoX XsmCVideoX Position 0 CSG
XsmNvideoY XsmCVideoY Position 0 CSG
XsmNvideoWidth XsmCVideoWidth Dimension 0 CSG
XsmNvideoHeight XsmCVideoHeight Dimension 0 CSG
Callback XsmNrenderVideoCallback XsmCCallback List XtCallbackList NULL C
Callback XsmNstopVideoCallback XsmCCallback List XtCallbackList NULL C

 
 

XsmNmaxVideo
widget の作成時に、同時に表示できるビデオ動画数が設定されます。 この値は現在使用しているグラフィックボードに依存します。 NWB-254 が使用されている場合は、1 がセットされ、 それ以外のボードが使用されている場合には 0 がセットされます。 この値の設定および変更はできません。

XsmNaccessVideo
利用するビデオ動画表示機能の ID 番号をセットします。 設定できる値は、0 から XsmNmaxVideo - 1 間での値です。 ビデオ動画表示機能のないグラフィックボードの場合、0 がセットされます。

XsmNgrabVideo
XsmNaccessVideo で指定したビデオ動画表示機能をグラブするか どうかを指定します。 グラブを行う場合は True を、 グラブを解除する場合は、False をセットします。 グラブするとほかの VideoMap からビデオ動画表示機能の 利用要求があっても、無視します。 また逆に、ほかの VideoMap が先にグラブしている場合には、 XtSetValues を使っても、この値を True にすることは できません。

XsmNrenderVideo
ビデオ動画の表示を行うかどうかを指定します。 表示を行う場合は True を、 表示を停止する場合には False をセットしてください。 ほかの VideoMap がビデオ動画表示機能をグラブしている場合には、 XtSetValues を使っても、この値を True にすることは できません。

XsmNframeRate
一秒間に表示するビデオ動画のフレーム数を指定します。 フレーム数に 0 を指定するとビデオ動画がフリーズされます。 設定できるフレーム数は、ビデオマップボードに依存します。 後述するコンビニエンス関数 XsmQueryVideo(3X) で調べることが できます。

XsmNvideoAdjust
このリソースを True にしてすると、ビデオ動画を widget ウィンドウの 中央に表示できる最大サイズで表示します。

XsmNvideoAreaX
ビデオ動画の表示エリアの左上隅(マージンを除く)の X 座標を、 表示する widget からの相対位置で指定します。 XsmNvideoAdjust が True の場合、 このリソース値は自動的に設定されます。

XsmNvideoAreaY
ビデオ動画の表示エリアの左上隅(マージンを除く)の Y 座標を、 表示する widget からの相対位置で指定します。 XsmNvideoAdjust が True の場合、 このリソース値は自動的に設定されます。

XsmNvideoAreaWidth
ビデオ動画を表示するエリアの幅をピクセルで指定します。 XsmNvideoAdjust が True の場合、 このリソース値は自動的に設定されます。

XsmNvideoAreaHeight
ビデオ動画を表示するエリアの高さをピクセルで指定します。 XsmNvideoAdjust が True の場合、 このリソース値は自動的に設定されます。

XsmNvideoX
ビデオ動画の表示エリアの左上隅にマップするビデオの X 座標を、 ビデオの左上隅からの相対位置で指定します。 XsmNvideoAdjust が True の場合、 このリソース値は 0 に設定されます。

XsmNvideoY
ビデオ動画の表示エリアの左上隅にマップするビデオの Y 座標を、 ビデオ動画の左上隅からの相対位置で指定します。 XsmNvideoAdjust が True の場合、 このリソース値は 0 に設定されます。

XsmNvideoWidth
ビデオ動画の幅をピクセル数で指定します。 設定できるビデオ動画の幅は、ビデオマップボードに依存します。 後述するコンビニエンス関数 XsmQueryVideo(3) で調べることが できます。 XsmNvideoAdjust が True の場合、 このリソース値は自動的に設定されます。

XsmNvideoHeight
ビデオ動画の高さをピクセル数で指定します。 設定できるビデオ動画の高さは、ビデオマップボードに依存します。 後述するコンビニエンス関数 XsmQueryVideo(3) で調べることが できます。 XsmNvideoAdjust が True の場合、 このリソース値は自動的に設定されます。

XsmNrenderVideoCallback
ビデオ動画が表示が開始された場合に呼び出されコールバック のリストを指定します。
コールバックのリーズンは XsmCR_RENDER_VIDEO です。

XsmNstopVideoCallback
ビデオ動画の表示が停止された場合に呼び出されるコールバック のリストを指定します。
コールバックのリーズンは XsmCR_STOP_VIDEO です。

継承されるリソース

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

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

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

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

Core リソース一覧
名称 クラス 型 デフォルト アクセス
rators XmNaccelerators rators XmCAccelerators lations XtTranslations NULL CSG
Sensitive XmNancestorSensitive XmCSensitive Boolean True G
XmNbackground XmCBackground Pixel 不定 CSG
Pixmap XmNbackgroundPixmap XmCPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel 黒 CSG
XmNborderPixmap XmCPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap FromParent XtCopyFromParent CG
XmNdepth XmCDepth int FromParent XtCopyFromParent CG
Callback XmNdestroyCallback XmCCallback List XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
WhenManaged XmNmappedWhenManaged WhenManaged 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 ;
Windowparticipant ;
intframerate ;
Xrectanglevideo ;
Xrectanglevideo_area ;
intreserved[24] ;
} XsmVideoMapCallbackStruct ;

reasonコールバックが起動されたリーズンを示します。 リーズンには、XsmCR_RENDER_VIDEO と XsmCR_STOP_VIDEO があります。

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

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

participant
reason が XsmCR_RENDER_VIDEO の場合、直前にビデオ動画表示機能を使用していた ウィンドウがセットされます。 reason が XsmCR_STOP_VIDEO の場合、次にビデオ動画表示機能を使用するウィンドウ がセットされます。 同じ VideoMap で、ビデオ動画のサイズ、表示位置が変更されると、 XsmCR_STOP_VIDEO と XsmCR_RENDER_VIDEO の 2 つのイベントが発生します。 このとき、participant は、window と同じ値がセットされます。

framerateビデオ動画のフレームレートがセットされます。 reason が XsmCR_RENDER_VIDEO の場合は、ビデオ動画を表示するために 設定された値がセットされます。 reason が XsmCR_STOP_VIDEO の場合は、ビデオ動画が停止される前に、 設定された値がセットされます。

videoビデオ動画の原点、サイズがセットされます。 reason が XsmCR_RENDER_VIDEO の場合は、ビデオ動画を表示するために 設定された値がセットされます。 reason が XsmCR_STOP_VIDEO の場合は、ビデオ動画が停止される前に 設定されていた値がセットされます。

video_area
ビデオ動画の表示エリアがセットされます。 reason が XsmCR_RENDER_VIDEO の場合は、ビデオ動画を表示するために 設定した値がセットされます。 reason が XsmCR_STOP_VIDEO の場合は、ビデオ動画が停止される前に 設定されていた値がセットされます。

動作

VideoMap は、DrawingArea の動作を継承します。

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

VideoMap は、DrawingArea のデフォルトのトランスレーションを継承します。

キーボードトラバース

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

制限

ビデオ動画が停止された場合、ビデオ動画の最後のシーンが静止がとして、 ウィンドウ上に残ります。このイメージをクリアしたり、バッキングストアー を行うのは、アプリケーションの責任となります。

関連項目

XmDrawingArea(3XM), Composite(3XM), Constraint(3XM), Core(3XM), XmManager(3XM), XsmCreateVideoMap(3X), XsmQueryVideo(3X), XsmGetVideoStatus(3X)

NEWS-OSRelease 4.2.1R

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