Subversion Repositories freemyipod

Rev

Rev 504 | Rev 703 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 504 Rev 527
Line 97... Line 97...
97
                   params->copy_dest.buf.addr, params->copy_dest.pos.x,
97
                   params->copy_dest.buf.addr, params->copy_dest.pos.x,
98
                   params->copy_dest.pos.y, params->copy_dest.buf.stride,
98
                   params->copy_dest.pos.y, params->copy_dest.buf.stride,
99
                   params->copy_src.loc.buf.addr, params->copy_src.loc.pos.x,
99
                   params->copy_src.loc.buf.addr, params->copy_src.loc.pos.x,
100
                   params->copy_src.loc.pos.y, params->copy_src.loc.buf.stride);
100
                   params->copy_src.loc.pos.y, params->copy_src.loc.buf.stride);
101
        if (params->bg_opacity && params->bg_dest.buf.addr && params->bg_src.loc.buf.addr)
101
        if (params->bg_opacity && params->bg_dest.buf.addr && params->bg_src.loc.buf.addr)
102
            blend(params->bg_src.size.x, params->bg_src.size.y, params->bg_opacity,
102
            blenda(params->bg_src.size.x, params->bg_src.size.y, params->bg_opacity,
103
                  params->bg_dest.buf.addr, params->bg_dest.pos.x,
103
                   params->bg_dest.buf.addr, params->bg_dest.pos.x,
104
                  params->bg_dest.pos.y, params->bg_dest.buf.stride,
104
                   params->bg_dest.pos.y, params->bg_dest.buf.stride,
105
                  params->bg_dest.buf.addr, params->bg_dest.pos.x,
105
                   params->bg_dest.buf.addr, params->bg_dest.pos.x,
106
                  params->bg_dest.pos.y, params->bg_dest.buf.stride,
106
                   params->bg_dest.pos.y, params->bg_dest.buf.stride,
107
                  params->bg_src.loc.buf.addr, params->bg_src.loc.pos.x,
107
                   params->bg_src.loc.buf.addr, params->bg_src.loc.pos.x,
108
                  params->bg_src.loc.pos.y, params->bg_src.loc.buf.stride);
108
                   params->bg_src.loc.pos.y, params->bg_src.loc.buf.stride);
109
    }
109
    }
110
    else if (params->copy_dest.buf.stride == params->bg_dest.buf.stride
110
    else if (params->copy_dest.buf.stride == params->bg_dest.buf.stride
111
     && params->bg_src.loc.buf.addr && params->copy_dest.buf.addr == params->bg_dest.buf.addr
111
     && params->bg_src.loc.buf.addr && params->copy_dest.buf.addr == params->bg_dest.buf.addr
112
     && params->copy_dest.pos.x == params->bg_dest.pos.x && !params->fill_dest.loc.buf.addr
112
     && params->copy_dest.pos.x == params->bg_dest.pos.x && !params->fill_dest.loc.buf.addr
113
     && params->copy_dest.pos.y == params->bg_dest.pos.y && params->copy_src.loc.buf.addr
113
     && params->copy_dest.pos.y == params->bg_dest.pos.y && params->copy_src.loc.buf.addr
114
     && params->copy_src.size.x == params->bg_src.size.x && params->copy_dest.buf.addr
114
     && params->copy_src.size.x == params->bg_src.size.x && params->copy_dest.buf.addr
115
     && params->copy_src.size.y == params->bg_src.size.y && params->bg_opacity)
115
     && params->copy_src.size.y == params->bg_src.size.y && params->bg_opacity)
116
    {
116
    {
117
        blend(params->copy_src.size.x, params->copy_src.size.y, params->bg_opacity,
117
        blenda(params->copy_src.size.x, params->copy_src.size.y, params->bg_opacity,
118
              params->copy_dest.buf.addr, params->copy_dest.pos.x,
118
               params->copy_dest.buf.addr, params->copy_dest.pos.x,
119
              params->copy_dest.pos.y, params->copy_dest.buf.stride,
119
               params->copy_dest.pos.y, params->copy_dest.buf.stride,
120
              params->copy_src.loc.buf.addr, params->copy_src.loc.pos.x,
120
               params->copy_src.loc.buf.addr, params->copy_src.loc.pos.x,
121
              params->copy_src.loc.pos.y, params->copy_src.loc.buf.stride,
121
               params->copy_src.loc.pos.y, params->copy_src.loc.buf.stride,
122
              params->bg_src.loc.buf.addr, params->bg_src.loc.pos.x,
122
               params->bg_src.loc.buf.addr, params->bg_src.loc.pos.x,
123
              params->bg_src.loc.pos.y, params->bg_src.loc.buf.stride);
123
               params->bg_src.loc.pos.y, params->bg_src.loc.buf.stride);
124
    }
124
    }
125
    else
125
    else
126
    {
126
    {
127
        if (params->copy_src.loc.buf.addr && params->copy_dest.buf.addr)
127
        if (params->copy_src.loc.buf.addr && params->copy_dest.buf.addr)
128
            blit(params->copy_src.size.x, params->copy_src.size.y, 3,
128
            blit(params->copy_src.size.x, params->copy_src.size.y, 3,
Line 135... Line 135...
135
                       params->fill_dest.loc.buf.addr, params->fill_dest.loc.pos.x,
135
                       params->fill_dest.loc.buf.addr, params->fill_dest.loc.pos.x,
136
                       params->fill_dest.loc.pos.y, params->fill_dest.loc.buf.stride,
136
                       params->fill_dest.loc.pos.y, params->fill_dest.loc.buf.stride,
137
                       params->fill_dest.loc.buf.addr, params->fill_dest.loc.pos.x,
137
                       params->fill_dest.loc.buf.addr, params->fill_dest.loc.pos.x,
138
                       params->fill_dest.loc.pos.y, params->fill_dest.loc.buf.stride);
138
                       params->fill_dest.loc.pos.y, params->fill_dest.loc.buf.stride);
139
        if (params->bg_opacity && params->bg_src.loc.buf.addr && params->bg_dest.buf.addr)
139
        if (params->bg_opacity && params->bg_src.loc.buf.addr && params->bg_dest.buf.addr)
140
            blend(params->bg_src.size.x, params->bg_src.size.y, params->bg_opacity,
140
            blenda(params->bg_src.size.x, params->bg_src.size.y, params->bg_opacity,
141
                  params->bg_dest.buf.addr, params->bg_dest.pos.x,
141
                   params->bg_dest.buf.addr, params->bg_dest.pos.x,
142
                  params->bg_dest.pos.y, params->bg_dest.buf.stride,
142
                   params->bg_dest.pos.y, params->bg_dest.buf.stride,
143
                  params->bg_dest.buf.addr, params->bg_dest.pos.x,
143
                   params->bg_dest.buf.addr, params->bg_dest.pos.x,
144
                  params->bg_dest.pos.y, params->bg_dest.buf.stride,
144
                   params->bg_dest.pos.y, params->bg_dest.buf.stride,
145
                  params->bg_src.loc.buf.addr, params->bg_src.loc.pos.x,
145
                   params->bg_src.loc.buf.addr, params->bg_src.loc.pos.x,
146
                  params->bg_src.loc.pos.y, params->bg_src.loc.buf.stride);
146
                   params->bg_src.loc.pos.y, params->bg_src.loc.buf.stride);
147
    }
147
    }
148
    void* buf = params->viewport.loc.buf.addr;
148
    void* buf = params->viewport.loc.buf.addr;
149
    int stride = params->viewport.loc.buf.stride;
149
    int stride = params->viewport.loc.buf.stride;
150
    int x = params->viewport.loc.pos.x;
150
    int x = params->viewport.loc.pos.x;
151
    int y = params->viewport.loc.pos.y;
151
    int y = params->viewport.loc.pos.y;
Line 174... Line 174...
174
        if (fill_color)
174
        if (fill_color)
175
            blendcolor(iparams->fill_box.size.x, iparams->fill_box.size.y, fill_color,
175
            blendcolor(iparams->fill_box.size.x, iparams->fill_box.size.y, fill_color,
176
                       buf, x + iparams->fill_box.pos.x, y + iparams->fill_box.pos.y, stride,
176
                       buf, x + iparams->fill_box.pos.x, y + iparams->fill_box.pos.y, stride,
177
                       buf, x + iparams->fill_box.pos.x, y + iparams->fill_box.pos.y, stride);
177
                       buf, x + iparams->fill_box.pos.x, y + iparams->fill_box.pos.y, stride);
178
        if (icon->loc.buf.addr && icon_opacity)
178
        if (icon->loc.buf.addr && icon_opacity)
179
            blend(icon->size.x, icon->size.y, icon_opacity,
179
            blenda(icon->size.x, icon->size.y, icon_opacity,
180
                  buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride,
180
                   buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride,
181
                  buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride);
181
                   buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride);
182
        if (iparams->text && iparams->text_color)
182
        if (iparams->text && iparams->text_color)
183
            rendertext(buf, x + iparams->text_pos.x, y + iparams->text_pos.y,
183
            rendertext(buf, x + iparams->text_pos.x, y + iparams->text_pos.y,
184
                       stride, text_color, 0, iparams->text);
184
                       stride, text_color, 0, iparams->text);
185
        y += iparams->size.y;
185
        y += iparams->size.y;
186
        item++;
186
        item++;