/* Copyright (c) 2001, Stanford University * All rights reserved * * See the file LICENSE.txt for information on redistributing this software. */ #include "unpacker.h" #include "cr_pixeldata.h" #include "cr_mem.h" void crUnpackReadPixels( void ) { GLint x = READ_DATA( 0, GLint ); GLint y = READ_DATA( 4, GLint ); GLsizei width = READ_DATA( 8, GLsizei ); GLsizei height = READ_DATA( 12, GLsizei ); GLenum format = READ_DATA( 16, GLenum ); GLenum type = READ_DATA( 20, GLenum ); GLint stride = READ_DATA( 24, GLint ); GLint alignment = READ_DATA( 28, GLint ); GLint skipRows = READ_DATA( 32, GLint ); GLint skipPixels = READ_DATA( 36, GLint ); GLint bytes_per_row = READ_DATA( 40, GLint ); GLint rowLength = READ_DATA( 44, GLint ); GLvoid *pixels; /* point at the 8-byte network pointer */ pixels = DATA_POINTER( 48, GLvoid ); (void) stride; (void) bytes_per_row; (void) alignment; (void) skipRows; (void) skipPixels; (void) rowLength; /* we always pack densely on the server side! */ cr_unpackDispatch.PixelStorei( GL_PACK_ROW_LENGTH, 0 ); cr_unpackDispatch.PixelStorei( GL_PACK_SKIP_PIXELS, 0 ); cr_unpackDispatch.PixelStorei( GL_PACK_SKIP_ROWS, 0 ); cr_unpackDispatch.PixelStorei( GL_PACK_ALIGNMENT, 1 ); cr_unpackDispatch.ReadPixels( x, y, width, height, format, type, pixels); INCR_DATA_PTR(48+sizeof(CRNetworkPointer)); }