abstracted a GDI surface object