virtual void draw_surface(const DrawingRequest& request) = 0;
virtual void draw_surface_part(const DrawingRequest& request) = 0;
virtual void draw_surface(const DrawingRequest& request) = 0;
virtual void draw_surface_part(const DrawingRequest& request) = 0;