MGL::System 各種定義
Contents
MGL::System各種定義#
概要#
MGL::Systemで定義されている、システムアクセス機能に関わる定義です。
型#
種類 |
名前 |
内容 |
バージョン |
---|---|---|---|
列挙型 |
MGLが扱う言語 |
1.0.0+ |
|
列挙型 |
ログの出力レベル |
1.0.0+ |
|
型 |
UNIXエポック時間を表すための型 |
1.0.0+ |
|
型 |
CPU時間を表すための型 |
1.0.0+ |
|
型 |
実行時引数の配列型 |
1.0.0+ |
構造体#
種類 |
名前 |
内容 |
バージョン |
---|---|---|---|
構造体 |
画面サイズ情報 |
1.0.0+ |
Language#
MGLが扱う言語
宣言#
namespace MGL::System
{
enum class Language : uint32_t
{
// 省略(下記参照)
};
}
説明#
MGLが対応している言語の種類を表す列挙型です。言語の一覧は次の通りです。
定義 |
言語名 |
---|---|
Unknown |
不明 |
Arabic |
アラビア語 |
BrazilPortuguese |
ブラジルポルトガル語 |
Bulgarian |
ブルガリア語 |
Czech |
チェコ語 |
Dansk |
デンマーク語 |
Deutsch |
ドイツ語 |
English |
英語 |
French |
フランス語 |
Greek |
ギリシャ語 |
Italiano |
イタリア語 |
Japanese |
日本語 |
Korean |
韓国語 |
LatinAmericaSpanish |
ラテンアメリカのスペイン語 |
Magyar |
ハンガリー語 |
Nederlands |
オランダ語 |
Norsk |
ノルウェー語 |
Polski |
ポーランド語 |
Portuguese |
ポルトガル語 |
Romanian |
ルーマニア語 |
Russian |
ロシア語 |
SimplifiedChinese |
簡体中文 |
Spanish |
スペイン語 |
Suomi |
フィンランド語 |
Svenska |
スウェーデン語 |
Thai |
タイ語 |
TraditionalChinese |
繁体中文 |
Turkish |
トルコ語 |
Ukrainian |
ウクライナ語 |
Vietnamese |
ベトナム語 |
Invalid |
無効な言語 |
バージョン情報#
- MGL 1.0.0
初回リリース
- MGL 1.1.13
無効な言語を表す
Invalid
を追加型のサイズに
uint32_t
を指定
関連#
LogLevel#
デバッグ用ログの出力レベル
宣言#
namespace MGL::System
{
enum class LogLevel : uint8_t
{
// 省略(下記参照)
};
}
説明#
MGL::System デバッグ用マクロが使用するログの出力を制御するための列挙型です。この値はアプリケーション初期化時に設定され、指定したログレベルより優先度の低い出力は抑制されるようになります。
デバッグログを出力する際には、この定義を直接使用する必要はありません。対応したログ出力を行うマクロが用意されているため、そちらを使用してください。
出力レベルの優先度を高い順に並べた一覧は次の通りです。
定義 |
優先度 |
対応マクロ |
---|---|---|
Error |
最高 |
|
Warning |
高 |
|
AppTrace |
低 |
|
LibraryTrace |
最低 |
バージョン情報#
- MGL 1.0.0
初回リリース
- MGL 1.1.13
型のサイズに
uint8_t
を指定
関連#
EpochTime#
UNIXエポック時間を表すための型
宣言#
namespace MGL::System
{
using EpochTime = time_t;
static_assert(sizeof(EpochTime) >= 8);
}
説明#
UNIXエポック時間を表すための型です。この型はtime_t
型の別名であり、そのサイズは最低でも64ビットとなります。
UNIXエポック時間は世界協定時の1970年1月1日0時0分0秒を0とし、閏秒を除いた秒単位の時間です。この型はMGL::System::Chrono::GetCurrentEpochTimeの戻り値の型として使用されます。
UNIXエポック時間を一般的な日付と時刻の形式に変換する場合、MGL::System::DateTimeのコンストラクタの引数へと指定して初期化してください。
UNIXエポック時間は世界協定時を基準とするため、この型で表される時刻には時差が含まれていません。ローカル時間を扱う場合はMGL::System::Locale::GetTimeDifferenceを用いて補正を行うか、補正済みの現在時刻を取得するMGL::System::Locale::GetLocalDateTimeを使用してください。
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
TickTime#
CPU時間を表すための型
宣言#
namespace MGL::System
{
using TickTime = uint64_t;
}
説明#
CPU時間(TickTime)を表すための型です。
CPU時間はプロセッサへの動作クロック信号を基準にカウントアップされる値です。多くの環境においてCPU時間は最も精度の高い時間表現となります。反面、その精度は実行環境に依存し、起点となる値も厳格な定義はありません。多くの場合、プロセッサへの電源投入時を0とし、クロック信号に基づいて1づつカウントアップしています。
CPU時間は主に高精度な経過時間を算出する場合に使用します。ゲームにおけるフレーム間の経過時間の算出や、パフォーマンスチューニングにおける処理時間の測定などがこの用途に当てはまります。
CPU時間を扱うAPIには次のものがあります。
CPU時間が扱えるかの取得 |
|
現在のCPU時間を取得 |
|
2つのCPU時間から経過時間を取得 |
|
CPU時間をミリ秒に変換 |
|
CPU時間をマイクロ秒に変換 |
|
CPU時間をナノ秒に変換 |
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
ArgumentArray#
実行時引数の配列型
宣言#
namespace MGL::System
{
using ArgumentArray = MGL::STL::vector<MGL::STL::string>;
}
説明#
アプリケーションの実行時引数を格納するための配列です。
配列はMGL::STL::vectorによる可変長配列であり、各々の要素はMGL::STL::stringによる文字列です。これらの使用方法は通常のSTLと同様です。
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
ScreenSize#
画面サイズ情報
宣言#
namespace MGL::System
{
struct ScreenSize
{
// 省略(下記参照)
};
}
説明#
画面サイズ情報を格納するための構造体です。各メンバの内容は次の通りです。
- bool isAvailable
この構造体の情報が有効であるかを表すフラグです。この値が
false
の場合、他のメンバの内容は有効ではありません。- MGL::Vector2 physicalSize
画面の物理解像度 (Physical Resolution) を表す値です。
物理解像度は実際に映像信号として出力されている画面解像度です。ディスプレイなどの表示機器には画面全体がこのサイズの画像として伝達されています。
- MGL::Vector2 logicalSize
画面の論理解像度 (Logical Resolution) を表す値です。
論理解像度はUIなどで使用される擬似的な解像度で、ピクセル密度の違いによる物理的なサイズの差異を解決するために使用されています。
- MGL::Vector2 backingSize
画面の内部解像度 (Backing Resolution) を表す値です。
内部解像度は描画プロセッサが画面全体を表現するための解像度です。多くの場合、内部解像度はGPUが画面表示に使用しているフレームバッファのサイズであり、単位はピクセルです。
バージョン情報#
- MGL 1.0.0
初回リリース