OK, so I think I didn't get that quite right. I've added a separate package name and a 'use base', but it says the base is not found.
So now the code is: package Wx::RichTextPrintout; use Wx qw(:everything); use base qw(Wx); sub OnPrintPage{ my ($self, $page) = @_; my $dc = self->GetDC(); if ($dc){ if (HasPage($page)){ $dc->DrawBitmap(Wx::Bitmap->new('/home/steve/Documents/logo.png',1,1)); Wx::RichTextPrintout::RenderPage($dc, $page); return 1; } else { return 0; } } But it's still not being called. Regards Steve