Setting tint on OpenGLImageTypes

I'm attempting to tint images that I've stored as OpenGLImageTypes.  Using a shader this is trivial and basically free but I can't work out the best way to do it with good performance using the normal Graphics methods.  I've had a look at OpenGLGraphicsContextCustomShader but it doesn't seem to be possible to use a texture.

Is it possible to do this using a shader in the paint() methods, or is there another way to do it?

 

Edit: doing more reading it looks like OpenGLGraphicsContextCustomShader would be the best way to do this, but I can't find a way to bind textures.  Am I missing something?