フレームワークの説明


以下のこのフレームワークの説明を示す。

win.h

フレームワークの基本である。一つのヘッダに基本的な各プラットフォームの処理が記述されている。以下に各処理ごとの説明を示す。

  • Windows

Windowsのプロジェクトにおいてアプリケーションを作成する際以下の設定があり、それぞれのアプリケーションでの設定によって返る必要がある。

C++/C

  • 文字セット(Unicode/マルチバイト)
  • 構成(Debug/Release)
  • プラットフォーム(x64/x86)
  • ランタイムライブラリ(マルチスレッドDLL/マルチスレッド)
  • SDLチェック
  • サブシステム

C#

  • ターゲットフレームワーク
  • パッケージ

C++/Cli

  • .NetFramework対象バージョン
  • 文字セット
  • ランタイムライブラリ

基本データ型

以下に基本となるデータ型と説明を示す。

・mswin
Windowsの設計の悪さを隠す構造体。Windowsに関してはこちらのデータ型にまとめた処理でプラットフォーム固有のデータをまとめる。

・winmanage
上記のデータ型をC言語で対応するマルチウィンドウを管理するデータ型

・apwin
C++でウィンドウやウィンドウプロシージャを管理し、諸悪の根源であるウィンドウプロシージャを派生クラスでも実装できるようにしたアプリケーションクラス

・renderparam
各プラットフォーム、DirectXバージョンOpenGL、OpenGLES、等のレンダリングの切り替え、または実装用のパラメータを管理するデータ型。(後日Metal、Vulkan等のレンダリングの追加予定)

・render_XX、winXXX
DirectX,OpenGL等のレンダリングの実装クラス。上記のrenderparamの派生によって実装される。

C++では基本敵にapwinクラスを派生しrender_XXXの内包することでコンソールプログラム、ウィンドウプログラム両方に対応し、各レンダリングの切り替えが可能としている。

C言語では基本的なウィンドウのデータ型とそれを管理するデータ型を使いC言語のみでの複数ウィンドウとマルチスレッドを実現している。iOS、Android、Mac等でのPthread等のPOSIXに関してはLinux系の説明に記載する。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です