The createGraphics() function creates an object from the PGraphics class PGraphics is the main graphics and rendering context for Processing. The beginDraw() method is necessary to prepare for drawing and endDraw() is necessary to finish. Use this class if you need to draw into an off-screen graphics buffer or to maintain two contexts with different properties.

def setup():
    size(640, 360)
    global pg
    pg = createGraphics(400, 200)


def draw():
    fill(0, 12)
    rect(0, 0, width, height)
    fill(255)
    noStroke()
    ellipse(mouseX, mouseY, 60, 60)

    pg.beginDraw()
    pg.background(51)
    pg.noFill()
    pg.stroke(255)
    pg.ellipse(mouseX - 120, mouseY - 60, 60, 60)
    pg.endDraw()

    # Draw the offscreen buffer to the screen with image()
    image(pg, 120, 60)