日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

第二人生的源碼分析(七十一)實現(xiàn)閃屏窗口

系統(tǒng) 2105 0
現(xiàn)在的電子信息技術(shù)發(fā)展得很快,特別像 CPU這樣的硬件,已經(jīng)進入到多核時代,運行程序的速度比以前快了很多,但人類的需求是無止境的,因此寫的程序也越來越大,越來越復(fù)雜,導(dǎo)致程序的初始化時,就變得比原來更加漫長。在人機交互理論里,讓人等待超過10秒的時間,心情就會變得急躁,感覺這個程序不好用。那么有什么方法解決這個問題呢?在我們的社會里,到處都有排隊等待的現(xiàn)象,比如讓你去銀行辦理業(yè)務(wù),如果讓你站在那里等著,沒有任何電視或報紙看,感覺時間需要很長。這里通過看電視和報紙,讓人感覺到時間不長。其實還有一個更好的辦法,當大家在銀行排隊時,銀行的服務(wù)員應(yīng)立即送上茶、可樂、冰棒等等,讓大家一邊吃著一邊等著,這樣排隊更加感覺不到時間長了。所以在我們設(shè)計程序里,也需要給用戶一些“茶、可樂、冰棒”,這就是閃屏窗口。
?
下面是閃屏窗口的類聲明。
#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)建一個閃屏窗口。
#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:
?
重載下面三個函數(shù)實現(xiàn)不同平臺的代碼。比如 WINDOWS與LINUX平臺就不一樣的。
#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平臺下的實現(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?}
?
上面實現(xiàn) WINDOWS和MAC的創(chuàng)建窗口。在這里主要分析WINDOWS平臺的類LLSplashScreenWin32的代碼,下一次再來分析它。

第二人生的源碼分析(七十一)實現(xiàn)閃屏窗口


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 东乌珠穆沁旗| 颍上县| 宜昌市| 翼城县| 历史| 井研县| 巩义市| 遂昌县| 四川省| 东安县| 泾源县| 深圳市| 铜鼓县| 临猗县| 和田市| 新营市| 改则县| 双辽市| 邻水| 五寨县| 奉贤区| 合川市| 霍城县| 德州市| 长海县| 石首市| 五台县| 特克斯县| 九台市| 波密县| 靖安县| 平昌县| 南开区| 桂阳县| 正安县| 平舆县| 阿坝| 沂南县| 光泽县| 榆社县| 长子县|