def apply(self):
        l = self.x
        r = self.x + self.width
        b = self.y
        t = self.y + self.height
        n = self.near
        f = self.far

        self.projection.apply()
        glMatrixMode(GL_PROJECTION)
        glMultMatrixf((GLfloat * 16)(
            (r-l)/2, 0,       0,       0,
            0,       (b-t)/2, 0,       0,
            0,       0,       (f-n)/2, 0,
            (r+l)/2, (t+b)/2, (f+n)/2, 1))
        glMatrixMode(GL_MODELVIEW)

        glClipPlane(GL_CLIP_PLANE0, (GLdouble * 4)(1, 0, 0, 0))
        glClipPlane(GL_CLIP_PLANE1, (GLdouble * 4)(-1, 0, 0, self.width))
        glClipPlane(GL_CLIP_PLANE2, (GLdouble * 4)(0, 1, 0, 0))
        glClipPlane(GL_CLIP_PLANE3, (GLdouble * 4)(0, -1, 0, self.height))
      
        glEnable(GL_CLIP_PLANE0)
        glEnable(GL_CLIP_PLANE1)
        glEnable(GL_CLIP_PLANE2)
        glEnable(GL_CLIP_PLANE3)
dataset/ETHPy150Open ardekantur/pyglet/contrib/projection/projection.py/OrthographicViewport.apply/swapped operands of `-`