Subversion Repositories Kolibri OS

Rev

Rev 817 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 817 Rev 818
Line 303... Line 303...
303
    return ERR_PARAM;
303
    return ERR_PARAM;
304
  else
304
  else
305
    pixmap = io->pixmap;
305
    pixmap = io->pixmap;
306
 
306
 
Line 307... Line 307...
307
  if(pixmap->flags & 1 == 1 )
307
  if( (pixmap->flags & 1) == PX_LOCK )
308
    return ERR_PARAM;
308
    return ERR_PARAM;
Line 309... Line 309...
309
 
309
 
310
  size = pixmap->pitch*pixmap->width;
310
  size = (pixmap->pitch*pixmap->width+4095) & ~ 4095;
311
  if (usermap = UserAlloc(size))
311
  if (usermap = UserAlloc(size))
312
  {
312
  {
313
    CommitPages(usermap, ((u32_t)pixmap->raw+rhd.PhisBase)|7|(1<<9), size);
313
    CommitPages(usermap, ((u32_t)pixmap->raw+rhd.PhisBase)|7|(1<<9), size);
314
    pixmap->flags |= 1;
314
    pixmap->flags |= PX_LOCK;
315
    pixmap->usermap = usermap;
315
    pixmap->usermap = usermap;
316
    io->usermap = usermap;
316
    io->usermap = usermap;
317
    io->pitch   = pixmap->pitch;
317
    io->pitch   = pixmap->pitch;
Line 322... Line 322...
322
  else
322
  else
323
    return ERR_PARAM;
323
    return ERR_PARAM;
324
};
324
};
325
 
325
 
Line -... Line 326...
-
 
326
int UnlockPixmap(userpixmap_t *io)
-
 
327
{
-
 
328
  pixmap_t *pixmap;
-
 
329
  size_t    size;
-
 
330
 
-
 
331
  dbgprintf("Unlock pixmap %x\n", io->pixmap);
-
 
332
 
-
 
333
  if(io->pixmap == (pixmap_t*)-1)
-
 
334
    return ERR_PARAM;
-
 
335
  else
-
 
336
    pixmap = io->pixmap;
-
 
337
 
-
 
338
  if( (pixmap->flags & 1) != PX_LOCK )
-
 
339
    return ERR_PARAM;
-
 
340
 
-
 
341
  size = (pixmap->pitch*pixmap->width+4095) & ~ 4095;
-
 
342
 
-
 
343
  UnmapPages(pixmap->usermap, size);
-
 
344
  UserFree(pixmap->usermap);
-
 
345
  pixmap->usermap =  NULL;
-
 
346
  pixmap->flags  &= ~PX_LOCK;
-
 
347
  io->usermap     =  NULL;
-
 
348
  io->pitch       =  0;
-
 
349
 
-
 
350
  return ERR_OK;
-
 
351
};
-
 
352
 
Line 326... Line 353...
326
 
353
 
327
int PixBlit(pixblit_t *blit)
354
int PixBlit(pixblit_t *blit)
Line 328... Line 355...
328
{
355
{