登录服务器是一个基本的功能,下面就来了解一下第二人生的登录界面设计与实现,先来分析一下登录状态界面的显示。它的界面如下图:
从上面的界面,就可以看到界面的基本组成有窗口、菜单和状态显示,由于登录时需要从服务器下载数据,这是一个比较漫长的过程,因此需要提示这个下载过程正在进行中。
在第二人生里要显示上面一个界面,也是比较复杂的事情,因为它所有界面的显示都是基本
OPENGL
的显示实现,也就是说每个界面的显示与更新都需要通过
OPENGL
的渲染通道进行。基本窗口是由
Windows
系统窗口组成,菜单是由类
LLViewerMenuHolderGL
创建,状态显示窗口是由类
LLWebBrowserCtrl
创建。类
LLWebBrowserCtrl
是内置的
Web
浏览器,它主要实现从服务器上下载登录页面,并且通过网页来进行登录认证。
登录状态界面的程序流程如下:
1、
LLAppViewer::mainLoop()
2、
LLAppViewer::idle()
3、
idle_startup()
4、
login_show()
5、
最后调用
LLWebBrowserCtrl::draw()
来更新浏览器界面。