Advertisement
ABCanG

getColorFromBuf

Sep 13th, 2011
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.66 KB | None | 0 0
  1. typedef struct
  2. {
  3.     int width;
  4.     int height;
  5.     int linewidth;
  6.     int pixelformat;
  7.     u32 *buffer;
  8. } CANVAS;
  9.  
  10.  
  11. int getColorFromBuf(int x, int y)
  12. {
  13.     CANVAS canvas;
  14.     u32 *vram32;
  15.     u16 *vram16;
  16.  
  17.     sceDisplayGetFrameBuf((void *)&canvas.buffer, &canvas.linewidth, &canvas.pixelformat, 1);
  18.  
  19.     switch(canvas.pixelformat)
  20.     {
  21.         case PSP_DISPLAY_PIXEL_FORMAT_565:
  22.         case PSP_DISPLAY_PIXEL_FORMAT_5551:
  23.         case PSP_DISPLAY_PIXEL_FORMAT_4444:
  24.  
  25.             vram16 = (u16 *)canvas.buffer + x + y * canvas.linewidth;
  26.             return (int)vram16[0];
  27.  
  28.         case PSP_DISPLAY_PIXEL_FORMAT_8888:
  29.  
  30.             vram32 = canvas.buffer + x + y * canvas.linewidth;
  31.             return (int)vram32[0];
  32.     }
  33.     return -1;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement