このページでは

C

Qul::Platform Namespace

この名前空間は、Qt Quick Ultralite を新しいプラットフォームに移植するためのインターフェースを提供します。詳細...

Header: #include <mem.h>

クラス

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