PCからマイコンを経由して表示機(7セグLEDやLCD等)を制御します
表示機クラスとして抽象化するとして、表示関数のインターフェイスについて質問があります

実際に使用する表示機は
7セグLEDなら1行4文字
LCDならサイズによって異なりますがY行X文字

これを踏まえると
void myPrintf(int X , int Y , const char str);
という形にして1行しか表示できないユニットに関してはYを無視する形にすればいいのかなと考えます。

しかし、今後カラーLCDを使用したり反転・点滅等のエフェクトを追加しようとすると
void myPrintf(int X , int Y , const char str , int color , int effect);
と、7セグLEDのような単純な表示機では使わないような引数がどんどん増えていってしまいます。

しかもインターフェイスに変更を加えることになってしまうのであまり宜しくないようにも思います。

こういう場合どういう風に設計すれば良いのか、今後の変更に備えるための工夫等はどうしたらよいでしょうか?