いくつかのQtメンバ関数を通して/ dev/fb0(linuxフレームバッファ)ファイルにストリームを保持しようとしています。目標は、これは理想的にフレームバッファを開き、画面に書き込まれるデータのためのメモリバッファとして動作するように新しいQImageのを作成しフレームバッファfstreamからのストリームをメンバ関数を通して開く
bool myscreen::connect()
{
std::fstream myscreen_Fb;
myscreen_Fb.open("/dev/fb0")
QImage* image;
image = new QImage(w, h, QImage::Format_RGB888);
QScreen::data = image->bits();
}
を開く機能を接続::マイスクリーンを使用することです。私の "画像"は、bits()関数を通して画面上の最初の可視ピクセル(メモリ)を指し示します。私はハードウェアがデフォルトのメモリマッピングをサポートしていないので、これを実装する必要があります。私は、その後でそれを画面にブリットたい
:
void myscreen::blit(const QImage &img, const QPoint &topLeft, const QRegion ®ion)
{
QScreen::blit(img, topLeft, region);
write(myscreen_Fb, image.bits(), image.size());
}
私はmyscreen_FbについてGCCから苦情がで宣言されていない使用して開いて最初に表示されるピクセルへのポインタを取得し得るように見えるカント範囲。何か案は?
更新
私が提案した変更を行い、クラス内の関数を宣言したが、狂気私を運転している、このエラーが発生します。
error: expected constructor, destructor, or type conversion before '.' token
それが含まれている行を参照:
vopuscreenFd.open("/dev/fb0", fstream::out);
ブライス
ありがとう!私はそれを見て、何ができるか見る。 blit操作に関しては、スクリーンに変更があるたびにそれを行う必要があるので、connectは1秒間に数回実行されることはないので、connect関数にはあまり適していません!希望があれば、それに応じて更新します。 – bryce