Changeset 38489


Ignore:
Timestamp:
09/03/16 09:31:41 (6 years ago)
Author:
Stephan
Message:

next try

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/header.h

    r38487 r38489  
    734734int convertxmlentry(char *value, uint8_t *proz);
    735735unsigned char* savejpg(char* filename, int width, int height, int channels, int newwidth, int newheight, int quality, unsigned char *buf);
    736 extern inline void drawpixelfastfb(struct fb* node, int posx, int posy, unsigned long color);
    737 extern inline void drawpixelfb(struct fb* node, int posx, int posy, unsigned long color);
     736inline void drawpixelfastfb(struct fb* node, int posx, int posy, unsigned long color);
     737inline void drawpixelfb(struct fb* node, int posx, int posy, unsigned long color);
    738738unsigned char * resize(unsigned char *origin, int ox, int oy, int dx, int dy, int type, unsigned char * dst, int flag);
    739739
  • titan/titan/skin.h

    r38437 r38489  
    7777                    return &getoledchannelresolution576;
    7878            }
    79            
     79
    8080        if(ostrcmp("getoledchannelresolution720", value) == 0)
    8181            {
     
    8383                    return &getoledchannelresolution720;
    8484            }
    85            
     85
    8686        if(ostrcmp("getoledchannelresolution1080", value) == 0)
    8787            {
     
    9595                return &getoledhd;
    9696        }
    97        
     97
    9898        if(ostrcmp("getoleddolby", value) == 0)
    9999        {
     
    175175        if(ostrcmp("getreccount", value) == 0)
    176176                return &getreccount;
    177        
     177
    178178        if(ostrcmp("getrec", value) == 0)
    179179        {
     
    583583{
    584584        char* tmpstr = NULL;
    585        
     585
    586586        if(picname == NULL || picname[0] == '\0') return NULL;
    587587
     
    634634        newnode->titlebgcol = -1;
    635635        newnode->deaktivcol = -1;
    636        
     636
    637637        newnode->nodestyle = 0;
    638638
     
    947947                        {
    948948                                if(getconfig("oledskin_path", NULL) != NULL)
    949                                 {       
     949                                {
    950950                                        newnode->pic = ostrcat(getconfig("oledskin_path", NULL),"/", 0, 0);
    951951                                        newnode->pic = ostrcat(newnode->pic, ret, 1, 0);
     
    967967
    968968                        if(getpic(newnode->pic) == NULL && newnode->pic != NULL)
    969                         {                               
     969                        {
    970970                                length = strlen(newnode->pic);
    971971                                if(newnode->pic[length - 1] == 'g' && newnode->pic[length - 2] == 'n' && newnode->pic[length - 3] == 'p')
     
    11461146
    11471147        buf = readfiletomem(filename, 1);
    1148        
     1148
    11491149/*
    11501150        if(debug_level == 9999)
     
    11621162                free(buf);
    11631163        }
    1164        
     1164
    11651165        return 0;
    11661166}
     
    12331233        free(node->font);
    12341234        node->font = NULL;
    1235        
     1235
    12361236        free(node->selectpic);
    12371237        node->selectpic = NULL;
     
    14691469}
    14701470
    1471 inline void drawpixelfastfb(struct fb* node, int posx, int posy, unsigned long color)
     1471extern inline void drawpixelfastfb(struct fb* node, int posx, int posy, unsigned long color)
    14721472{
    14731473        node->fblong[posy + posx] = color;
    14741474}
    14751475
    1476 inline void drawpixelfb(struct fb* node, int posx, int posy, unsigned long color)
     1476extern inline void drawpixelfb(struct fb* node, int posx, int posy, unsigned long color)
    14771477{
    14781478        node->fblong[(node->width * posy) + posx] = color;
     
    15911591
    15921592        jpeg_start_decompress(ciptr);
    1593        
     1593
    15941594        *width = ciptr->output_width;
    15951595        *height = ciptr->output_height;
    15961596        *channels = ciptr->output_components;
    1597         *rowbytes = ciptr->output_width * ciptr->output_components;   
     1597        *rowbytes = ciptr->output_width * ciptr->output_components;
    15981598
    15991599        if(ciptr->output_components == 3)
     
    16941694        }
    16951695        else
    1696                 row_stride = width * colbytes; 
     1696                row_stride = width * colbytes;
    16971697
    16981698        if(accelfb != NULL && accelfb->varfbsize > width8 && (scalewidth != 0 || scaleheight != 0) && (scalewidth != width || scaleheight != height))
     
    17061706                else if(valign == BOTTOM)
    17071707                        posy += mheight - scaleheight;
    1708        
     1708
    17091709                int nposy = posy;
    17101710                py = -1;
     
    18161816                else if(valign == BOTTOM)
    18171817                        posy += mheight - scaleheight;
    1818                
     1818
    18191819                int i = 0;
    18201820                int location = 0;
    1821                 tmpbuf = (unsigned char*)malloc(width*height*3);       
     1821                tmpbuf = (unsigned char*)malloc(width*height*3);
    18221822                aktline = cinfo->output_scanline;
    18231823                while(aktline < height)
     
    18251825                        jpeg_read_scanlines(cinfo, buffer, 1);
    18261826                        aktline = cinfo->output_scanline;
    1827                         for(i=0; i<width*3; i++) 
     1827                        for(i=0; i<width*3; i++)
    18281828                                tmpbuf[location++] = buffer[0][i];
    18291829                }
     
    18311831                if(getconfigint("extended_scale", NULL) == 1 || getconfigint("extendet_scale", NULL) == 1)
    18321832                        scalebuf = resize(tmpbuf, width, height, scalewidth, scaleheight, 2, NULL, 1);
    1833                 else   
     1833                else
    18341834                        scalebuf = resize(tmpbuf, width, height, scalewidth, scaleheight, 1, NULL, 1);
    1835                
     1835
    18361836                aktline = 0;
    18371837                while(aktline < scaleheight)
     
    18521852                                else
    18531853                                        color = (255 << 24) | (red << 16) | (red << 8) | red;
    1854                        
     1854
    18551855                                drawpixelfast(posx + x, py, color);
    18561856                        }
     
    18581858                }
    18591859                free(scalebuf);
    1860         }       
     1860        }
    18611861        else
    18621862        {
     
    18831883                        else
    18841884                                aktline++;
    1885                                
     1885
    18861886                        aktline1 = (aktline - 1) * row_stride;
    18871887
     
    20642064                free(sig);
    20652065                fclose(fd);
    2066                 return NULL;   
     2066                return NULL;
    20672067        }
    20682068
     
    21932193                else if(scalewidth == 2 && scaleheight == 2)
    21942194                        calcautoscale(width, height, mwidth, mheight - 25, &scalewidth, &scaleheight);
    2195        
     2195
    21962196                if(scalewidth == 0) scalewidth = width;
    21972197                if(scaleheight == 0) scaleheight = height;
     
    22782278                                                else
    22792279                                                {
    2280                                                         ralpha = 255 - src[3]; 
     2280                                                        ralpha = 255 - src[3];
    22812281                                                        alpha_composite(r, src[0], src[3], ralpha, (skinfb->fblong[x] & 0xff0000) >> 16);
    22822282                                                        alpha_composite(g, src[1], src[3], ralpha, (skinfb->fblong[x] & 0x00ff00) >> 8);
     
    24922492                min = 100;
    24932493        }
    2494        
     2494
    24952495        red = (color & 0xff0000) >> 16;
    24962496        green = (color & 0x00ff00) >> 8;
     
    25002500        posy = posy + height - sbit->top;
    25012501        posx = posx + sbit->left + kerning.x;
    2502                
     2502
    25032503        py = (posy * skinfb->width) + posx;
    25042504        pyh = py + (sbit->height * skinfb->width);
    25052505        src = sbit->buffer;
    2506                
     2506
    25072507        for(y = py; y < pyh; y += skinfb->width)
    25082508        {
     
    25172517                                else
    25182518                                {
    2519                                         ralpha = 255 - src[0]; 
     2519                                        ralpha = 255 - src[0];
    25202520                                        alpha_composite(r, red, src[0], ralpha, (skinfb->fblong[x] & 0xff0000) >> 16);
    25212521                                        alpha_composite(g, green, src[0], ralpha, (skinfb->fblong[x] & 0x00ff00) >> 8);
     
    26372637
    26382638                if(posx > mwidth && tmpstr > origstr)
    2639                 {       
     2639                {
    26402640                        tmpstr--;
    26412641                        *tmpstr = '\n';
     
    26612661
    26622662        if(string == NULL || color == -1) return 1;
    2663        
     2663
    26642664        if(flag == 1)
    26652665        {
    26662666                string = mask(NULL, strlen(string), "*");
    26672667                tmpstr = string;
    2668         }       
     2668        }
    26692669
    26702670        if(flag == 2)
    26712671        {
    26722672                color = convertcol(string);
    2673         }       
     2673        }
    26742674
    26752675        transparent = (transparent - 255) * -1;
     
    27482748        if(lastposx != NULL) *lastposx = posx;
    27492749        if(lastposy != NULL) *lastposy = posy + fontsize;
    2750        
     2750
    27512751        if(flag == 1) free(tmpstr);
    27522752        return ret;
     
    29642964                b3 = (b1 * p + b2 * i) / steps;
    29652965                col = (transparent << 24) | (r3 << 16) | (g3 << 8) | b3;
    2966                
     2966
    29672967                r = 0;
    29682968                for(y = posy; y < yend; y += skinfb->width)
     
    29842984                        xend = posx + xstep;
    29852985                }
    2986                 else 
     2986                else
    29872987                {
    29882988                        tmp = ystep * skinfb->width;
     
    30023002                        b3 = (b2 * p + b1 * i) / steps;
    30033003                        col = (transparent << 24) | (r3 << 16) | (g3 << 8) | b3;
    3004                
     3004
    30053005                        r = 0;
    30063006                        for(y = posy; y < yend; y += skinfb->width)
     
    30153015                                        memcpy(skinfb->fb + (y + posx) * skinfb->colbytes, skinfb->fb + (posy + posx) * skinfb->colbytes, (xend - posx) * skinfb->colbytes);
    30163016                        }
    3017                        
     3017
    30183018                        if(flag == LEFTMIDDLE)
    30193019                        {
     
    30223022                                xend = posx + xstep;
    30233023                        }
    3024                         else 
     3024                        else
    30253025                        {
    30263026                                tmp = ystep * skinfb->width;
     
    31133113        while(epgrecord != NULL)
    31143114        {
    3115                
     3115
    31163116                if(epgrecord->posx > 100) epgrecord->posx = 100;
    31173117                val1 = (((node->iwidth * 100) / 100) * epgrecord->posx) / 100;
     
    32633263        int len = 0;
    32643264        char* bglt = NULL, *bglb = NULL, *bgrt = NULL, *bgrb = NULL;
    3265        
     3265
    32663266        node->flag = setbit(node->flag, 0);
    32673267
     
    35073507                        child = child->next;
    35083508                        continue;
    3509                 }               
     3509                }
    35103510
    35113511                calcrheight(child, node);
     
    35593559                node->aktline = node->linecount;
    35603560        }
    3561        
     3561
    35623562        if(found != NULL)
    35633563        {
     
    37773777        if(node->child != NULL && status.picbordersize > 0)
    37783778                node->bordersize = status.picbordersize;
    3779        
     3779
    37803780        if(node->nodestyle != 0)
    37813781        {
     
    37873787                        setblink(node);
    37883788        }
    3789        
     3789
    37903790        if(node->skinfunc != NULL)
    37913791        {
     
    37993799                        tmpstr = node->skinfunc(node, node->param1, node->param2);
    38003800                        if(tmpstr != NULL)
    3801                                 changepic(node, tmpstr);       
     3801                                changepic(node, tmpstr);
    38023802                }
    38033803                else if(node->funcrettype == FUNCPROGRESS)
     
    39903990        int i, ret = 0;
    39913991        int tmp = sizeof(status.drawallways) / sizeof(skin);
    3992        
     3992
    39933993        m_lock(&status.oledmutex, 25);
    39943994        for(i = 0; i < tmp; i++)
     
    40064006        }
    40074007        m_unlock(&status.oledmutex, 25);
    4008        
     4008
    40094009        return ret;
    40104010}
     
    40834083                m_lock(&status.oledmutex, 25);
    40844084                if(lcdskinfb == NULL) {
    4085 #ifndef MIPSEL                 
     4085#ifndef MIPSEL
    40864086                        if(node->name != NULL && ostrstr(node->name, "LCD_spf87") != NULL) {
    40874087                                unsigned char *newskinfb = calloc(1, 4 * 800 * 480);
     
    41724172                                lcdskinfb = addfb("lcdskinfb", 999, 320, 240, 4, -1, newskinfb, 4 * 320 * 240, 0);
    41734173                        }
    4174 #else   
    4175                         if(node->name != NULL && ostrstr(node->name, "LCD_spf87") != NULL) 
     4174#else
     4175                        if(node->name != NULL && ostrstr(node->name, "LCD_spf87") != NULL)
    41764176                                lcdskinfb = oledaddfb(800, 480);
    4177                         else if(node->name != NULL && ostrstr(node->name, "LCD_spf72") != NULL) 
     4177                        else if(node->name != NULL && ostrstr(node->name, "LCD_spf72") != NULL)
    41784178                                lcdskinfb = oledaddfb(800, 480);
    4179                         else if(node->name != NULL && ostrstr(node->name, "LCD_spf83") != NULL) 
     4179                        else if(node->name != NULL && ostrstr(node->name, "LCD_spf83") != NULL)
    41804180                                lcdskinfb = oledaddfb(800, 600);
    4181                         else if(node->name != NULL && ostrstr(node->name, "LCD_spf85") != NULL) 
     4181                        else if(node->name != NULL && ostrstr(node->name, "LCD_spf85") != NULL)
    41824182                                lcdskinfb = oledaddfb(800, 600);
    4183                         else if(node->name != NULL && ostrstr(node->name, "LCD_spf75") != NULL) 
     4183                        else if(node->name != NULL && ostrstr(node->name, "LCD_spf75") != NULL)
    41844184                                lcdskinfb = oledaddfb(800, 480);
    4185                         else if(node->name != NULL && ostrstr(node->name, "LCD_spf107") != NULL) 
     4185                        else if(node->name != NULL && ostrstr(node->name, "LCD_spf107") != NULL)
    41864186                                lcdskinfb = oledaddfb(1024, 600);
    4187                         else if(node->name != NULL && ostrstr(node->name, "LCD_spf105") != NULL) 
     4187                        else if(node->name != NULL && ostrstr(node->name, "LCD_spf105") != NULL)
    41884188                                lcdskinfb = oledaddfb(1024, 600);
    41894189                        else
     
    42614261                if(screencalc == 0)
    42624262                {
    4263                         if(merkskinfb != NULL) 
    4264                         {       
    4265                                 if(node->name != NULL && ostrstr(node->name, "LCD_spf") != NULL) 
     4263                        if(merkskinfb != NULL)
     4264                        {
     4265                                if(node->name != NULL && ostrstr(node->name, "LCD_spf") != NULL)
    42664266                                        write_FB_to_JPEG_file(skinfb->fb, skinfb->width, skinfb->height, "/tmp/titanlcd.jpg", 75);
    42674267                                else if(node->name != NULL && ostrstr(node->name, "OLED_") != NULL)
    42684268                                        write2oled(skinfb->fb, skinfb->width, skinfb->height);
    4269                                 else                   
     4269                                else
    42704270                                        pngforlcd(skinfb->fb, skinfb->width, skinfb->height);
    42714271                        }
    4272                         else   
     4272                        else
    42734273                        {
    42744274                                status.drawscreencount++;
     
    42984298                {
    42994299                        debug(100, "free lcdskinfb");
    4300                         free(skinfb->fb); skinfb->fb = NULL; 
     4300                        free(skinfb->fb); skinfb->fb = NULL;
    43014301                        skinfb = merkskinfb;
    43024302                        merkskinfb = NULL;
     
    46434643        unsigned char * cr;
    46444644
    4645         if(dst == NULL) 
     4645        if(dst == NULL)
    46464646        {
    46474647                cr = (unsigned char*) malloc(dx*dy*3);
     
    46524652                        return(origin);
    46534653                }
    4654         } 
     4654        }
    46554655        else
    46564656                cr = dst;
    46574657
    4658         if(type == 1) 
     4658        if(type == 1)
    46594659        {
    46604660                unsigned char *p,*l;
     
    46714671                        }
    46724672                }
    4673         } 
    4674         else 
     4673        }
     4674        else
    46754675        {
    46764676                unsigned char *p,*q;
     
    46844684                        xa_v[i] = i*ox/dx;
    46854685                int xb_v[dx+1];
    4686                
     4686
    46874687                for(i=0;i<dx;i++)
    46884688                {
     
    46914691                                xb_v[i]=ox-1;
    46924692                }
    4693                
     4693
    46944694                for(j=0;j<dy;j++)
    46954695                {
     
    47104710                }
    47114711        }
    4712        
     4712
    47134713        if(flag == 1)
    47144714                free(origin);
    4715        
     4715
    47164716        return(cr);
    47174717}
Note: See TracChangeset for help on using the changeset viewer.