Simulating Lens Shift

Hi,

I need help.
I am making a camera class and wish I could do using the lens shift glFrustum ().
Does anyone know how I do it?

I want add filmOffsetX and FilmOffsetY, for distorting perspective like real view camera

Today I am using the following formula.

Sorry my English.

double fW, fH;
fH = tan( fovy / 360 * M_PI ) * nearPlane;
fW = fH * aspect;

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

switch (projection) 
{
	case PERSPECTIVE:
	{
		glFrustum( -fW, fW, -fH, fH, nearPlane, farPlane );	
	}
		break;
	case ORTHOGRAPHIC:
	{
		//glOrtho( );	
	}
	default:
		break;
}

void Camera::setFilmOffsetX(double _FilmOffsetX)
{
if (filmOffsetX != _FilmOffsetX)
{
filmOffsetX = _FilmOffsetX;
emit filmOffsetXChanged(_FilmOffsetX);
}
}

void Camera::setFilmOffsetY(double _FilmOffsetY)
{
if (filmOffsetY != _FilmOffsetY)
{
filmOffsetY = _FilmOffsetY;
emit filmOffsetYChanged(_FilmOffsetY);
}
}