Changeset 24813


Ignore:
Timestamp:
Nov 8, 2013, 12:32:07 AM (7 years ago)
Author:
nit
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/skin_new.h

    r24805 r24813  
    30733073//flag 0: draw all parts before node
    30743074//flag 1: draw all parts after node
    3075 struct skin* drawnodepart(struct skin* tmp, struct skin* screen, struct skin* node, int flag)
     3075struct skin* drawnodepart(struct skin* tmp, struct skin* screen, struct skin* parent, struct skin* node, int flag)
    30763076{
    30773077        int posx = 0, posy = 0, width = 0, height = 0;
     
    30793079       
    30803080        if(screen == NULL || node == NULL || screen == node) return NULL;
     3081        if(node->hidden == YES || parent->hidden == YES || node->locked == YES || parent->locked == YES) return NULL;
    30813082        if(checkbit(node->flag, 1) == 0 || checkbit(screen->flag, 1) == 1) return NULL;
    3082 printf("drawnodepart %s %d\n", node->name, flag);       
     3083        if(checkbit(parent->flag, 0) == 0) return NULL;
     3084
     3085//printf("drawnodepart %s %d\n", node->name, flag);     
    30833086        if(flag == 0)
    30843087                child = screen;
     
    30983101                }
    30993102               
    3100                 if(getrectdiff(node->rposx, node->rposy, node->rwight, node->rheight, child->rposx, child->rposy, child->rwidth, child->rheight, &posx, &posy, &weight, &height) == 1)
     3103                if(getrectdiff(node->rposx, node->rposy, node->rwidth, node->rheight, child->rposx, child->rposy, child->rwidth, child->rheight, &posx, &posy, &width, &height) == 1)
    31013104                {
    31023105                        if(child == screen)
     
    31123115                        //      drawbginnercol(node);
    31133116                        //else
    3114 printf("drawbgcolpart %s\n", child->name);
     3117//printf("drawbgcolpart %s x=%d y=%d w=%d h=%d\n", child->name, posx, posy, width, height);
    31153118                                drawbgcolpart(posx, posy, width, height, child->bgspace, child->bgcol, child->transparent);
    31163119                }
     3120                //if(child->gradient > 0)
     3121                //      drawbggradient(child);
    31173122               
    31183123                if(child == screen)
     
    31343139       
    31353140        node->flag = setbit(node->flag, 0);
    3136 printf("%s %d\n", node->name, node->flag);
    31373141        if(checkbit(node->flag, 1) == 0) return;
    3138         node->flag = clearbit(node->flag, 1);
     3142//printf("%s %d\n", node->name, node->flag);
     3143        //node->flag = clearbit(node->flag, 1);
    31393144
    31403145        if(node->bordersize > 0)
     
    33853390                {
    33863391                        node->pagecount++;
    3387                         if(found == NULL) change = node->pagecount;
     3392                        if(node->aktpage == -1)
     3393                        {
     3394                                if(found == NULL) change = node->pagecount;
     3395                        }
     3396                        else
     3397                        {
     3398                                if(node->pagecount == node->aktpage) change = node->pagecount;
     3399                        }
    33883400                        node->poscount = child->rheight;
    33893401                }
     
    34003412                last = child;
    34013413
    3402                 if(change == node->pagecount && checkbit(child->flag, 1) == 0) change = 0;
     3414                if(node->aktpage == -1)
     3415                {
     3416                        if(change == node->pagecount && checkbit(child->flag, 1) == 0) change = 0;
     3417                }
     3418                else
     3419                {
     3420                        if(change == node->aktpage && checkbit(child->flag, 1) == 0) change = 0;
     3421                }
    34033422
    34043423                if(node->aktline == -1 && child->pagecount == node->aktpage)
     
    34103429                        found = child;
    34113430
    3412                 child->bordersize = 0;
     3431                changebordersize(child, 0);
    34133432                if(status.listboxselecttype == 3)
    34143433                {
     
    34383457                if(status.listboxselecttype == 0)
    34393458                {
    3440                         found->bordersize = 1;
     3459                        changebordersize(found, 1);
    34413460                        if(status.markmodus > 0)
    34423461                        {
     
    35263545                        if(status.markmodus > 0)
    35273546                        {
    3528                                 found->bordersize = 1;
     3547                                changebordersize(found, 1);
    35293548                                found->bordercol = status.markcol;
    35303549                                int i = 0;
     
    35353554                                        if(tmpskin != NULL)
    35363555                                        {
    3537                                                 tmpskin->bordersize = 1;
     3556                                                changebordersize(tmpskin, 1);
    35383557                                                tmpskin->bordercol = status.markcol;
    35393558                                        }
     
    36553674
    36563675        if(node->child != NULL && status.picbordersize > 0)
    3657                 node->bordersize = status.picbordersize;
     3676                changebordersize(node, status.picbordersize);
    36583677
    36593678        if(node->skinfunc != NULL)
     
    37513770        }
    37523771
    3753         if(checkbit(parent->flag, 1) == 1) node->flag = setbit(node->flag, 1);
     3772        //if(checkbit(parent->flag, 1) == 1) node->flag = setbit(node->flag, 1);
    37543773
    37553774        if(node->font == NULL && parent->font != NULL)
     
    40504069                if(setnodeattr(child, parent, screencalc) == 0 && screencalc == 0)
    40514070                {
    4052                         struct skin* tmp = drawnodepart(NULL, node, child, 0);
     4071                        struct skin* tmp = drawnodepart(NULL, node, parent, child, 0);
    40534072                        drawnode(child, 1);
    4054                         drawnodepart(tmp, node, child, 1);
     4073                        drawnodepart(tmp, node, parent, child, 1);
     4074                        child->flag = clearbit(child->flag, 1);
    40554075                }
    40564076                child = child->next;
    40574077        }
     4078
     4079        if(screencalc == 0 || flag == 4) node->flag = clearbit(node->flag, 1);
    40584080
    40594081        if(flag == 0 || flag == 2 || flag == 4)
     
    44794501        int ret = 1;
    44804502
    4481         if(node != NULL)
     4503        if(node != NULL && node->bgcol != value)
    44824504        {
    44834505                node->bgcol = value;
     
    44934515        int ret = 1;
    44944516
    4495         if(node != NULL)
     4517        //TODO
     4518        if(node != NULL /*&& node->progresssize != value*/)
    44964519        {
    44974520                node->progresssize = value;
     
    45034526}
    45044527
     4528int changebordersize(struct skin* node, uint8_t value)
     4529{
     4530        int ret = 1;
     4531
     4532        if(node != NULL && node->bordersize != value)
     4533        {
     4534                node->bordersize = value;
     4535                node->flag = setbit(node->flag, 1);
     4536                ret = 0;
     4537        }
     4538       
     4539        return ret;
     4540}
     4541
    45054542#endif
Note: See TracChangeset for help on using the changeset viewer.