現(xiàn)在的電子信息技術(shù)發(fā)展得很快,特別像
CPU這樣的硬件,已經(jīng)進(jìn)入到多核時(shí)代,運(yùn)行程序的速度比以前快了很多,但人類的需求是無止境的,因此寫的程序也越來越大,越來越復(fù)雜,導(dǎo)致程序的初始化時(shí),就變得比原來更加漫長(zhǎng)。在人機(jī)交互理論里,讓人等待超過10秒的時(shí)間,心情就會(huì)變得急躁,感覺這個(gè)程序不好用。那么有什么方法解決這個(gè)問題呢?在我們的社會(huì)里,到處都有排隊(duì)等待的現(xiàn)象,比如讓你去銀行辦理業(yè)務(wù),如果讓你站在那里等著,沒有任何電視或報(bào)紙看,感覺時(shí)間需要很長(zhǎng)。這里通過看電視和報(bào)紙,讓人感覺到時(shí)間不長(zhǎng)。其實(shí)還有一個(gè)更好的辦法,當(dāng)大家在銀行排隊(duì)時(shí),銀行的服務(wù)員應(yīng)立即送上茶、可樂、冰棒等等,讓大家一邊吃著一邊等著,這樣排隊(duì)更加感覺不到時(shí)間長(zhǎng)了。所以在我們?cè)O(shè)計(jì)程序里,也需要給用戶一些“茶、可樂、冰棒”,這就是閃屏窗口。
?
下面是閃屏窗口的類聲明。
#001?class LLSplashScreen
#002?{
#003?public:
?
構(gòu)造和析構(gòu)函數(shù)
#004?
?? LLSplashScreen() { };
#005?
?? virtual ~LLSplashScreen() { };
#006?
#007?
#008?
?? // Call to display the window.
?
創(chuàng)建一個(gè)閃屏窗口。
#009?
?? static LLSplashScreen * create();
?
顯示閃屏窗口。
#010?
?? static void show();
?
隱藏閃屏窗口。
#011?
?? static void hide();
?
讓閃屏窗口顯示新的字符串。
#012?
?? static void update(const char* string);
#013?
?
判斷閃屏窗口是否可見。
#014?
?? static bool isVisible();
#015?protected:
?
重載下面三個(gè)函數(shù)實(shí)現(xiàn)不同平臺(tái)的代碼。比如
WINDOWS與LINUX平臺(tái)就不一樣的。
#016?
?? // These are overridden by the platform implementation
#017?
?? virtual void showImpl() = 0;
#018?
?? virtual void updateImpl(const char* string) = 0;
#019?
?? virtual void hideImpl() = 0;
#020?
#021?
?? static BOOL sVisible;
#022?
#023?};
?
?
下面接著分析
WINDOWS平臺(tái)下的實(shí)現(xiàn)代碼,如下:
#001?//static
#002?void LLSplashScreen::show()
#003?{
#004?
?? if (!gSplashScreenp)
#005?
?? {
#006?#if LL_WINDOWS && !LL_MESA_HEADLESS
#007?
?????? gSplashScreenp = new LLSplashScreenWin32;
#008?#elif LL_DARWIN
#009?
?????? gSplashScreenp = new LLSplashScreenMacOSX;
#010?#endif
#011?
?????? if (gSplashScreenp)
#012?
?????? {
#013?
?????????? gSplashScreenp->showImpl();
#014?
?????? }
#015?
?? }
#016?}
?
上面實(shí)現(xiàn)
WINDOWS和MAC的創(chuàng)建窗口。在這里主要分析WINDOWS平臺(tái)的類LLSplashScreenWin32的代碼,下一次再來分析它。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
