C
Qul::Platform Namespace
この名前空間は、Qt Quick Ultralite を新しいプラットフォームに移植するためのインターフェースを提供します。さらに...
| Header: | #include <Platform> |
クラス
(since Qt Quick Ultralite (Platform) 2.12) struct | ChunkedFramebufferDataTransferSizes |
(since Qt Quick Ultralite (Platform) 2.0) struct | Config |
(since Qt Quick Ultralite (Platform) 2.3) class | DeviceLink |
(since Qt Quick Ultralite (Platform) 2.3) class | DeviceLinkInterface |
(since Qt Quick Ultralite (Platform) 1.5) struct | FrameStatistics |
(since Qt Quick Ultralite (Platform) 2.12) struct | FramebufferDataChunk |
(since Qt Quick Ultralite (Platform) 2.3) struct | FramebufferFormat |
(since Qt Quick Ultralite (Platform) 1.9) class | MessageQueue |
(since Qt Quick Ultralite (Platform) 1.9) class | MessageQueueInterface |
(since Qt Quick Ultralite (Platform) 2.6) struct | PerformanceMetrics |
(since Qt Quick Ultralite (Platform) 2.0) struct | PlatformContext |
| struct | SinglePointTouchEvent |
(since Qt Quick Ultralite (Platform) 1.4) class | SinglePointTouchEventDispatcher |
(since Qt Quick Ultralite (Platform) 1.5) class | StackAllocator |
型
(since Qt Quick Ultralite (Platform) 1.5) enum | FrameBufferingType { SingleBuffering, FlippedDoubleBuffering, CopyingDoubleBuffering, PartialBuffering, OtherBuffering } |
(since Qt Quick Ultralite (Platform) 1.9) enum class | MessageQueueStatus { Success, MessageDiscarded, MessageOverwritten, EmptyQueue, Timeout, …, OtherError } |
関数
(since Qt Quick Ultralite (Platform) 1.9) void | deleteQueue(Qul::Platform::MessageQueueInterface *queue) |
| Qul::Platform::DeviceLinkInterface * | getDeviceLinkInterface() |
(since Qt Quick Ultralite (Platform) 2.0) Qul::Platform::PlatformContext * | getPlatformInstance() |
(since Qt Quick Ultralite (Platform) 1.9) std::size_t | maximumQueueMessageSize() |
(since Qt Quick Ultralite (Platform) 1.5) void | printHeapStats() |
(since Qt Quick Ultralite (Platform) 1.5) void | printStackStats() |
(since Qt Quick Ultralite (Platform) 1.5) void | qul_free(void *ptr) |
(since Qt Quick Ultralite (Platform) 1.5) void * | qul_malloc(std::size_t size) |
(since Qt Quick Ultralite (Platform) 1.5) void * | qul_realloc(void *ptr, std::size_t new_size) |
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueInterface * | requestQueue(std::size_t queueCapacity, std::size_t messageSize) |
クラス
クラスChunkedFramebufferDataTransferSizes
この構造体は、チャンクされたフレームバッファのデータ転送サイズに関する情報を保持します。詳細...
クラスConfig
この構造体は、プラットフォーム設定のランタイム表現を提供します。詳細
クラスDeviceLink
ホストとデバイス間の通信機能を提供します。詳細
クラスDeviceLinkInterface
プラットフォームが実装するインターフェースを提供します。詳細
クラスFrameStatistics
フレームレンダリングの統計情報を提供します。詳細はこちら
クラスFramebufferDataChunk
フレームバッファデータチャンクに関する情報を保持します。詳細はこちら
クラスFramebufferFormat
フレームバッファに関する情報を持つ構造体です。詳細
クラスMessageQueue
キューの実装とのインターフェイスに使用される便利なクラスです。詳細
クラスMessageQueueInterface
Qt Quick Ultralite にプラットフォーム固有のキューを提供するインターフェースクラス。詳細
クラスPerformanceMetrics
パフォーマンス・メトリクスを提供します。詳細はこちら
クラスPlatformContext
プラットフォーム・コンテキストを実装するための抽象インターフェイスを提供します。詳細はこちら
クラスSinglePointTouchEvent
シングルポイントタッチイベントに関連する情報を含む構造体です。詳細
クラスSinglePointTouchEventDispatcher
プラットフォームからのシングルポイントタッチを処理するための便利なクラスです。詳細
クラスStackAllocator
キャッシュのために一時的に余分なメモリを必要とする関数のためのシンプルなメモリ・アロケータを提供します。詳細はこちら
型ドキュメント
[since Qt Quick Ultralite (Platform) 1.5] enum FrameBufferingType
サポートされるさまざまなバッファリング機構を定義する。
| 定数 | 値 | 説明 |
|---|---|---|
SingleBuffering | 0 | レンダリングに使用されるバッファは1つだけです。すべてのレンダリングは、ディスプレイのリフレッシュレートによって許容されるタイミングバジェット内で行われなければならない。 |
FlippedDoubleBuffering | 1 | 2つのバッファが使用され、両方を表示することができます。1つは表示に使用され、もう1つはレンダリングに使用された後、反転される。 |
CopyingDoubleBuffering | 2 | レンダリング用に1つ、表示用に1つのバッファがある。レンダリングが終了すると、レンダリングバッファの内容が表示バッファにコピーされる。 |
PartialBuffering | 3 | フルフレームバッファよりも小さいバッファが1つまたは複数あります。部分バッファリングでは、ディスプレイにメモリが内蔵されている必要があります。 |
OtherBuffering | 4 | その他のプラットフォーム固有のバッファリングタイプ。 |
この enum はQt Quick Ultralite (Platform) 1.5 で導入されました。
フレームバッファ要件および部分フレームバッファも参照 。
[since Qt Quick Ultralite (Platform) 1.9] enum class MessageQueueStatus
MessageQueueInterface 関数によって返されるステータスコード。
| 定数 | 値 | 説明 |
|---|---|---|
MessageQueueStatus::Success | 0 | 関数は正常に実行されました。 |
MessageQueueStatus::MessageDiscarded | 1 | メッセージは破棄されました。これは、MessageQueueInterface::enqueueOrDiscard() および MessageQueueInterface::enqueueOrDiscardFromInterrupt() 関数が、指定されたメッセージを破棄した場合にのみ返さなければなりません。 |
MessageQueueStatus::MessageOverwritten | 2 | キュー内のメッセージが指定されたメッセージで上書きされました。これは、MessageQueueInterface::enqueueOrOverwrite() および MessageQueueInterface::enqueueOrOverwriteFromInterrupt() 関数のみが返す必要があります。 |
MessageQueueStatus::EmptyQueue | 3 | MessageQueueInterface::receive() または MessageQueueInterface::receiveFromInterrupt() は、キューが空のため、キューからメッセージを取得できませんでした。 |
MessageQueueStatus::Timeout | 4 | タイムアウト時間内にキューからメッセージを取得できませんでした。 |
MessageQueueStatus::DiscardNotSupported | 5 | キューの実装が破棄をサポートしていません。 |
MessageQueueStatus::OverwriteNotSupported | 6 | キューの実装が上書きをサポートしていない。 |
MessageQueueStatus::OtherError | 7 | EventQueue はこれをエラーとして扱う。 |
この列挙型はQt Quick Ultralite (Platform) 1.9で導入されました。
関数ドキュメント
[since Qt Quick Ultralite (Platform) 1.9] void deleteQueue(Qul::Platform::MessageQueueInterface *queue)
queue を削除する。
この関数は、MessageQueue 、不要になったキューを削除するために使用される。
この関数の実装例を示します:
void deleteQueue(MessageQueueInterface *queue) { MyMessageQueue *mq = static_cast<MyMessageQueue *>(queue); mq->~MyMessageQueue(); qul_free(mq); }
この関数はQt Quick Ultralite (Platform) 1.9 で導入されました。
requestQueue()、maximumQueueMessageSize()、Qul::Platform::MessageQueue 、およびQul::Platform::MessageQueueInterfaceも参照してください 。
Qul::Platform::DeviceLinkInterface *Platform::getDeviceLinkInterface()
プラットフォームのデバイスリンクインターフェース実装を提供する。
そのような実装がない場合、この関数はnullptr を返すことができる。しかし、理想的には、デバイスリンクがコンパイルされていない場合、この関数は一切呼び出されるべきではありません。
QUL_PLATFORM_DEVICELINK_ENABLEDも参照してください 。
[since Qt Quick Ultralite (Platform) 2.0] Qul::Platform::PlatformContext *getPlatformInstance()
ハードウェア固有のプラットフォームコンテキストインスタンスを返します。
この関数はQt Quick Ultralite (Platform) 2.0 で導入されました。
[since Qt Quick Ultralite (Platform) 1.9] std::size_t maximumQueueMessageSize()
キューが保持できるメッセージの最大サイズを返します。キューの最大メッセージサイズが不明な場合や任意の場合は、SIZE_MAX を返さなければなりません。
この関数はQt Quick Ultralite (Platform) 1.9 で導入されました。
requestQueue()、Qul::Platform::MessageQueue 、およびQul::Platform::MessageQueueInterfaceも参照のこと 。
[since Qt Quick Ultralite (Platform) 1.5] void printHeapStats()
ヒープ使用統計を標準エラー出力に出力する。
この関数はQt Quick Ultralite (Platform) 1.5 で導入されました。
[since Qt Quick Ultralite (Platform) 1.5] void printStackStats()
スタック使用統計を標準エラー出力に出力する。
この関数はQt Quick Ultralite (Platform) 1.5 で導入されました。
[since Qt Quick Ultralite (Platform) 1.5] void qul_free(void *ptr)
qul_malloc によって割り当てられたメモリー・ブロックを解放する。
ptr は解放されるメモリ・ブロックへのポインタです。
この関数はQt Quick Ultralite (Platform) 1.5 で導入された。
Qul::Platform::qul_malloc() およびQul::Platform::qul_realloc()も参照してください 。
[since Qt Quick Ultralite (Platform) 1.5] void *qul_malloc(std::size_t size)
プラットフォームに最適な方法でメモリを割り当てる。
size は要求されたメモリブロックのサイズをバイト単位で表します。
Qt Quick Ultraliteはすべてこの関数で動的メモリ割り当てを行います。
この関数を使用して割り当てられたメモリは、qul_free を使用して解放する必要があります。割り当てられたメモリブロックのサイズ変更もqul_realloc を使って行うことができます。
要求を満たすのに十分なメモリがない場合、NULLを返すことがあります。
この関数はQt Quick Ultralite (Platform) 1.5 で導入されました。
Qul::Platform::qul_free() およびQul::Platform::qul_realloc()も参照のこと 。
[since Qt Quick Ultralite (Platform) 1.5] void *qul_realloc(void *ptr, std::size_t new_size)
qul_malloc で割り当てられたメモリー・ブロックのサイズ変更を試みる。
ptr は以前に割り当てられたメモリ・ブロックへのポインタ、new_size はメモリ・ブロックの新しいサイズ(バイト単位)である。
要求を満たすのに十分なメモリがない場合、NULLを返すかもしれない。
この関数はQt Quick Ultralite (Platform) 1.5 で導入されました。
Qul::Platform::qul_malloc() およびQul::Platform::qul_free(void *ptr)も参照のこと 。
[since Qt Quick Ultralite (Platform) 1.9] Qul::Platform::MessageQueueInterface *requestQueue(std::size_t queueCapacity, std::size_t messageSize)
queueCapacity の容量を持つMessageQueueInterface 実装のインスタンスを返す。キューはmessageSize の要件を満たすメッセージを受け入れなければならない。実装がqueueCapacity またはmessageSize を満たすことができない場合、この関数は null ポインタを返さなければならない。
この関数は、MessageQueue によって、適切なキューを取得するために使用されます。
以下は、この関数の実装例である:
MessageQueueInterface *requestQueue(size_t queueCapacity, size_t messageSize) { void *queue = qul_malloc(sizeof(MyMessageQueue)); if (queue == NULL) { return NULL; } MessageQueueInterface *interface = new (queue) MyMessageQueue(queueCapacity, messageSize); return interface; }
この関数はQt Quick Ultralite (Platform) 1.9で導入された。
deleteQueue()、maximumQueueMessageSize()、Qul::Platform::MessageQueue 、Qul::Platform::MessageQueueInterfaceも参照してください 。
特定の Qt ライセンスの下で利用可能です。
詳細をご覧ください。