[Armadillo:04124] DirectFBの色深度について
horiuchi
email@hidden
2009年 3月 12日 (木) 23:49:46 JST
堀内と申します。
現在、armadillo-9を使ってDirectFBを使ったアプリケーションを作成
しています。
atmark社ホームページの、「最新組み込みLinux実践講座Part4」
を参考に、自前でGUIアプリケーションを組んだのですが、表示する
背景やボタンの色深度が変更できず、悩んでおります。
現状では、一応デフォルト設定(?)の8bitで動いているようなのですが
これを16bit程度で動作させたいと思っております。
過去ログも漁ってみたのですが、関係する内容は見つけられませんでした。
どなたか、DirectFBで色深度の設定を変更する方法をご存知の方が
いらっしゃいましたら、教えて頂けませんでしょうか。
環境と、試した内容は以下の通りです。
=======================
開発環境: atde2-20071018
dist: atmark-dist-20081022
カーネル: linux-2.6.12.3-a9-14
DirectFB: Ver.1.0.1
=======================
Hermitターミナルから...
hermit> setenv video=ep93xxfb:CRT-800x600,16bpp
を行いました。
DirectFB本家のリファレンスも参考にしてみたところ、関係ありそうな
関数として、SetVideoMode()を見つけました。
実際に以下のように実装し、コンパイル、実行してみたのですが、
残念ながら、変化がありませんでした。
以下、実装部分(初期化)のソース
====================================================
// DirectFBの初期化を行い、スーパーインタフェースを作成します。
// また、プライマリレイヤを取得し設定を行います。
{
DFBCHECK(DirectFBInit(&argc, &argv));
DFBCHECK(DirectFBCreate(&dfb));
DFBCHECK(dfb->GetDeviceDescription(dfb, &desc));
DFBCHECK(dfb->GetDisplayLayer(dfb, DLID_PRIMARY, &layer));
⇒ ココ DFBCHECK(dfb->SetVideoMode(dfb,800,600,16));
DFBCHECK(layer->SetCooperativeLevel(layer,
DLSCL_ADMINISTRATIVE));
if (!((desc.blitting_flags & DSBLIT_BLEND_ALPHACHANNEL) &&
(desc.blitting_flags & DSBLIT_BLEND_COLORALPHA))) {
config.flags = DLCONF_BUFFERMODE;
config.buffermode = DLBM_BACKSYSTEM;
DFBCHECK(layer->SetConfiguration(layer, &config));
}
DFBCHECK(layer->GetConfiguration(layer, &config));
}
=======================================================
DirectFB起動後のログには、以下のエラーメッセージが出ていました。
(!) DirectFB/FBDev: Panning display failed (x=0 y=0 ywarp=0 vbl=0)!
⇒Invalid argument
以上、宜しくお願いします。
armadillo メーリングリストの案内