Changeset 37086


Ignore:
Timestamp:
02/07/16 17:00:22 (6 years ago)
Author:
gost
Message:

[titan] activate animation for BCM accel interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/mipselport.h

    r37015 r37086  
    129129void blitfb2(struct fb* fbnode, int flag)
    130130{
     131        int doblit = 1;
    131132        struct fb_var_screeninfo var_screeninfo;
    132133
     
    203204                int width = (fb->width - posx) - (getconfigint("fbrightoffset", NULL) * 5);
    204205                int height = (fb->height - posy) - (getconfigint("fbbottomoffset", NULL) * 5);
    205                 bcm_accel_blit(skinfb->data_phys, skinfb->width, skinfb->height, skinfb->pitch, 0, fb->data_phys, fb->width, fb->height, fb->pitch, 0, 0, skinfb->width, skinfb->height, posx, posy, width, height, 0, 0);
    206         }
     206               
     207                int i = 0, max = 1, wstep = 0, hstep = 0;
     208                int dst_left = 0, dst_width = 0, dst_top = 0, dst_height = 0;
     209                int mode3d = 0;
     210               
     211                if(flag == 1 && status.screenanim > 0 && mode3d == 0)
     212                {
     213                        doblit = 0;
     214                        max = 25;
     215                        dst_left = posx;
     216                        dst_width = width;
     217                        dst_top = posy;
     218                        dst_height = height;
     219                       
     220                        if(status.screenanim == 1 || status.screenanim == 3)
     221                        {
     222                                dst_left = (width / 2) - 1;
     223                                dst_width = 2;
     224                        }
     225                        if(status.screenanim == 2 || status.screenanim == 3)
     226                        {
     227                                dst_top = (height / 2) - 1;
     228                                dst_height = 2;
     229                        }
     230                        wstep = width / max;
     231                        hstep = height / max;
     232                       
     233                        for(i = 0; i <= max; i++)
     234                        {
     235                                if(status.screenanim == 1 || status.screenanim == 3)
     236                                {
     237                                        int tmpleft = dst_left - (wstep/2);
     238                                        int tmpwidth = dst_width + wstep;
     239                                        if(tmpleft < posx)
     240                                                tmpleft = posx;
     241                                        if(tmpwidth > width)
     242                                                tmpwidth = width;
     243                                        dst_left = tmpleft;
     244                                        dst_width = tmpwidth;
     245                                }
     246                                if(status.screenanim == 2 || status.screenanim == 3)
     247                                {
     248                                        int tmptop = dst_top - (hstep/2);
     249                                        int tmpheight = dst_height + hstep;
     250                                        if(tmptop < posy)
     251                                                tmptop = posy;
     252                                        if(tmpheight > height)
     253                                                tmpheight = height;
     254                                        dst_top = tmptop;
     255                                        dst_height = tmpheight;
     256                                }
     257                               
     258                                if(status.screenanim > 0) usleep(status.screenanimspeed * 1000);
     259                                bcm_accel_blit(skinfb->data_phys, skinfb->width, skinfb->height, skinfb->pitch, 0, fb->data_phys, fb->width, fb->height, fb->pitch, 0, 0, skinfb->width, skinfb->height, dst_left, dst_top, dst_width, dst_height, 0, 0);
     260                                blit();
     261                        }
     262                }
     263                else
     264                        bcm_accel_blit(skinfb->data_phys, skinfb->width, skinfb->height, skinfb->pitch, 0, fb->data_phys, fb->width, fb->height, fb->pitch, 0, 0, skinfb->width, skinfb->height, posx, posy, width, height, 0, 0);
     265        }
     266       
     267        if(doblit == 1)
     268                blit();
    207269       
    208270/*     
     
    222284        memset(lfb, 0, stride*yRes);
    223285*/
    224         blit();
     286//      blit();
    225287       
    226288/*
Note: See TracChangeset for help on using the changeset viewer.