As you can see, I think this requires pointers, thats how far I got with googling (should I mention, Im a noob?) but I dont know how to declare 'distype' ? Or how else do I do this?
Since paintlcd() is a function, it can only take one type. If the classes share a common base class, use can use that base class as the type. If not, you can't have one function that can use either device.
Post links to both libraries if you need help determining if they share a base class.
GxGDEP015OC1 derives from GxEPD which derives from Adafruit_GFX.
So, you can define your function to take a reference to a Adafruit_GFX object, and make it function for either class, as long as you do not need to use the features that make a Adafruit_SharpMem different from a Adafruit_GFX or the features that make a GxGDEP015OC1 different from a Adafruit_GFX.