Changeset 16870


Ignore:
Timestamp:
06/27/12 02:29:36 (12 years ago)
Author:
nit
Message:

[titan] add tranparent to png

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/skin.h

    r16812 r16870  
    18811881}
    18821882
    1883 void drawpic(const char* filename, int posx, int posy, int scalewidth, int scaleheight, int mwidth, int mheight, int halign, int valign)
     1883void drawpic(const char* filename, int posx, int posy, int scalewidth, int scaleheight, int mwidth, int mheight, int halign, int valign, int transparent)
    18841884{
    18851885        debug(1000, "in");
     
    19881988                        {
    19891989                                pxw = y + width;
    1990                                 /*
    1991                                 for(x = y; x < pxw; x++)
     1990
     1991                                if(transparent == 1)
    19921992                                {
    1993                                         if(src[3] < 10)
     1993                                        for(x = y; x < pxw; x++)
    19941994                                        {
     1995                                                if(src[3] < 10)
     1996                                                {
     1997                                                        src += 4;
     1998                                                        continue;
     1999                                                }
     2000                                                skinfb->fblong[x] = (src[3] << 24) | (src[0] << 16) | (src[1] << 8) | src[2];
    19952001                                                src += 4;
    1996                                                 continue;
    19972002                                        }
    1998                                         skinfb->fblong[x] = (src[3] << 24) | (src[0] << 16) | (src[1] << 8) | src[2];
    1999                                         src += 4;
    2000                                 }*/
    2001                                 for(x = y; x < pxw; x++)
     2003                                }
     2004                                else
    20022005                                {
    2003                                         //renderquality 255-0 = best
    2004                                         if(src[3] > 200)
    2005                                                 skinfb->fblong[x] = (255 << 24) | (src[0] << 16) | (src[1] << 8) | src[2];
    2006                                         else if(src[3] < 50)
     2006                                        for(x = y; x < pxw; x++)
    20072007                                        {
     2008                                                //renderquality 255-0 = best
     2009                                                if(src[3] > 200)
     2010                                                        skinfb->fblong[x] = (255 << 24) | (src[0] << 16) | (src[1] << 8) | src[2];
     2011                                                else if(src[3] < 50)
     2012                                                {
     2013                                                        src += 4;
     2014                                                        continue;
     2015                                                }
     2016                                                else
     2017                                                {
     2018                                                        tmpcol = skinfb->fblong[x];
     2019                                                        alpha_composite(r, src[0], src[3], (tmpcol & 0xff0000) >> 16);
     2020                                                        alpha_composite(g, src[1], src[3], (tmpcol & 0x00ff00) >> 8);
     2021                                                        alpha_composite(b, src[2], src[3], tmpcol & 0xff);
     2022                                                        skinfb->fblong[x] = (255 << 24) | r << 16 | g << 8 | b;
     2023                                                }
    20082024                                                src += 4;
    2009                                                 continue;
    20102025                                        }
    2011                                         else
    2012                                         {
    2013                                                 tmpcol = skinfb->fblong[x];
    2014                                                 alpha_composite(r, src[0], src[3], (tmpcol & 0xff0000) >> 16);
    2015                                                 alpha_composite(g, src[1], src[3], (tmpcol & 0x00ff00) >> 8);
    2016                                                 alpha_composite(b, src[2], src[3], tmpcol & 0xff);
    2017                                                 skinfb->fblong[x] = (255 << 24) | r << 16 | g << 8 | b;
    2018                                         }
    2019                                         src += 4;
    20202026                                }
    20212027                                src += diff;
     
    28772883
    28782884        //top-left
    2879         //drawpic("/home/nit/titan/skin/bs_tl.png", node->rposx + node->bordersize - borderwidth, node->rposy + node->bordersize - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP);
    2880         drawpic("/home/nit/titan/skin/bs_tl.png", node->rposx, node->rposy, 0, 0, borderwidth, borderheight, LEFT, TOP);
     2885        //drawpic("/home/nit/titan/skin/bs_tl.png", node->rposx + node->bordersize - borderwidth, node->rposy + node->bordersize - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
     2886        drawpic("/home/nit/titan/skin/bs_tl.png", node->rposx, node->rposy, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
    28812887        //top-right
    2882         //drawpic("/home/nit/titan/skin/bs_tr.png", node->rposx - node->bordersize + node->rwidth, node->rposy + node->bordersize - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP);
    2883         drawpic("/home/nit/titan/skin/bs_tr.png", node->rposx + node->rwidth - borderwidth, node->rposy, 0, 0, borderwidth, borderheight, LEFT, TOP);
     2888        //drawpic("/home/nit/titan/skin/bs_tr.png", node->rposx - node->bordersize + node->rwidth, node->rposy + node->bordersize - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
     2889        drawpic("/home/nit/titan/skin/bs_tr.png", node->rposx + node->rwidth - borderwidth, node->rposy, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
    28842890        //bottom-left
    2885         //drawpic("/home/nit/titan/skin/bs_bl.png", node->rposx + node->bordersize - borderwidth, node->rposy - node->bordersize + node->rheight, 0, 0, borderwidth, borderheight, LEFT, TOP);
    2886         drawpic("/home/nit/titan/skin/bs_bl.png", node->rposx, node->rposy + node->rheight - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP);
     2891        //drawpic("/home/nit/titan/skin/bs_bl.png", node->rposx + node->bordersize - borderwidth, node->rposy - node->bordersize + node->rheight, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
     2892        drawpic("/home/nit/titan/skin/bs_bl.png", node->rposx, node->rposy + node->rheight - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
    28872893        //bottom-right
    2888         //drawpic("/home/nit/titan/skin/bs_br.png", node->rposx - node->bordersize + node->rwidth, node->rposy - node->bordersize + node->rheight, 0, 0, borderwidth, borderheight, LEFT, TOP);
    2889         drawpic("/home/nit/titan/skin/bs_br.png", node->rposx + node->rwidth - borderwidth, node->rposy + node->rheight - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP);
     2894        //drawpic("/home/nit/titan/skin/bs_br.png", node->rposx - node->bordersize + node->rwidth, node->rposy - node->bordersize + node->rheight, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
     2895        drawpic("/home/nit/titan/skin/bs_br.png", node->rposx + node->rwidth - borderwidth, node->rposy + node->rheight - borderheight, 0, 0, borderwidth, borderheight, LEFT, TOP, node->transparent);
    28902896
    28912897        //top
    2892         //drawpic("/home/nit/titan/skin/bs_t.png", node->rposx + node->bordersize, node->rposy + node->bordersize - borderheight, node->rwidth - (node->bordersize * 2), 0, node->rwidth - (node->bordersize * 2), borderheight, LEFT, TOP);
    2893         drawpic("/home/nit/titan/skin/bs_t.png", node->rposx + borderwidth, node->rposy, node->rwidth - (borderwidth * 2), 0, node->rwidth - (borderwidth * 2), borderheight, LEFT, TOP);
     2898        //drawpic("/home/nit/titan/skin/bs_t.png", node->rposx + node->bordersize, node->rposy + node->bordersize - borderheight, node->rwidth - (node->bordersize * 2), 0, node->rwidth - (node->bordersize * 2), borderheight, LEFT, TOP, node->transparent);
     2899        drawpic("/home/nit/titan/skin/bs_t.png", node->rposx + borderwidth, node->rposy, node->rwidth - (borderwidth * 2), 0, node->rwidth - (borderwidth * 2), borderheight, LEFT, TOP, node->transparent);
    28942900        //bottom
    2895         //drawpic("/home/nit/titan/skin/bs_b.png", node->rposx + node->bordersize, node->rposy - node->bordersize + node->rheight, node->rwidth - (node->bordersize * 2), 0, node->rwidth - (node->bordersize * 2), borderheight, LEFT, TOP);
    2896         drawpic("/home/nit/titan/skin/bs_b.png", node->rposx + borderwidth, node->rposy + node->rheight - borderheight, node->rwidth - (borderwidth * 2), 0, node->rwidth - (node->bordersize * 2), borderheight, LEFT, TOP);
     2901        //drawpic("/home/nit/titan/skin/bs_b.png", node->rposx + node->bordersize, node->rposy - node->bordersize + node->rheight, node->rwidth - (node->bordersize * 2), 0, node->rwidth - (node->bordersize * 2), borderheight, LEFT, TOP, node->transparent);
     2902        drawpic("/home/nit/titan/skin/bs_b.png", node->rposx + borderwidth, node->rposy + node->rheight - borderheight, node->rwidth - (borderwidth * 2), 0, node->rwidth - (node->bordersize * 2), borderheight, LEFT, TOP, node->transparent);
    28972903        //left
    2898         //drawpic("/home/nit/titan/skin/bs_l.png", node->rposx + node->bordersize - borderwidth, node->rposy + node->bordersize, 0, node->rheight - (node->bordersize * 2), borderwidth, node->rheight - (node->bordersize * 2), LEFT, TOP);
    2899         drawpic("/home/nit/titan/skin/bs_l.png", node->rposx, node->rposy + borderheight, 0, node->rheight - (borderheight * 2), borderwidth, node->rheight - (borderheight * 2), LEFT, TOP);
     2904        //drawpic("/home/nit/titan/skin/bs_l.png", node->rposx + node->bordersize - borderwidth, node->rposy + node->bordersize, 0, node->rheight - (node->bordersize * 2), borderwidth, node->rheight - (node->bordersize * 2), LEFT, TOP, node->transparent);
     2905        drawpic("/home/nit/titan/skin/bs_l.png", node->rposx, node->rposy + borderheight, 0, node->rheight - (borderheight * 2), borderwidth, node->rheight - (borderheight * 2), LEFT, TOP, node->transparent);
    29002906        //right
    2901         //drawpic("/home/nit/titan/skin/bs_r.png", node->rposx - node->bordersize + node->rwidth, node->rposy + node->bordersize, 0, node->rheight - (node->bordersize * 2), borderwidth, node->rheight - (node->bordersize * 2), LEFT, TOP);
    2902         drawpic("/home/nit/titan/skin/bs_r.png", node->rposx + node->rwidth - borderwidth, node->rposy + borderheight, 0, node->rheight - (borderheight * 2), borderwidth, node->rheight - (borderheight * 2), LEFT, TOP);
     2907        //drawpic("/home/nit/titan/skin/bs_r.png", node->rposx - node->bordersize + node->rwidth, node->rposy + node->bordersize, 0, node->rheight - (node->bordersize * 2), borderwidth, node->rheight - (node->bordersize * 2), LEFT, TOP, node->transparent);
     2908        drawpic("/home/nit/titan/skin/bs_r.png", node->rposx + node->rwidth - borderwidth, node->rposy + borderheight, 0, node->rheight - (borderheight * 2), borderwidth, node->rheight - (borderheight * 2), LEFT, TOP, node->transparent);
    29032909        debug(1000, "out");
    29042910}
     
    30483054        }
    30493055        if(node->child != NULL && status.bgpic != NULL)
    3050                 drawpic(status.bgpic, node->iposx, node->iposy, node->iwidth, node->iheight, node->iwidth, node->iheight, node->halign, node->valign);
     3056                drawpic(status.bgpic, node->iposx, node->iposy, node->iwidth, node->iheight, node->iwidth, node->iheight, node->halign, node->valign, node->transparent);
    30513057        if(node->gradient > 0)
    30523058                drawbggradient(node);
     
    30603066                drawmultiprogressbar(node);
    30613067        if(node->selectpic != NULL && !(node->type & FILELIST))
    3062                 drawpic(node->selectpic, node->iposx, node->iposy, node->iwidth, node->iheight, node->iwidth, node->iheight, LEFT, TOP);
     3068                drawpic(node->selectpic, node->iposx, node->iposy, node->iwidth, node->iheight, node->iwidth, node->iheight, LEFT, TOP, node->transparent);
    30633069        if(node->pic != NULL && !(node->type & FILELIST))
    3064                 drawpic(node->pic, node->iposx, node->iposy, node->rpicwidth, node->rpicheight, node->iwidth, node->iheight, node->halign, node->valign);
     3070                drawpic(node->pic, node->iposx, node->iposy, node->rpicwidth, node->rpicheight, node->iwidth, node->iheight, node->halign, node->valign, node->transparent);
    30653071        if(node->input != NULL)
    30663072        {
Note: See TracChangeset for help on using the changeset viewer.