  We describe a new, adaptive solver for the two-dimensional Poisson equation
in complicated geometries. Using classical potential theory, we represent the
solution as the sum of a volume potential and a double layer potential. Rather
than evaluating the volume potential over the given domain, we first extend the
source data to a geometrically simpler region with high order accuracy. This
allows us to accelerate the evaluation of the volume potential using an
efficient, geometry-unaware fast multipole-based algorithm. To impose the
desired boundary condition, it remains only to solve the Laplace equation with
suitably modified boundary data. This is accomplished with existing fast and
accurate boundary integral methods. The novelty of our solver is the scheme
used for creating the source extension, assuming it is provided on an adaptive
quad-tree. For leaf boxes intersected by the boundary, we construct a universal
"stencil" and require that the data be provided at the subset of those points
that lie within the domain interior. This universality permits us to precompute
and store an interpolation matrix which is used to extrapolate the source data
to an extended set of leaf nodes with full tensor-product grids on each. We
demonstrate the method's speed, robustness and high-order convergence with
several examples, including domains with piecewise smooth boundaries.
