> For the complete documentation index, see [llms.txt](https://lados-organization.gitbook.io/goku/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lados-organization.gitbook.io/goku/goku-game-engine_jp/16windoushisutemu.md).

# 第16章：ウィンドウシステム

`Window`構造体は、ゲームが表示される画面上のウィンドウを表します。このシステムは、Rustの`SDL2`ライブラリから`sdl2::video`モジュールを使用して実装されています。

`Window`構造体には、3つのフィールドが含まれています：`sdl_context`、`video_subsystem`、および`canvas`です。`sdl_context`はSDLライブラリのメインコンテキストです。`video_subsystem`は、ビデオ機能を処理するサブシステムです。`canvas`は、描画を行う領域を表す構造体です。

特定のタイトル、幅、および高さで`Window`が作成されます。`new`関数はSDL2を初期化し、指定されたタイトル、幅、および高さでウィンドウを作成し、`Window`の新しいインスタンスまたはエラーメッセージを含む`Result`を返します。

ウィンドウは画面の中央に作成され、OpenGLコンテキストを使用しています。キャンバスはソフトウェアモードで作成されます。これは、レンダリングにCPUを使用することを意味します。通常、GPUを使用するよりも遅いですが、広くサポートされています。
