码迷,mamicode.com
首页 > 其他好文 > 详细

Recovery和Charger模式下屏幕旋转180度[转]

时间:2014-11-30 22:49:24      阅读:504      评论:0      收藏:0      [点我收藏+]

标签:style   ar   color   sp   文件   on   数据   bs   cti   

如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度

解决方法:

1.在bootable\recovery\minui\Graphics.c 文件找到gr_flip(void)方法

memcpy(gr_framebuffer[gr_active_fb].data,gr_mem_surface.data,

fi.line_length*vi.yres);修改为

rotate_180(gr_framebuffer[gr_active_fb].data,gr_mem_surface.data

,fi.line_length*vi.yres);

    2.添加方法

    void *rotate_180(void *_dst,const void *_src,int len)

{

    int pixelSize = PIXEL_SIZE,size,step = len/pixelSize;//像素个数

    unsigned char *dst = _dst;

    const unsigned char *src = _src + len;

    while(step-- > 0){

       size = pixelSize;

       src -=size;

       while(size-- > 0){

           *dst++ = *src++;

}

src -=pixelSize;

}

Return _dst;

}

rotate_180方法的作用就是把buffer中的数据按像素倒转过来

例如:原始数据

{(1,2,3),(4,5,6),(7,8,9),

 (a,b,c),(d,e,f),(g,h,i),

  (A,B,C),(D,E,F),(G,H,I)

}

180度旋转后数据

{(G,H,I),(D,E,F),(A,B,C),

 (g,h,i),(d,e,f),(a,b,c),

  (7,8,9),(4,5,6),(1,2,3)

}

每个像素的数据不变,以像素为单位旋转顺序

 

这样就完成了旋转

Recovery和Charger模式下屏幕旋转180度[转]

标签:style   ar   color   sp   文件   on   数据   bs   cti   

原文地址:http://www.cnblogs.com/qq190771752/p/4133702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!