Ignore:
Timestamp:
Feb 6, 2011, 8:22:33 PM (10 years ago)
Author:
Jean-Yves Lamoureux
Message:
  • Fixed indentation (nia nia nia)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • gaycko/trunk/src/render/table.c

    r4762 r4764  
    1313#include "renderer.h"
    1414void gaycko_fix_table(gNode *table) {
    15         unsigned int tr = 0;
    16     unsigned int e  = 0;
    17     gNode *last_tr = NULL;
    18     table->specific.table->tr_count = 0;
    19    
    20     /* Count TD by TR, and TR by TABLE */
    21     for(tr = 0 ; tr < table->children_count; tr++) {
    22         if(table->children[tr]->type == ELEM_TR) {
    23             gaycko_fix_tr(table->children[tr]);
    24             table->specific.table->tr_count++;
    25             last_tr = table->children[tr];
    26         }
    27     }
    28    
    29     /* Scan TD's and set each correspondants to the max width */
    30     unsigned int td = 0;
    31    
    32     for(td = 0; td < last_tr->specific.tr->td_count; td++) {
    33         unsigned int biggest_td = 0;
    34        
    35         /* Find widest at a given X offset */
    36         for(e = 0 ; e < table->children_count; e++) {
    37             if(table->children[e]->type == ELEM_TR) {
    38                 unsigned int td_width = gaycko_get_trtd_width(table->children[e], td);
    39                 if(biggest_td < td_width) {
    40                     biggest_td = td_width;
    41                 }
    42             }
    43         }
    44         /* Set the others's width to the widest one */
    45         for(e = 0 ; e < table->children_count; e++) {
    46             if(table->children[e]->type == ELEM_TR) {
    47                 gaycko_set_trtd_width(table->children[e], td, biggest_td);
    48             }
    49         }
    50     }
    51    
    52     table->properties->width = gaycko_get_tr_width(last_tr);
    53     printf("Table %d wide\n", table->properties->width);
    54    
     15        unsigned int tr = 0;
     16        unsigned int e  = 0;
     17        gNode *last_tr = NULL;
     18        table->specific.table->tr_count = 0;
     19
     20        /* Count TD by TR, and TR by TABLE */
     21        for(tr = 0 ; tr < table->children_count; tr++) {
     22                if(table->children[tr]->type == ELEM_TR) {
     23                        gaycko_fix_tr(table->children[tr]);
     24                        table->specific.table->tr_count++;
     25                        last_tr = table->children[tr];
     26                }
     27        }
     28
     29        /* Scan TD's and set each correspondants to the max width */
     30        unsigned int td = 0;
     31
     32        for(td = 0; td < last_tr->specific.tr->td_count; td++) {
     33                unsigned int biggest_td = 0;
     34
     35                /* Find widest at a given X offset */
     36                for(e = 0 ; e < table->children_count; e++) {
     37                        if(table->children[e]->type == ELEM_TR) {
     38                                unsigned int td_width = gaycko_get_trtd_width(table->children[e], td);
     39                                if(biggest_td < td_width) {
     40                                        biggest_td = td_width;
     41                                }
     42                        }
     43                }
     44                /* Set the others's width to the widest one */
     45                for(e = 0 ; e < table->children_count; e++) {
     46                        if(table->children[e]->type == ELEM_TR) {
     47                                gaycko_set_trtd_width(table->children[e], td, biggest_td);
     48                        }
     49                }
     50        }
     51
     52        table->properties->width = gaycko_get_tr_width(last_tr);
     53        printf("Table %d wide\n", table->properties->width);
     54
    5555}
    5656
     
    5858
    5959unsigned int gaycko_get_tr_width(gNode *tr) {
    60         unsigned int w = 0, td = 0;
    61    
    62     for(td = 0 ; td < tr->children_count; td++) {
    63         if(tr->children[td]->type == ELEM_TD) {
    64             unsigned int tw = gaycko_get_node_width(tr->children[td]);
    65             w +=  tw;
    66             printf("TD width %d\n", tw);
    67         }
    68     }
    69     printf("So TR width %d\n", w);
    70     return w;
     60        unsigned int w = 0, td = 0;
     61
     62        for(td = 0 ; td < tr->children_count; td++) {
     63                if(tr->children[td]->type == ELEM_TD) {
     64                        unsigned int tw = gaycko_get_node_width(tr->children[td]);
     65                        w +=  tw;
     66                        printf("TD width %d\n", tw);
     67                }
     68        }
     69        printf("So TR width %d\n", w);
     70        return w;
    7171}
    7272
    7373unsigned int gaycko_get_node_width(gNode *td) {
    74     unsigned int e = 0;
     74        unsigned int e = 0;
    7575        unsigned int w = 0;
    76     for(e = 0 ; e < td->children_count; e++) {
    77         w+=td->properties->width;
    78     }
    79     return w;
     76        for(e = 0 ; e < td->children_count; e++) {
     77                w+=td->properties->width;
     78        }
     79        return w;
    8080}
    8181
    8282
    8383void gaycko_fix_tr(gNode *tr) {
    84         unsigned int td = 0;
    85     tr->specific.tr->td_count = 0;
    86    
    87     for(td = 0 ; td < tr->children_count; td++) {
    88         if(tr->children[td]->type == ELEM_TD) {
    89             tr->specific.tr->td_count++;
    90         }
    91     }
     84        unsigned int td = 0;
     85        tr->specific.tr->td_count = 0;
     86
     87        for(td = 0 ; td < tr->children_count; td++) {
     88                if(tr->children[td]->type == ELEM_TD) {
     89                        tr->specific.tr->td_count++;
     90                }
     91        }
    9292}   
    9393
    9494unsigned int gaycko_get_trtd_width(gNode *tr, unsigned int td_index) {
    95     unsigned int e = 0;
    96     unsigned int td = 0;
    97     for(e = 0 ; e < tr->children_count; e++) {
    98         if(tr->children[e]->type == ELEM_TD) {
    99             if(td == td_index) return tr->children[e]->properties->width;
    100             td++;
    101         }
    102     }
    103     return 0;
     95        unsigned int e = 0;
     96        unsigned int td = 0;
     97        for(e = 0 ; e < tr->children_count; e++) {
     98                if(tr->children[e]->type == ELEM_TD) {
     99                        if(td == td_index) return tr->children[e]->properties->width;
     100                        td++;
     101                }
     102        }
     103        return 0;
    104104}
    105105
    106106void gaycko_set_trtd_width(gNode *tr, unsigned td_index, unsigned int width) {
    107     unsigned int e = 0;
    108     unsigned int td = 0;
    109     unsigned int add_width = 0;
    110    
    111     for(e = 0 ; e < tr->children_count; e++) {
    112         if(tr->children[e]->type == ELEM_TD) {
    113             if(td == td_index) {
    114                 add_width = width - tr->children[e]->properties->width;
    115             }
    116             td++;
    117         }
    118     }
     107        unsigned int e = 0;
     108        unsigned int td = 0;
     109        unsigned int add_width = 0;
     110
     111        for(e = 0 ; e < tr->children_count; e++) {
     112                if(tr->children[e]->type == ELEM_TD) {
     113                        if(td == td_index) {
     114                                add_width = width - tr->children[e]->properties->width;
     115                        }
     116                        td++;
     117                }
     118        }
    119119        td = 0;
    120     for(e = 0 ; e < tr->children_count; e++) {
    121         if(tr->children[e]->type == ELEM_TD) {
    122             if(td == td_index) {
    123                
    124             } else if(td > td_index){
    125                 tr->children[e]->properties->width = width;
    126                 gaycko_add_node_x(tr->children[e], add_width);
    127             }
    128             td++;
    129         }
    130     }
    131    
    132    
     120        for(e = 0 ; e < tr->children_count; e++) {
     121                if(tr->children[e]->type == ELEM_TD) {
     122                        if(td == td_index) {
     123
     124                        } else if(td > td_index){
     125                                tr->children[e]->properties->width = width;
     126                                gaycko_add_node_x(tr->children[e], add_width);
     127                        }
     128                        td++;
     129                }
     130        }
     131
     132
    133133}
    134134
Note: See TracChangeset for help on using the changeset viewer.