Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1.  
  2. #define __ALIGN_MASK(x,mask)  (((x)+(mask))&~(mask))
  3. #define ALIGN(x,a)            __ALIGN_MASK(x,(typeof(x))(a)-1)
  4.  
  5. struct context
  6. {
  7.     int     x;
  8.     int     y;
  9.     int     width;
  10.     int     height;
  11.     rect_t  rc;
  12.     rect_t  rcu;
  13.     void   *buffer;
  14.     size_t  pitch;
  15.     size_t  size;
  16.     int     dirty;
  17.     void (*px_rect_simd)(void *dst_addr, int pitch, int w, int h, color_t dst_color);
  18.     void (*px_glyph)(void *dst_addr, int dst_pitch, const void *src_addr, int src_pitch,
  19.         int width, int height, color_t src_color);
  20. };
  21.  
  22.  
  23. void px_rect_alu(void *dst_addr, int pitch, int w, int h, color_t src_color);
  24. void px_rect_mmx(void *dst_addr, int pitch, int w, int h, color_t src_color);
  25. void px_rect_xmm(void *dst_addr, int pitch, int w, int h, color_t dst_color);
  26. void px_glyph_alu(void *dst_addr, int dst_pitch,const void *src_addr,
  27.                   int src_pitch, int width, int height, color_t src_color);
  28.  
  29. void px_glyph_sse(void *dst_addr, int dst_pitch, const void *src_addr,
  30.                   int src_pitch, int width, int height, color_t src_color);
  31.  
  32.