DFB開機音量圖標以及廣告倒計時顯示實現

MSTAR平臺:開機二階段的廣告是在MSrv_Advert_Player.cpp中。

圖標的顯示實現在supernova/projects/tvos/main/main.cpp中。

DFB-DirectFB是一個專門針對Linux圖形庫設計的圖形加速中間層。因爲在開機第二階段,安卓系統還沒跑起來,所以藉助於DFB來顯示圖像。

對外接口:主要是給上層應用使用的:

  1. IDirectFBInputDevice: 輸入設備
  2. IDirectFBScreen: 屏幕
  3. IDirectFBSurface: 繪圖表面
  4. IDirectFBPalette: 調色板
  5. IDirectFBFont: 字體
  6. IDirectFBImageProvider : 圖片
  7. IDirectFBVideoProvider: 視頻
  8. IDirectFBWindow : 窗口
  9. DirectFBEventBuffer: 事件緩衝

 

IDirectFBSurface *time_surface, *volume_surface;

創建字庫接口,加載字庫:

Dfb->CreateFont(dfb, “/system/fonts/Roboto-Regular.ttf”, &fontdesc, &fixedfont);

設置填充顏色:

Volume_surface->SetColor()

除了可設置RGB,還可以設置透明度。

 

畫矩形:

Volume_surface->FillRectangle()

創建圖像解碼接口:

Volume_ surface->CreateImageProvider()

顯示字符串:

Volume_ surface->DrawString()

把主surface的內容顯示到屏幕上:

Volume_ surface->Flip()

需要注意的是,在開始創建的時候,需要保存一下當前的狀態,存到old_volume_dlc裏邊。

在顯示完畢之後,release時需要將狀態恢復回去。

volume_layer->SetConfiguration(volume_layer, &old_volume_dlc)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章