WinDvi SDK Version 1.0

Copyright (C) 1996 Impress Corporation, Japan. All rights reserved.
'96/11/08
株式会社 インプレス
インプレスグループ・ラボ

WinDvi SDK は、 TeX の組版結果である DVI ファイルを解釈し、 Windows 上に表示するための API を提供するものです。

WinDvi SDK には、 DVI ファイルを表示するアプリケーションを開発するために必要なファイルと、 開発したアプリケーションを動作させるために必要なファイルが含まれます。

開発環境

WinDvi SDK を使用したアプリケーションを開発するために必要な環境は 以下の通りです。

動作環境

WinDvi SDK を使用したアプリケーションを動作させるために必要な環境は 以下の通りです。

WinDvi SDK を使用したアプリケーションの配布

WinDvi SDK を使用して開発したアプリケーションは 自由に配布してくださって結構ですが、 インプレス TeX for Windows係 に必ずご連絡ください。

なお、 WinDvi SDK を使用して開発したアプリケーションに添付する場合のみ、 WinDvi SDKに含まれる DLL ファイル、DVG ファイル、DVX ファイルの 再配布に許可はいりません。

WinDvi SDK の再配布

WinDvi SDK を再配布する場合は、事前に インプレス TeX for Windows係 の許可を得てください。

ただし、 WinDvi SDK を使用して開発したアプリケーションに添付する場合のみ、 WinDvi SDKに含まれる DLL ファイル、DVG ファイル、DVX ファイルの 再配布に許可はいりません。

注意事項

株式会社インプレスは、WinDvi SDK に関して何ら保証はいたしません。

また、株式会社インプレスは、WinDvi SDK を使用したことによる または使用できなかったことによる 直接的または間接的に生じた一切の損害について、 何ら責任を負わないものとします。


ダウンロード (WDSDK10.EXE, 235KB)
ダウンロードした WDSDK10.EXE を実行すると、 必要なファイルが展開されます。
各ファイルの使い方は以下を参照してください。

WinDvi SDK に関するご意見、ご要望がございましたら
インプレス TeX for Windows係
(wintex@impress.co.jp)
へE-mailをください

API の概要

WinDvi SDK の提供する API は、 DVI ファイルの読み込みを行う DVIFile API と、 DVI ファイルの内容の表示を行う DVIScreen API に 分類できます。 DVIFile API は DVIF で始まる関数名を使い、 DVIScreen API は DVIX で始まる関数名を使っています。

DVIFile API および DVIScreen API を利用する手順を以下に示します。

DVIFile API

DVIFile API は、DVIファイルの読み込みを制御します。 以下の関数を用意しています。

DVIFopen
DVI ファイルをオープンする
DVIFclose
DVI ファイルをクローズする
DVIFnumpage
DVI ファイルに含まれるページの数を調べる
DVIFseek
DVI ファイルのページ位置を変更する

DVIFopen

DVI ファイルをオープンします。

文法

HDVIF DVIFopen( char * filename, // ファイル名 int reserved // 予約済み(必ず 0) );

引数

filename
DVI ファイル名へのポインタ。
reserved
必ず 0 を指定してください。

戻り値

DVI ファイルのハンドルを返します。
このポインタを使って、DVI ファイルにアクセスします。
エラーのときは NULL を返します。

説明

HDVIF は DVI ファイルの様々な属性と、現在の読み取りページ位置を保 持しています。
ページ位置は、DVIXpage でページデータを読み込むごとに 1 つずつ進み、 DVIFseek で任意のページに変えることができます。

DVIFclose

DVI ファイルをクローズします。

文法

int DVIFclose( HDVIF dvifile // DVI ファイル );

引数

dvifile
DVI ファイルのハンドル。

戻り値

エラーが起これば 0、正常終了なら 0 以外を返します。

DVIFnumpage

DVI ファイルに含まれるページの数を調べます。

文法

int DVIFnumpage( HDVIF dvifile // DVI ファイル );

引数

dvifile
DVI ファイルのハンドル。

戻り値

総ページ数を返します。

DVIFseek

DVI ファイルのページ位置を変更します。

文法

DVIPage * DVIFseek( HDVIF dvifile, // DVI ファイル int page, // 基準位置からの相対位置 int org // 基準位置 );

引数

dvifile
DVI ファイルのハンドル。
page
ページ位置を、org で指定する基準位置から DVI ファイルの先頭方向を マイナス、後尾の方向をプラスのとする相対位置で指定します。
org
page の基準位置を指定します。
0 : DVI ファイルの先頭ページ
1 : 現在の読み取り位置
2 : DVI ファイルの最後のページ

戻り値

エラーが起これば NULL、正常終了なら NULL 以外を返します。

説明

org = 0 の場合、page の最大値は (DVIFnumpage(dvifile) - 1) になります。

DVIScreen API

DVIScreen API は、DVI ファイルの内容の表示を行います。 以下の関数を用意しています。

DVIXopen
DVI 表示バッファをオープン
DVIXclose
DVI 表示バッファをクローズ
DVIXpage
DVI 表示バッファに、1 ページ分のデータを読み込む
DVIXregion
DVI 表示バッファの、実描画領域を取得
DVIXpaint
DVI 表示バッファの内容をデバイスコンテキストに描画

DVIXopen

DVI 表示バッファをオープン。

文法

HDVIX DVIXopen( HDVIF dvifile // DVI 表示バッファの基準となる DVI ファイル );

引数

dvifile
DVI 表示バッファに必要なメモリの量などを決定するために使用する DVI ファイルを指定します。

戻り値

DVI 表示バッファのハンドルを返します。
エラーのときは NULL を返します。

説明

HDVIX は、DVI ファイルの内容をページ単位でバッファします。

DVIXclose

DVI 表示バッファをクローズ。

文法

int DVIXclose( HDVIX screen // DVI 表示バッファ );

引数

screen
DVI 表示バッファのハンドル。

戻り値

エラーのときは 0、正常終了なら 0 以外を返します。

DVIXpage

DVI 表示バッファに、1 ページ分のデータを読み込む。

文法

int DVIXpage( HDVIX screen, // DVI 表示バッファ HDVIF dvifile // DVI ファイル );

引数

screen
DVI 表示バッファのハンドル。
dvifile
DVI ファイルのハンドル。

戻り値

エラーのときは 0、正常終了なら 0 以外を返します。

説明

dvifile のページ位置から、1 ページ分のデータを screen に読み込みます。

DVIXregion

DVI 表示バッファの、実描画領域を取得。

文法

int DVIXregion( HDVIX screen, // DVI 表示バッファ long * x, long * y, // 描画領域の左上座標を返す long * w, long * h // 描画領域の大きさを返す );

引数

screen
DVI 表示バッファのハンドル。
x, y, w, h
描画領域の位置と大きさを返す変数へのポインタです。 単位は 1/65536 ポイントです。 (72.27 ポイント = 1 インチ = 25.4 ミリメートル)

戻り値

エラーのときは 0、正常終了なら 0 以外を返します。

説明

screen に読み込まれているデータの実描画領域を返します。

DVIXpaint

DVI 表示バッファの内容をデバイスコンテキストに描画。

文法

DVIXpaint( HDVIX screen, // DVI 表示バッファ HDC hdc, // デバイスコンテキストハンドル RECT * rect // DC 上の描画領域 );

引数

screen
DVI 表示バッファのハンドル。
hdc
デバイスコンテキストハンドル。
rect
実際に描画するデバイスコンテキスト上の領域

説明

screen に読み込まれているデータの実描画領域が、rect で指定された 領域に収まるように描画します。