Android系统的开机画面显示过程分析(2)
- static void fbcon_init(struct vc_data *vc, int init)
- {
- struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
- struct fbcon_ops *ops;
- struct vc_data **default_mode = vc->vc_display_fg;
- struct vc_data *svc = *default_mode;
- struct display *t, *p = &fb_display[vc->vc_num];
- int logo = 1, new_rows, new_cols, rows, cols, charcnt = 256;
- int cap;
- if (info_idx == -1 || info == NULL)
- return;
- ......
- if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
- (info->fix.type == FB_TYPE_TEXT))
- logo = 0;
- ......
- if (logo)
- fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows);
- ......
- }
- static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
- int cols, int rows, int new_cols, int new_rows)
- {
- ......
- int logo_height;
- ......
- logo_height = fb_prepare_logo(info, ops->rotate);
- ......
- if (logo_lines > vc->vc_bottom) {
- ......
- } else if (logo_shown != FBCON_LOGO_DONTSHOW) {
- logo_shown = FBCON_LOGO_DRAW;
- ......
- }
- }
- int fb_prepare_logo(struct fb_info *info, int rotate)
- {
- int depth = fb_get_color_depth(&info->var, &info->fix);
- unsigned int yres;
- memset(&fb_logo, 0, sizeof(struct logo_data));
- ......
- if (info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
- depth = info->var.blue.length;
- if (info->var.red.length < depth)
- depth = info->var.red.length;
- if (info->var.green.length < depth)
- depth = info->var.green.length;
- }
- if (info->fix.visual == FB_VISUAL_STATIC_PSEUDOCOLOR && depth > 4) {
- /* assume console colormap */
- depth = 4;
- }
- /* Return if no suitable logo was found */
- fb_logo.logo = fb_find_logo(depth);
- ......
- return fb_prepare_extra_logos(info, fb_logo.logo->height, yres);
- }
Android系统的开机画面显示过程分析(2)相关推荐
- Android系统的开机画面显示过程分析(13)
WindowManagerService类的成员函数performEnableScreen的实现如下所示: public class WindowManagerService extend ...
- Android系统的开机画面显示过程分析
提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了.Android系统在启动的过程中,最多可以出现三个画面,每一个画面都用来描述一个不同的启动阶段.本文将详细分析这三个开 ...
- Android系统的开机画面显示过程分析(8)
3. 第三个开机画面的显示过程 第三个开机画面是由应用程序bootanimation来负责显示的.应用程序bootanimation在启动脚本init.rc中被配置成了一个服 ...
- 安卓linux开机画面,Android系统的开机画面显示过程分析(1)
好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出的承诺.提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的 ...
- Android系统的开机画面显示过程分析(5)
2. 第二个开机画面的显示过程 由于第二个开机画面是在init进程启动的过程中显示的,因此,我们就从init进程的入口函数main开始分析第二个开机画面的显示过程. init进 ...
- Android系统手机开机画面各个阶段代码执行流程分析(Part2)
3. 第三个开机画面的显示过程 第三个开机画面是由应用程序bootanimation来负责显示的.应用程序bootanimation在启动脚本init.rc中被配置成了一个服务,如下所示: servi ...
- Android系统定制开机logo和开机动画
定制开机logo和开机动画 开机logo 开机动画 bootanimation.zip 生成zip文件 添加新的开机动画 开机logo MTK ASOP中lk阶段的logo是开机后的第一个界面,也被称 ...
- Android系统手机开机画面各个阶段代码执行流程分析(Part1)
提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了.Android系统在启动的过程中,最多可以出现三个画面,每一个画面都用来描述一个不同的启动阶段.本文将详细分析这三个开 ...
- android系统修改开机动画
前提须知 开机动画是bootanimation.zip文件,包含part0和desc.txt两部分. part0文件夹:存放与屏幕分辨率相同的图片,图片命名数字递增. desc.txt文本:配置图片如 ...
- Android系统Surface机制的SurfaceFlinger服务的启动过程分析
在前面一篇文章中,我们简要介绍了Android系统Surface机制中的SurfaceFlinger服务.SurfaceFlinger服务是在System进程中启动的,并且负责统一管理设备的帧缓冲区. ...
最新文章
- java从入门到精通_想要开始学java?你要的java从入门到精通布列如下!
- 斯洛文尼亚最大零售商接受BCH支付
- MFC子窗口和父窗口(SetParent,SetOwner)
- 1.0 Hadoop的介绍、搭建、环境
- 数据分析学习笔记—python面向对象与模块
- 【NIPS 2020】Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for...译读笔记
- RTF文件格式【转】
- Python高级编专题 - 类的创建与销毁
- DBUtil 的使用
- 谁说Mac系统下不能搞科研?MacOS科研软件汇总
- 二元函数洛必达求极限_利用洛必达法则求二元函数的极限
- 计算机学报在线阅读,ei收录的计算机类核心源:计算机研究与发展计算机学报软件.doc...
- Beyong Compare4过期解决办法
- 4-kali修改root密码
- c语言设计程序实现顺序冒泡_计算机C语言编程设计专业知识题库汇总
- 过滤对象属性值为空的属性
- beats 耳机 android,Beats app安卓,Beats app安卓耳机管理预约 v2.3.5 - 游戏盒子下载站...
- 用程序实现基本计算器功能
- 国内计算机类三大中文学报投稿体会(转载)
- CH340进行STM32单片机程序烧录