このページでは

C

Qul Namespace

Qt Quick Ultralite 固有の型と宣言、およびアプリケーションのライフサイクルに関連する雑多な関数を提供します。詳細...

Header: #include <qul/qul.h>

名前空間

namespace Platform
namespace PlatformInterface

クラス

(since Qt Quick Ultralite 1.2) class Application
(since Qt Quick Ultralite 2.1) class ApplicationConfiguration
(since Qt Quick Ultralite 2.0) class ApplicationSettings
(since Qt Quick Ultralite 2.9) struct BinaryResource
(since Qt Quick Ultralite 1.0) class EventQueue
(since Qt Quick Ultralite 2.12) class Flags
(since Qt Quick Ultralite 2.11) struct GeoPositionInfo
(since Qt Quick Ultralite 2.11) class GeoPositionSource
(since Qt Quick Ultralite 1.5) struct Image
(since Qt Quick Ultralite 1.5) struct ImageProvider
(since Qt Quick Ultralite 1.5) struct ImageWriteGuard
(since Qt Quick Ultralite 1.0) struct ListModel
(since Qt Quick Ultralite 2.9) struct ListProperty
(since Qt Quick Ultralite 2.10) class MapTileFetcher
(since Qt Quick Ultralite 1.0) class Object
(since Qt Quick Ultralite 1.9) class PaintedItemDelegate
(since Qt Quick Ultralite 1.0) struct Property
(since Qt Quick Ultralite 2.12) struct ResourceStorageSectionInfo
(since Qt Quick Ultralite 1.2) class RootItem
(since Qt Quick Ultralite 1.5) struct SharedImage
(since Qt Quick Ultralite 1.0) struct Signal
(since Qt Quick Ultralite 1.0) struct Singleton
(since Qt Quick Ultralite 2.10) class Status
(since Qt Quick Ultralite 2.12) class String
(since Qt Quick Ultralite 1.0) class Timer

enum EventQueueOverrunPolicy { EventQueueOverrunPolicy_Discard, EventQueueOverrunPolicy_OverwriteOldest }
(since Qt Quick Ultralite 2.12) enum class MonotypeDataTable { decompositionData0, decompositionData1, decompositionData2, decompositionData3, decompositionIndex, …, AllDataTables }
(since Qt Quick Ultralite 2.12) MonotypeDataTables
enum PixelFormat { PixelFormat_ARGB32_Premultiplied, PixelFormat_ARGB32, PixelFormat_RGB32, PixelFormat_RGB16, PixelFormat_ARGB4444_Premultiplied, …, PixelFormat_Invalid }
(since Qt Quick Ultralite 2.10) enum class PlatformInitializationType { InitializePlatform, InitializePlatformAndResources }
(since Qt Quick Ultralite 2.10) enum class ResourceInitializationError { InvalidChecksum, InvalidResourceData, MemoryAllocationFailed, UnsupportedRawDataImageFormat, VersionTooHigh, VersionTooLow }
(since Qt Quick Ultralite 2.12) enum class ResourceInitializationOptions { DisableAutomaticVersionChecking, AllowUnlistedResources }
StdStringType
qreal

関数

(since Qt Quick Ultralite 1.0) void appMain(const void *arg = NULL)
(since Qt Quick Ultralite 2.10) void enableResourceChecksumVerification()
(since Qt Quick Ultralite 2.2) const char *errorCodeToString(QulError code)
(since Qt Quick Ultralite 2.0) void initHardware()
(since Qt Quick Ultralite 1.0) void initPlatform(Qul::PlatformInitializationType initializationType = PlatformInitializationType::InitializePlatformAndResources)
(since Qt Quick Ultralite 2.10) Qul::Status<Qul::ResourceInitializationError> initResources(Qul::Flags<Qul::ResourceInitializationOptions> options = Qul::Flags<Qul::ResourceInitializationOptions>())
(since Qt Quick Ultralite 2.12) bool queryResourceStorageSectionInfo(const char *resourceStorageSectionName, Qul::ResourceStorageSectionInfo *info = NULL)
(since Qt Quick Ultralite 2.2) QulErrorHandler *setErrorHandler(QulErrorHandler *handler)
(since Qt Quick Ultralite 2.12) bool validateMonotypeDataTableChecksums(Qul::MonotypeDataTables tables = MonotypeDataTables(MonotypeDataTable::AllDataTables))

詳細説明

クラス

クラスApplication

アプリケーションクラスはQt Quick Ultralite を起動するために使用されます。詳細...

クラスApplicationConfiguration

テキストキャッシュとその他のコンフィギュレーションを持つアプリケーションコンフィギュレーションクラスです。詳細はこちら

クラスApplicationSettings

ApplicationSettings クラスはApplication 設定のコンテナです。詳細はこちら

クラスBinaryResource

BinaryFilesにアクセスするためのインターフェイスです。詳細

クラスEventQueue

アプリケーションの異なる部分でイベントを送受信する便利な方法を提供します。詳細はこちら

クラスFlags

クラスGeoPositionInfo

GeoPositionInfo クラスはPositionSource QML 型に位置情報を伝えるための API を提供します。詳細はこちら

GeoPositionSourceクラス

GeoPositionSource クラスは位置情報を取得するための抽象APIを提供します。詳細はこちら

クラスImage

ピクセルデータに直接アクセスできる画像表現です。詳細はこちら

クラスImageProvider

ImageProviderクラスは、QMLで画像要求をサポートするためのインターフェイスを提供します。詳細

クラスImageWriteGuard

Image::beginWrite() およびImage::endWrite() を呼び出すためのヘルパーです。詳細はこちら

クラスListModel

このクラスを継承して QML にモデルを公開します。詳細

クラスListProperty

ListPropertyクラスを使用して、指定された型のリストを保持します。詳細はこちら

クラスMapTileFetcher

MapTileFetcherクラスは、マップタイル画像のフェッチを実装する抽象APIを提供します。詳細

クラスObject

Qt Quick Ultraliteで使用されるすべてのアイテムまたはオブジェクトの抽象実装を提供します。詳細はこちら

クラスPaintedItemDelegate

ペイントされたアイテムオブジェクトを表現するための基底クラスです。詳細はこちら

クラスProperty

Propertyクラスは、指定された型のプロパティを保持するために使用できます。詳細はこちら

クラスResourceStorageSectionInfo

クラスRootItem

RootItemクラスは、Application::setRootItem()で使用されるパブリック型です。詳細はこちら

クラスSharedImage

画像データへの共有参照。詳細はこちら

クラスSignal

QMLから接続可能なシグナルを作成します。詳細はこちら

クラスシングルトン

このクラスを継承することで、C++のクラスや構造体をシングルトンとしてQMLに公開することができます。詳細はこちら

クラスStatus

クラスString

String クラスはQt Quick Ultralite API へのインターフェースを提供します。詳細はこちら

クラスTimer

繰り返しタイマーとシングルショットタイマーを実行する方法を提供します。詳細

型ドキュメント

enum Qul::EventQueueOverrunPolicy

イベントがEventQueue に投稿され、キューが既に一杯の場合に何が起こるかを定義します。

定数説明
Qul::EventQueueOverrunPolicy_Discard0キューが一杯の場合、ポストされたイベントは破棄されます。
Qul::EventQueueOverrunPolicy_OverwriteOldest1キューが一杯の場合、投稿されたイベントは、キュー内の最も古い既存のイベントを上書きします。上書きされたイベントは失われます。

[since Qt Quick Ultralite 2.12] enum class Qul::MonotypeDataTable

Qul::validateMonotypeDataTableChecksums() を呼び出す際に、どのモノタイプ・データ・テーブルを検証するかを指定するために使用する。

定数説明
Qul::MonotypeDataTable::decompositionData01 << 0decompositionData0 データテーブル
Qul::MonotypeDataTable::decompositionData11 << 1decompositionData1 データテーブル
Qul::MonotypeDataTable::decompositionData21 << 2decompositionData2 データテーブル
Qul::MonotypeDataTable::decompositionData31 << 3decompositionData3 データ・テーブル
Qul::MonotypeDataTable::decompositionIndex1 << 4decompositionIndexデータ・テーブル
Qul::MonotypeDataTable::msBidiIndex1 << 5msBidiIndexデータ・テーブル
Qul::MonotypeDataTable::msBidiLut1 << 6msBidiLutデータ・テーブル
Qul::MonotypeDataTable::msBidiProps1 << 7msBidiPropsデータ・テーブル
Qul::MonotypeDataTable::msMirroringOffset1 << 8msMirroringOffsetデータテーブル
Qul::MonotypeDataTable::msDLPTrieData1 << 9msDLPTrieDataデータテーブル
Qul::MonotypeDataTable::msDLPTrieIndex1 << 10msDLPTrieIndex データ テーブル
Qul::MonotypeDataTable::msGeneralPropsArray1 << 11msGeneralPropsArrayデータテーブル
Qul::MonotypeDataTable::msGeneralPropsIndex1 << 12msGeneralPropsIndex データテーブル
Qul::MonotypeDataTable::msGeneralPropsLut1 << 13msGeneralPropsLut データ テーブル
Qul::MonotypeDataTable::MsScriptRangesTable1 << 14MsScriptRangesTable データテーブル
Qul::MonotypeDataTable::AllDataTables(MsScriptRangesTable << 1) - 1すべてのデータテーブルの初期化

この enum はQt Quick Ultralite 2.12 で導入されました。

Qul::validateMonotypeDataTableChecksumsも参照してください

[since Qt Quick Ultralite 2.12] Qul::MonotypeDataTables

Qul::Flags<Qul::MonotypeDataTable> の便利な型定義。

Qul::validateMonotypeDataTableChecksums() を呼び出す際に、検証するモノタイプデータテーブルを指定するために使用される。

この型定義はQt Quick Ultralite 2.12 で導入された。

Qul::validateMonotypeDataTableChecksumsも参照のこと

enum Qul::PixelFormat

この列挙型は、メモリ領域で使用されるピクセルフォーマットを指定する。

定数説明
Qul::PixelFormat_ARGB32_Premultiplied1ピクセルあたり32ビット。各色要素に8ビット、アルファチャンネルに8ビット。色値はアルファで事前乗算される。
Qul::PixelFormat_ARGB320ピクセルあたり32ビット。各カラーコンポーネントとアルファチャンネルに8ビット。
Qul::PixelFormat_RGB32232ビット/ピクセル。各色成分につき8ビット。アルファチャンネルは定数0xff に設定されているものとする。
Qul::PixelFormat_RGB165ピクセルあたり16ビット。赤と青の色成分は5ビット、緑は6ビット(565)。アルファチャンネルなし。
Qul::PixelFormat_ARGB4444_Premultiplied9ピクセルあたり16ビット。各色成分に4ビット、アルファチャンネルに4ビット。色値にはアルファが事前に乗算される。
Qul::PixelFormat_ARGB44448ピクセルあたり16ビット。各色要素に 4 ビット、アルファチャンネルに 4 ビット。
Qul::PixelFormat_RGB33210ピクセルあたり8ビット。赤と緑の色成分は3ビット、青は2ビット。アルファチャンネルなし。
Qul::PixelFormat_Alpha86ピクセルあたり8ビット。色成分情報なし、アルファチャンネルのみ保存。
Qul::PixelFormat_Alpha171ピクセルあたり1ビット。アルファチャンネルのみに1ビット使用。
Qul::PixelFormat_RLE_ARGB3211ピクセルあたり32ビットの精度を持つTarga RLEフォーマット。各色成分に8ビット、アルファチャンネルに8ビット。
Qul::PixelFormat_RLE_ARGB32_Premultiplied12ピクセルあたり32ビットの精度を持つTarga RLEフォーマット。各色要素に8ビット、アルファチャンネルに8ビット。色値にはアルファが事前に乗算される。
Qul::PixelFormat_RLE_RGB3213ピクセルあたり32ビットの精度を持つTarga RLEフォーマット。アルファチャンネルは定数0xff に設定されているものとする。
Qul::PixelFormat_RLE_RGB88814ピクセルあたり24ビットの精度を持つTarga RLEフォーマット。各色成分8ビット、アルファチャンネルなし。
Qul::PixelFormat_Custom128プ ラ ッ ト フ ォームで実装 さ れてい る カ ス タ ム形式。
Qul::PixelFormat_Invalid15無効なピクセルフォーマットを表す。

[since Qt Quick Ultralite 2.10] enum class Qul::PlatformInitializationType

initPlatform() を呼び出す際に初期化する部分を指定します。

定数説明
Qul::PlatformInitializationType::InitializePlatform0プラットフォームのみを初期化し、リソースは初期化しない。
Qul::PlatformInitializationType::InitializePlatformAndResources1プラットフォームとリソースの両方を初期化する。

この列挙型はQt Quick Ultralite 2.10 で導入された。

initPlatform およびinitResourcesも参照してください

[since Qt Quick Ultralite 2.10] enum class Qul::ResourceInitializationError

リソースの初期化中に発生する可能性のあるさまざまなエラーを定義します。

定数説明
Qul::ResourceInitializationError::InvalidChecksum0リソースデータのチェックサム検証に失敗しました。リソースデータの一部のバイトが、ホスト上で生成されたリソースバイナリデータと一致しません。詳細はQul::enableResourceChecksumVerification() を参照してください。
Qul::ResourceInitializationError::InvalidResourceData1リソースデータが無効または破損しています。たとえば、ヘッダーまたはフッターの ID が期待された値と一致しなかったり、リソース・パスのハッシュがアプリケーションがもともとビルドされていたリソースと一致しなかったりしました。
Qul::ResourceInitializationError::MemoryAllocationFailed2メモリ割り当ての失敗により初期化に失敗しました。すべてのリソースデータを初期化するのに十分なメモリがありませんでした。
Qul::ResourceInitializationError::UnsupportedRawDataImageFormat3MCU.resourceKeepRawData がtrue に設定されている画像リソースで、画像のデコードに失敗しました。
Qul::ResourceInitializationError::VersionTooHigh4読み込まれたリソース・データのメジャー・バージョンが、アプリケーションが最初にビルドされたリソース・データのメジャー・バージョンよりも高かった。
Qul::ResourceInitializationError::VersionTooLow5ロードされたリソース・データのメジャー・バージョンまたはマイナー・バージョンが、アプリケーションが最初にビルドされたリソース・データのメジャー・バージョンまたはマイナー・バージョンよりも低い。

この列挙型はQt Quick Ultralite 2.10 で導入されました。

initResourcesも参照してください

[since Qt Quick Ultralite 2.12] enum class Qul::ResourceInitializationOptions

initResources() の動作を制御するオプション。

定数説明
Qul::ResourceInitializationOptions::DisableAutomaticVersionChecking1自動バージョンチェックを無効にします。このオプションを指定すると、バージョンが一致しない場合にQul::ResourceInitializationError::VersionTooLow またはQul::ResourceInitializationError::VersionTooHigh を返す代わりにinitResources() が成功します。
Qul::ResourceInitializationOptions::AllowUnlistedResources2アプリケーションがビルドされた時点と比較して新しいリソースが追加された場合や、後にアプリケーションから削除されたリソースを含む古いリソース・データが使用された場合に、Qul::ResourceInitializationError::InvalidResourceDatainitResources() が失敗するのを防ぎます。

この列挙はQt Quick Ultralite 2.12で導入されました。

initResourcesも参照してください

StdStringType

StdStringTypeは、std::stringの型定義である。 Qt Quick Ultralite memory custom allocator.

std::stringを使用し、その割り当てサイズがMemory footprintloggingに追加されることを望むアプリケーション開発者は、このtypedefを使用して文字列変数を宣言する必要がある。

String コンストラクタはこの型のパラメータを受け取る。

この型定義を使用できるようにするには、QUL_STD_STRING_SUPPORT を定義する必要がある。詳細については、QUL_STD_STRING_SUPPORT およびCMake Manual を参照のこと。

qreal

QUL_QREAL_TYPE コンパイラdefineオプションで設定されていない限り、double

関数ドキュメント

[since Qt Quick Ultralite 1.0] void Qul::appMain(const void *arg = NULL)

この関数は初期化し、Qt Quick Ultralite アプリケーションのメインループとしても動作します。arg は使用されません。

ハードウェアとQt Quick Ultralite プラットフォーム固有のコンポーネントは、この関数を呼び出す前に初期化する必要があります。

この関数は、app_target_default_entrypointが使用されている場合、デフォルト・エントリ・ポイント実装の一部として暗黙的に呼び出されます。

この関数はQt Quick Ultralite 1.0 で導入されました。

initHardwareinitPlatform 、およびアプリケーションでQt Quick Ultralite を実行するも参照してください

[since Qt Quick Ultralite 2.10] void Qul::enableResourceChecksumVerification()

リソースデータのチェックサム検証を有効にする

この関数は、Qul::initPlatform()またはQul::initResources()が呼び出されたときに実行されるリソース初期化時に、リソースバイナリのチェックサム検証を有効にします。この検証は、実行時にCRC32チェックサムを計算し、リソースバイナリが最初に生成されたときに、Qt Quick Ultraliteリソースコンパイラによって計算されたチェックサムと比較します。

チェックサムの検証が失敗した場合、Qul::initPlatform()がPlatformInitializationType::InitializePlatformAndResources 初期化オプションで呼び出されると、パラメータResourceInitializationError::InvalidChecksum を持つQulError_Qul_ResourceInitializationFailed assert がトリガーされます。Qul::initResources() が使用された場合、それはエラーコードをResourceInitializationError::InvalidChecksum に返します。

リソースの初期化に失敗した場合、Qt Quick Ultralite API の使用はサポートされず、未定義の動作が発生する可能性があります。

この関数は、Qul::initPlatform() または Qul::initResources() が呼び出される前に呼び出されなければなりません。

この関数はQt Quick Ultralite 2.10 で導入されました。

initPlatform およびinitResourcesも参照して ください。

[since Qt Quick Ultralite 2.2] const char *errorCodeToString(QulError code)

エラーcode のC-文字列表現へのポインタを返す。

デバッグ・ビルドでは、この関数は、エラー範囲の開始値と、Core およびPlatform の範囲のエラー・コードに対する文字列表現を返します。リリース・ビルドでは、エラー範囲の開始値に対する文字列表現と、それ以外のエラー・コード値に対する空文字列を返します。

注: Custom の範囲のエラー・コードに対しては空文字列を返します。

この関数はQt Quick Ultralite 2.2で導入された。

Qul::PlatformInterface::error およびエラー処理も参照してください

[since Qt Quick Ultralite 2.0] void Qul::initHardware()

Qt Quick Ultraliteが必要とするハードウェアを初期化する。

これにはクロック、ピン、ペリフェラル、バス、メモリが含まれる。

通常、この関数はQul::initPlatform() の直前に呼び出されますが、開発者はこの関数をすべて呼び出さず、独自のハードウェア初期化を実行することもできます。

この関数は、app_target_default_entrypointが使用されている場合、デフォルトのエントリーポイント実装の一部として暗黙的に呼び出されます。

この関数はPlatformContext::initializeHardware を呼び出します。

この関数はQt Quick Ultralite 2.0 で導入された。

appMaininitPlatform 、およびアプリケーションでQt Quick Ultralite を実行するも参照してください

[since Qt Quick Ultralite 1.0] void Qul::initPlatform(Qul::PlatformInitializationType initializationType = PlatformInitializationType::InitializePlatformAndResources)

Qt Quick Ultralite プラットフォーム固有のコンポーネントを初期化する。

これには、Qt Quick UltraliteコアのリソースのプリロードとCPUベースのフォールバック描画エンジンの初期化が含まれます。

この関数は、app_target_default_entrypointが使用されている場合、デフォルトのエントリポイント実装の一部として暗黙的に呼び出されます。

この関数はPlatformContext::initializePlatform を呼び出します。

initializationTypePlatformInitializationType::InitializePlatformAndResources に設定 さ れてい る 場合は、 フ ォ ン ト のアルフ ァ マ ッ プ、 バ イ ナ リ リ ソ ース画像 リ ソ ース、 リ ソ ース キ ャ ッ シ ュ も 初期化 さ れます。こ れがデフ ォ ル ト 動作です。

initializationTypePlatformInitializationType::InitializePlatform に設定されている場合、アプリケーションは initPlatform() の呼び出しに続いてinitResources() を明示的に呼び出す必要があります。

この関数はQt Quick Ultralite 1.0 で導入されました。

appMain,initHardware,initResources,アプリケーションでQt Quick Ultralite を実行するも参照してください

[since Qt Quick Ultralite 2.10] Qul::Status<Qul::ResourceInitializationError> Qul::initResources(Qul::Flags<Qul::ResourceInitializationOptions> options = Qul::Flags<Qul::ResourceInitializationOptions>())

Qt Quick Ultralite リソースを初期化する。

この関数は、リソース・フォントのアルファ・マップ、バイナリ・リソース、イメージ・リソース、リソース・キャッシュを初期化します。リソースの初期化は、Application::exec ()またはApplication::update ()を呼び出す前に、アプリケーションの起動時に一度だけ行う必要があります。

この関数を使用する前に、Qul::initPlatform() をQul::PlatformInitializationType::InitializePlatform とともに呼び出す必要があります。

提供されるoptions を使用して、初期化の動作を制御できます。

戻り値は、初期化が成功したかどうかを示します。

リソースの初期化に失敗した場合、Qt Quick Ultralite API(この関数自体を含む)の使用はサポートされておらず、未定義の動作が発生する可能性があります。

リソースの初期化が既に成功した場合、この関数は直ちにtrue を返します。

この関数はQt Quick Ultralite 2.10で導入されました。

appMain,initHardware,initPlatform,アプリケーションでQt Quick Ultraliteを実行するも参照してください

[since Qt Quick Ultralite 2.12] bool Qul::queryResourceStorageSectionInfo(const char *resourceStorageSectionName, Qul::ResourceStorageSectionInfo *info = NULL)

QMLプロジェクトファイル中のImageFiles.MCU.resourceStorageSectionに記述されている、resourceStorageSectionName

この関数を直接呼び出すか、initPlatform()から呼び出す前に、initResources()を呼び出します。

リソース格納セクションが不明な場合はfalse を返します。

リソース格納セクションが既知の場合は、true が返され、info にリソース格納セクションに関する情報が含まれます。

この関数はQt Quick Ultralite 2.12で導入された。

[since Qt Quick Ultralite 2.2] QulErrorHandler *Qul::setErrorHandler(QulErrorHandler *handler)

エラーハンドラをhandler に設定する。Qul::PlatformInterface::error でエラーが報告されると、handler が呼び出される。

引数としてNULL を渡すと、デフォルトのエラーハンドリングに戻ります。

エラーハンドラの例:

#include <qul/error.h>

void customErrorHandler(enum QulError code, unsigned int lineNumber, int param1, int param2, int param3)
{
    Qul::PlatformInterface::log("Error code: %u, line: %u, params: %i, %i, %i.\r\n",
                                (unsigned int) code,
                                lineNumber,
                                param1,
                                param2,
                                param3);

    while (1) {
    }; // The error handler must not return!
}

以下の例では、customErrorHandler 関数がエラー処理に設定されています。

Qul::initHardware();
Qul::setErrorHandler(customErrorHandler);
Qul::initPlatform();
Qul::Application app;

この関数はQul::PlatformInterface::setErrorHandler を呼び出します。

前のエラー・ハンドラへのポインタを返すか、デフォルト・ハンドラが使用中の場合はNULL を返します。

この関数はQt Quick Ultralite 2.2で導入されました。

エラー処理も参照してください

[since Qt Quick Ultralite 2.12] bool Qul::validateMonotypeDataTableChecksums(Qul::MonotypeDataTables tables = MonotypeDataTables(MonotypeDataTable::AllDataTables))

指定したtables の Monotype データテーブルのチェックサムを検証します。

デフォルトでは、利用可能なすべてのテーブルが検証されます。

指定されたtables のチェックサムがすべて一致した場合はtrue を返し、そうでない場合はfalse を返します。

使用されるチェックサムアルゴリズムはCRC-32(IEEE 802.3)であり、0xedb88320(0x04c11db7の反映バージョン)の反映多項式を使用する。

データ・テーブルを外部フラッシュに保持する場合、Qul::initHardware ()または外部フ ラッシュを有効にする他の初期化ルーチンを最初に実行しなければならない。

この関数はQt Quick Ultralite 2.12 で導入された。

外部フラッシュに Monotype データテーブルを配置する」とinitResourcesも参照して ください。

特定の Qt ライセンスの下で利用可能です。
詳細を確認してください。