Rev 3068 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3068 | Rev 3248 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | list_initialize(&Window.link); |
61 | list_initialize(&Window.link); |
Line 62... | Line 62... | ||
62 | list_initialize(&Window.child); |
62 | list_initialize(&Window.child); |
63 | 63 | ||
Line -... | Line 64... | ||
- | 64 | ||
- | 65 | Window.bitmap.width = 1920; |
|
64 | ctx->pixmap = user_alloc(1280*1024*4); |
66 | Window.bitmap.height = 1080; |
- | 67 | Window.bitmap.flags = 0; |
|
- | 68 | ||
65 | if(!ctx->pixmap) |
69 | if( create_bitmap(&Window.bitmap) ) |
66 | { |
70 | { |
67 | printf("not enough memory for context bitmap\n"); |
71 | printf("not enough memory for window bitmap\n"); |
68 | return NULL; |
72 | return 0; |
69 | }; |
73 | } |
Line -... | Line 74... | ||
- | 74 | ||
70 | 75 | ctx->pixmap = &Window.bitmap; |
|
71 | stride = w*4; |
76 | ctx->offset_x = 0; |
Line 72... | Line 77... | ||
72 | ctx->stride = stride; |
77 | ctx->offset_y = 0; |
73 | 78 | ||
74 | Window.rc.l = x; |
79 | Window.rc.l = x; |
75 | Window.rc.t = y; |
80 | Window.rc.t = y; |
Line 177... | Line 182... | ||
177 | w = win->client.r - win->client.l; |
182 | w = win->client.r - win->client.l; |
Line 178... | Line 183... | ||
178 | h = win->client.b - win->client.t; |
183 | h = win->client.b - win->client.t; |
179 | 184 | ||
Line 180... | Line 185... | ||
180 | Blit(win->ctx->pixmap, win->client.l, win->client.t, |
185 | Blit(win->ctx->pixmap->data, win->client.l, win->client.t, |
181 | 0, 0, w, h, w, h,win->ctx->stride); |
186 | 0, 0, w, h, w, h,win->ctx->pixmap->pitch); |
182 | }; |
187 | }; |
Line 183... | Line 188... | ||
183 | 188 | ||
184 | 189 | ||
Line 248... | Line 253... | ||
248 | 253 | ||
249 | int old_size; |
254 | int old_size; |
Line 250... | Line 255... | ||
250 | int new_size; |
255 | int new_size; |
251 | int stride; |
256 | int pitch; |
252 | 257 | ||
Line 253... | Line -... | ||
253 | old_size = win->ctx->stride * win->h; |
- | |
254 | old_size = (old_size+4095) & ~4095; |
- | |
Line 255... | Line 258... | ||
255 | 258 | ||
256 | new_size = winw*winh*4; |
259 | old_size = win->bitmap.pitch * win->bitmap.height; |
Line 257... | Line 260... | ||
257 | new_size = (new_size+4095) & ~4095; |
260 | old_size = (old_size+4095) & ~4095; |
Line 258... | Line 261... | ||
258 | 261 | ||
- | 262 | pitch = ALIGN(win->w*4, 16); |
|
Line 259... | Line 263... | ||
259 | stride = winw*4; |
263 | |
260 | 264 | new_size = pitch * win->h; |
|
- | 265 | new_size = (new_size+4095) & ~4095; |
|
261 | // printf("update win size %d %d\n", winw, winh); |
266 | |
- | 267 | if( new_size < old_size) |
|
Line 262... | Line 268... | ||
262 | 268 | user_unmap(win->bitmap.data, new_size, old_size-new_size); |
|
263 | if( new_size < old_size) |
269 | |
264 | user_unmap(win->ctx->pixmap, new_size, old_size-new_size); |
270 | win->bitmap.width = win->w; |
265 | win->ctx->stride = stride; |
271 | win->bitmap.pitch = pitch; |
Line 561... | Line 567... | ||
561 | ctx_w = ctrl->parent->w; |
567 | ctx_w = ctrl->parent->w; |
Line 562... | Line 568... | ||
562 | ctx_h = ctrl->parent->h; |
568 | ctx_h = ctrl->parent->h; |
563 | 569 | ||
Line 564... | Line 570... | ||
564 | Blit(ctrl->ctx->pixmap, ctrl->rc.l, ctrl->rc.t, src_x, src_y, |
570 | Blit(ctrl->ctx->pixmap->data, ctrl->rc.l, ctrl->rc.t, src_x, src_y, |
565 | ctrl->w, ctrl->h, ctx_w, ctx_h, ctrl->ctx->stride); |
571 | ctrl->w, ctrl->h, ctx_w, ctx_h, ctrl->ctx->pixmap->pitch); |
Line 566... | Line 572... | ||
566 | 572 | ||
567 | // need_update++; |
573 | // need_update++; |