このページでは

C

<platforminterface/platforminterface.h> - Interfaces of the Qt Quick Ultralite core library

Qt Quick のUltraliteコアライブラリから、プラットフォームの実装で使用するための基本的なインターフェースを提供します。詳細...

Header: #include <platforminterface/platforminterface.h>

(since Qt Quick Ultralite (Platform) 1.5) enum KeyEventType { KeyPressEvent, KeyReleaseEvent }
(since Qt Quick Ultralite (Platform) 1.5) enum KeyboardModifier { NoKeyboardModifier, ShiftKeyboardModifier, ControlKeyboardModifier, AltKeyboardModifier, MetaKeyboardModifier, …, GroupSwitchKeyboardModifier }

関数

(since Qt Quick Ultralite (Platform) 1.5) void handleKeyEvent(uint64_t timestamp, Qul::PlatformInterface::KeyEventType type, int key, uint32_t nativeScanCode = 0, unsigned int modifiers = NoKeyboardModifier, const char *textUtf8 = NULL, bool autoRepeat = false, uint32_t ucs4 = 0)
(since Qt Quick Ultralite (Platform) 1.5) void handleTouchCancelEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp)
(since Qt Quick Ultralite (Platform) 1.5) void handleTouchEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp, const Qul::PlatformInterface::TouchPoint *touchPoints, unsigned int numTouchPoints)
(since Qt Quick Ultralite (Platform) 2.9) void initializeArgb32CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeArgb4444CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeBgr888CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb16CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb32CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb332CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb888CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 1.5) void updateEngine(uint64_t timestamp)

詳細な説明

クラス

Qul::PlatformInterface::TouchPoint

単一のタッチポイントを表します。

型のドキュメント

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

発生しうるキーイベントの種類を表す列挙型。

定数説明
KeyPressEvent0キー押下イベントを表します
KeyReleaseEvent1キーの離しイベントを表します

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

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

定数説明
NoKeyboardModifier0x00000000修飾キーが押されていない
ShiftKeyboardModifier0x02000000キーボードのShiftキーが押されている
ControlKeyboardModifier0x04000000キーボードのCtrlキーが押されている
AltKeyboardModifier0x08000000キーボードの Alt キーが押されている
MetaKeyboardModifier0x10000000キーボードのMetaキーが押されている
KeypadKeyboardModifier0x20000000テンキーのボタンが押された
GroupSwitchKeyboardModifier0x40000000キーボードの Mode_switch キーが押されました。

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

関数のドキュメント

[since Qt Quick Ultralite (Platform) 1.5] void handleKeyEvent(uint64_t timestamp, Qul::PlatformInterface::KeyEventType type, int key, uint32_t nativeScanCode = 0, unsigned int modifiers = NoKeyboardModifier, const char *textUtf8 = NULL, bool autoRepeat = false, uint32_t ucs4 = 0)

主要なイベントを処理する

プラットフォーム層から受信したキーイベントは、この関数を通じてコアエンジンに渡す必要があります。timestamp は、イベントが発生した時刻です。 これは通常、プラットフォームのネイティブタイムスタンプ関数から読み取られた時刻です。type は、これがキー押下イベントかキー離しイベントかを指定します。key は、Qul::PlatformInterface::Key列挙型の値に基づく、実際のキー識別子です。nativeScanCode はネイティブのスキャンコード識別子であり、プラットフォーム固有のカスタムキーを扱う際に、キー値Qul::Key_unknown と組み合わせて使用すると便利です。modifiers は、Qul::PlatformInterface::KeyModifier の値を論理和(OR)で組み合わせることで、キーイベント発生時にどのキー修飾キーが押されているかを指定します。

textUtf8 は未使用であり、次回のメジャーリリースで削除される予定です。

autoRepeat これは、そのキーが自動リピートキーであるかどうかを指定します。イベントが最初のキー押下によるものである場合は、false にする必要があります。

ucs4 は、キーが生成するテキストの ucs4 表現であり、さまざまな国際キーボードのサポートや大文字・小文字の区別において有用です。コアエンジンはキーボードの状態を保持しないことに注意してください。現在アクティブな修飾キーの状態を追跡し、それに基づいて適切な ucs4 値を選択するのは、プラットフォーム統合の役割です。 コントロールキーの場合、または完全なテキスト入力サポートを必要としない場合は、NULLのままにしておく必要があります(その場合、QMLに送信されるキーイベントのtextプロパティは空になりますが、key およびnativeScanCode の値に基づいてアクションを選択することは依然として可能です)。

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

Qul::Platform::PlatformContext::currentTimestampも参照してください

[since Qt Quick Ultralite (Platform) 1.5] void handleTouchCancelEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp)

タッチイベントをキャンセルします

screen のタッチイベントをキャンセルします。timestamp はイベントが発生した時刻です。これは通常、プラットフォームのネイティブタイムスタンプ関数から読み取られた時刻です。screenNULL の場合、プラットフォームのプライマリ画面が使用されます。

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

Qul::Platform::PlatformContext::currentTimestamp およびQul::Platform::PlatformContext::availableScreensも参照してください

[since Qt Quick Ultralite (Platform) 1.5] void handleTouchEvent(Qul::PlatformInterface::Screen *screen, uint64_t timestamp, const Qul::PlatformInterface::TouchPoint *touchPoints, unsigned int numTouchPoints)

タッチイベントを処理する

プラットフォーム層から受信したタッチイベントは、この関数を通じてコアエンジンに渡す必要があります。screen は、タッチイベントが発生した画面です。timestamp は、イベントが発生した時刻です。これは通常、プラットフォームのネイティブタイムスタンプ関数から読み取られた時刻です。touchPoints およびnumTouchPoints には、現在アクティブなタッチポイントのリストが含まれています。 タッチポイントの所有権は呼び出し元関数に残ります。screenNULL の場合、プラットフォームのプライマリ画面が使用されます。

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

Qul::Platform::PlatformContext::currentTimestamp およびQul::Platform::PlatformContext::availableScreensも参照してください

[since Qt Quick Ultralite (Platform) 2.9] void initializeArgb32CpuFallbackDrawingEngine()

ARGB32 形式での 32 BPP レンダリング用に、Qt Quick Ultralite を初期化します。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用されない場合は破棄することができます。

この関数は、ARGB32 形式の 32 BPP 描画デバイス向けにフォールバックレンダラーを設定します。ARGB32 CPU フォールバック描画エンジンは、RGB32 CPU フォールバック描画エンジンと同じ描画エンジンおよびブレンド関数を使用します。

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

関連項目: Qul::PlatformInterface::initializeRgb332CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb16CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb4444CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngineQul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeRgb32CpuFallbackDrawingEngine

[since Qt Quick Ultralite (Platform) 2.9] void initializeArgb4444CpuFallbackDrawingEngine()

ARGB4444形式での16 BPPレンダリング用に、Qt Quick Ultraliteを初期化します。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用されない場合は破棄することができます。

この関数は、ARGB4444形式の16 BPP描画デバイス用にフォールバックレンダラーを設定します。

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

関連項目: Qul::PlatformInterface::initializeRgb332CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb16CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngineQul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb32CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeRgb32CpuFallbackDrawingEngine

[since Qt Quick Ultralite (Platform) 2.9] void initializeBgr888CpuFallbackDrawingEngine()

Qt Quick Ultralite を初期化し、BGR888 形式での 24 BPP レンダリングに対応させます。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用されない場合は破棄することができます。

この関数は、BGR888 形式の 24 BPP 描画デバイス用にフォールバックレンダラーを設定します。RGB888 形式の場合は、Qul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngine を使用してください。

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

Qul::PlatformInterface::initializeRgb332CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb16CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb4444CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb32CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeRgb32CpuFallbackDrawingEngineも参照してください

[since Qt Quick Ultralite (Platform) 2.9] void initializeRgb16CpuFallbackDrawingEngine()

Qt Quick Ultralite を、RGB565 形式での 16 BPP レンダリング用に初期化します。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用されない場合は破棄することができます。

この関数は、RGB565 フォーマットでの 16 BPP 描画デバイス用にフォールバック・レンダラーを設定します。

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

関連項目: Qul::PlatformInterface::initializeRgb332CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb4444CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngineQul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb32CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeRgb32CpuFallbackDrawingEngine

[since Qt Quick Ultralite (Platform) 2.9] void initializeRgb32CpuFallbackDrawingEngine()

Qt Quick Ultralite を、RGB32 形式での 32 BPP レンダリング用に初期化します。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用されない場合は破棄することができます。

この関数は、RGB32 形式の 32 BPP 描画デバイス用にフォールバックレンダラーを設定します。RGB32 CPU フォールバック描画エンジンは、ARGB32 CPU フォールバック描画エンジンと同じ描画エンジンおよびブレンド関数を使用します。

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

関連項目: Qul::PlatformInterface::initializeRgb332CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb16CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb4444CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngineQul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeArgb32CpuFallbackDrawingEngine

[since Qt Quick Ultralite (Platform) 2.9] void initializeRgb332CpuFallbackDrawingEngine()

Qt Quick Ultralite を、RGB332 形式での 8 BPP レンダリング用に初期化します。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用されない場合は破棄することができます。

この関数は、RGB332 形式の 8 BPP 描画デバイス用にフォールバック・レンダラーを設定します。

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

関連項目: Qul::PlatformInterface::initializeRgb16CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb4444CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb888CpuFallbackDrawingEngineQul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb32CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeRgb32CpuFallbackDrawingEngine

[since Qt Quick Ultralite (Platform) 2.9] void initializeRgb888CpuFallbackDrawingEngine()

Qt Quick Ultralite を、RGB888 形式での 24 BPP レンダリング用に初期化します。

デフォルトでは、Qt Quick Ultraliteはフォールバックレンダラーを参照しないため、使用しない場合は破棄することができます。

この関数は、RGB888 形式の 24 BPP 描画デバイス用にフォールバックレンダラーを設定します。BGR888 形式の場合は、Qul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngine を使用してください。

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

Qul::PlatformInterface::initializeRgb332CpuFallbackDrawingEngineQul::PlatformInterface::initializeRgb16CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb4444CpuFallbackDrawingEngineQul::PlatformInterface::initializeBgr888CpuFallbackDrawingEngineQul::PlatformInterface::initializeArgb32CpuFallbackDrawingEngine 、およびQul::PlatformInterface::initializeRgb32CpuFallbackDrawingEngineも参照してください

[since Qt Quick Ultralite (Platform) 1.5] void updateEngine(uint64_t timestamp)

Qt Quick Ultraliteエンジンの更新

Qt Quick Ultralite エンジンは、タイマーや表示アニメーションを最新の状態に保つために、定期的に更新する必要があります。

timestamp パラメータは、Qul::Platform::PlatformContext::currentTimestamp()によって報告される、現在のプラットフォームのタイムスタンプ(ミリ秒単位)です。

この例は、メインループからエンジンの更新を行うための典型的なセクションを示しています。

static uint64_t nextUpdate = 0;

void scheduleEngineUpdate(uint64_t timeout) {
   nextUpdate = timeout;
}

while_loop {
    const uint64_t timestamp = Qul::Platform::PlatformContext::currentTimestamp();
    if (timestamp >= nextUpdate) {
        Qul::PlatformInterface::updateEngine(timestamp);
    } else {
        // Device could sleep until time in 'nextUpdate'.
        enterSleepMode(nextUpdate);
    }
}

コールバック `Qul::Platform::PlatformContext::scheduleEngineUpdate ` は、Qt Quick Ultralite エンジンが次に `Qul::PlatformInterface::updateEngine` を通じて更新を必要とするタイミングを、プラットフォーム実装に通知します。

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

Qul::Platform::PlatformContext::scheduleEngineUpdate およびQul::Platform::PlatformContext::currentTimestampも参照してください

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。