PetitDraw v1.1

Windows GDI Lightweight Drawing Library for Free Pascal / Lazarus

概要

PetitDraw は、Free Pascal / Lazarus環境でWin32 APIを直接操作し、高速かつシンプルな図形描画を実現するためのクラスライブラリです。ダブルバッファリング、60FPS制御、日本語テキスト表示(UTF-8)を標準でサポートしています。

1. ライフサイクル管理

Constructor

Create(Title: string; Width, Height: Integer)

ウィンドウを生成し、描画システムを初期化します。ウィンドウは自動的に画面中央に配置されます。

Destructor

Destroy

確保したメモリ、バックバッファ(HDC/HBITMAP)、およびウィンドウクラスの登録情報を安全に解放します。

Method

Run

メッセージループを開始します。OnUpdateイベントを約16ms間隔で呼び出し、アプリケーションが終了するまで待機します。

2. 基本コマンド

Clear(Color: COLORREF)

画面全体を指定色で塗りつぶします。RGB(r, g, b)関数で色を指定します。

Present

バックバッファの内容を実際のウィンドウ画面に転送します。描画処理の最後に必ず呼び出す必要があります。

3. 描画メソッド

DrawLine(x1, y1, x2, y2, Width, Color)

指定した太さと色で直線を引きます。

DrawRect(x1, y1, x2, y2, BorderWidth, BorderColor, FillColor)

四角形を描画します。FillColorCOL_NONEを指定すると、中を塗りつぶさず枠線のみを描画します。

DrawCircle(x, y, Radius, BorderWidth, BorderColor, FillColor)

中心座標と半径を指定して円を描画します。塗りつぶしなしの指定も可能です。

DrawText(Text, x, y, Size, Color, FontName)

日本語(UTF-8)対応の文字列を描画します。Windowsのアンチエイリアス機能を利用した高品質な表示を行います。

FontName: デフォルトは 'MS UI Gothic'。'Meiryo' 等も指定可能。

4. 定数・プロパティ

const
  COL_NONE = $FFFFFFFF; // 塗りつぶしなしを指定

property OnUpdate: TNotifyEvent; // 毎フレームの更新イベント