Advertisement
Guest User

Untitled

a guest
Oct 26th, 2010
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. - (void) tryRasterWithBitmapData:(char *)data ofWidth:(NSUInteger)width andHeight:(NSUInteger)height
  2. {
  3.     const char initializeRaster[] = "\x1B\x2A\x72\x52";
  4.     const char enterRaster[] = "\x1B\x2A\x72\x41";
  5.     const char formFeed[] = "\x1B\x0C\x00";
  6.     const char clearRaster[] = "\x1B\x2A\x72\x43";
  7.    
  8.     [self sendBytes:initializeRaster ofLength:sizeof(initializeRaster)];
  9.     [self sendBytes:enterRaster ofLength:sizeof(enterRaster)];
  10.    
  11.     NSUInteger bitmapBytePerRow = width;
  12.     NSUInteger bytesPerRow = 3 + bitmapBytePerRow;
  13.    
  14.     NSUInteger byteOffset = 0;
  15.     for (NSUInteger y = 0; y < height; y++)
  16.     {
  17.         char *rasterCommandForRow = NULL;
  18.         rasterCommandForRow = (char *)calloc(bytesPerRow, sizeof(char));
  19.         *rasterCommandForRow++ = '\x6B';       
  20.         *rasterCommandForRow++ = '\x41';
  21.         *rasterCommandForRow++ = '\x01';
  22.        
  23.         for (NSUInteger x = 0; x < width; x++)
  24.         {
  25.             *rasterCommandForRow++ = *(data + (byteOffset * sizeof(char)));
  26.             byteOffset++;
  27.         }
  28.         [self sendBytes:rasterCommandForRow ofLength:bytesPerRow];
  29.     }
  30.    
  31.     [self sendBytes:formFeed ofLength:sizeof(formFeed)];
  32.     [self sendBytes:clearRaster ofLength:sizeof(clearRaster)];
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement