Subversion Repositories Kolibri OS

Rev

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++;