このページでは

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, FlippedTiledDoubleBuffering, 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)

詳細な説明

クラス

classChunkedFramebufferDataTransferSizes

この構造体は、チャンク化されたフレームバッファデータの転送サイズに関する情報を格納します。詳細...

classConfig

この構造体は、プラットフォーム設定のランタイム表現を提供します。詳細...

classDeviceLink

このクラスは、ホストとデバイス間の通信機能を提供します。詳細...

classDeviceLinkInterface

プラットフォームが実装すべきインターフェースを提供します。詳細...

classFrameStatistics

フレームのレンダリング統計情報を提供します。詳細...

classFramebufferDataChunk

この構造体は、フレームバッファデータチャンクに関する情報を格納します。詳細...

classFramebufferFormat

この構造体は、フレームバッファに関する情報を保持します。詳細...

classMessageQueue

キューの実装と連携するために使用される利便性向上のためのクラスです。詳細...

classMessageQueueInterface

Qt Quick Ultralite にプラットフォーム固有のキューを提供するインターフェースクラス。詳細...

classPerformanceMetrics

パフォーマンスメトリクスを提供します。詳細...

classPlatformContext

このクラスは、プラットフォームコンテキストを実装するための抽象インターフェースを提供します。詳細...

classSinglePointTouchEvent

シングルポイントタッチイベントに関連する情報を含む構造体です。詳細...

classSinglePointTouchEventDispatcher

プラットフォームからのシングルポイントタッチを処理するための利便性クラスです。詳細...

classStackAllocator

キャッシュのために一時的に追加のメモリを必要とする可能性のある関数向けに、シンプルなメモリアロケータを提供します。詳細...

型ドキュメント

[since Qt Quick Ultralite (Platform) 1.5] enum FrameBufferingType

サポートされているさまざまなバッファリングの仕組みを定義します。

定数値説明
SingleBuffering0レンダリングには単一のバッファのみが使用されます。すべてのレンダリングは、ディスプレイのリフレッシュレートによって許容される時間枠内で行われる必要があります。
FlippedDoubleBuffering12つのバッファが使用され、どちらも表示可能です。1つは表示用、もう1つはレンダリング用として使用され、その後切り替えられます。
CopyingDoubleBuffering2レンダリング用と表示用のバッファがそれぞれ1つずつあります。レンダリングが完了すると、レンダリング用バッファの内容が表示用バッファにコピーされます。
PartialBuffering3フルフレームバッファよりも小さいバッファが1つまたは複数存在します。部分バッファリングには、ディスプレイに内蔵メモリが必要です。
FlippedTiledDoubleBuffering4FlippedDoubleBuffering と似ていますが、Qul::Platform::PlatformContext::adjustedPartialUpdateRect を呼び出してダーティ更新矩形を調整し、プラットフォームがタイル境界に合わせてダーティ更新矩形を揃えることを可能にします。これは、再描画をタイル単位で行う必要があるグラフィックスアーキテクチャで有用であり、タイル内のいずれかのピクセルが再描画されると、そのタイル全体が同時に再描画される必要があります。
OtherBuffering5その他のプラットフォーム固有のバッファリングタイプ。

この列挙型は、Qt Quick Ultralite (Platform) 1.5 で導入されました。

「フレームバッファの要件」および「部分フレームバッファ」も参照してください 。

[since Qt Quick Ultralite (Platform) 1.9] enum class MessageQueueStatus

MessageQueueInterface 関数によって返されるステータスコード。

定数値説明
MessageQueueStatus::Success0関数が正常に実行されました。
MessageQueueStatus::MessageDiscarded1メッセージが破棄されました。これは、MessageQueueInterface::enqueueOrDiscard() および MessageQueueInterface::enqueueOrDiscardFromInterrupt() 関数が指定されたメッセージを破棄した場合にのみ返される必要があります。
MessageQueueStatus::MessageOverwritten2キュー内のメッセージが、指定されたメッセージで上書きされました。これは、MessageQueueInterface::enqueueOrOverwrite() および MessageQueueInterface::enqueueOrOverwriteFromInterrupt() 関数によってのみ返される必要があります。
MessageQueueStatus::EmptyQueue3MessageQueueInterface::receive() または MessageQueueInterface::receiveFromInterrupt() は、キューが空であるため、キューからメッセージを取得できませんでした。
MessageQueueStatus::Timeout4タイムアウトms 内にキューからメッセージを取得できませんでした。
MessageQueueStatus::DiscardNotSupported5キューの実装は破棄をサポートしていません。
MessageQueueStatus::OverwriteNotSupported6キューの実装は上書きをサポートしていません。
MessageQueueStatus::OtherError7ステータスコードのいずれも、関数のステータスに一致しません。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()

ヒープ使用量の統計情報をstderrに出力します。

この関数は、Qt Quick Ultralite (Platform) 1.5 で導入されました。

[since Qt Quick Ultralite (Platform) 1.5] void printStackStats()

スタックの使用状況に関する統計情報をstderrに出力します。

この関数は、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 ライセンスの下で利用可能です。
詳細はこちらをご覧ください。