def contains(self, x, y):
if self._bounds:<EOL><INDENT>return self._bounds<EOL><DEDENT>record_surface = cairo.RecordingSurface(cairo.CONTENT_COLOR_ALPHA, (-<NUM_LIT:1>, -<NUM_LIT:1>, <NUM_LIT:1>, <NUM_LIT:1>))<EOL>dummy_ctx = cairo.Context(record_surface)<EOL>self._traverse(dummy_ctx)<EOL>in_fill = dummy_ctx.in_fill(x, y)<EOL>return in_fill<EOL>
Return cached bounds of this Grob.
If bounds are not cached, render to a meta surface, and
keep the meta surface and bounds cached.