error en libreria ucglib para pantallas OLED color

Buenos días. Estoy manejando pantallas Oled con las librerías Ucglib, para pantallas en color, mi problema es que intento dibujar una línea tipo,

drawline, en la que dibujo el inicio y el final de la línea pero me remite a drawVline en la cual me da un error, a parte que con este comando no puedo hacer una aguja tipo vúmetro en la que fijo un extremo que será fijo y el otro extremo x,y será variable en función de los datos analógicos que un sensor me lea.

Con las librerías u8glib si que me deja pero necesito hacerlo con la librerías ucglib ya que necesito manejar oled en color.

A parte y aunque no me diera un error en con el comando ucg_DrawVLine, no puedo hacerlo por que no hay un final de la línea dibujada, ya que los datos a introducir serían x, y, largo de línea.

ucg_SetColor(ucg, 0, 255, 255, 255);
ucg_DrawVLine(ucg, 50, 20, 25);

Estos son los errorres que me da;

Scale:29: error: cannot convert 'Ucglib8BitPortD' to 'ucg_t* {aka _ucg_t*}' for argument '1' to 'void ucg_SetColor(ucg_t*, uint8_t, uint8_t, uint8_t, uint8_t)'

ucg_SetColor(ucg, 0, 255, 255, 255);

                                  ^

Scale:30: error: cannot convert 'Ucglib8BitPortD' to 'ucg_t* {aka _ucg_t*}' for argument '1' to 'void ucg_DrawVLine(ucg_t*, ucg_int_t, ucg_int_t, ucg_int_t)'

ucg_DrawVLine(ucg, 50, 20, 25);

En definitive; alguien sabe como dibujar una linea con un trazado de inicio (x, y) y un final (x1, y1) ???????????

Gracias amigos.

Hasta donde sé, u8glib implementa dos versiones de lo mismo: uno es para C puro, y el otro es para C++.
La diferencia radica en el soporte a la programación orientada a objetos.

Arduino está basado en C++, así que no le hallo sentido utilizar la versión C puro.
Con esto quiero decir que el objeto llamado ucg ya trae dichas funciones internamente, entonces deberías llamarlas de la siguiente manera:

ucg.setColor(0, 255, 255, 255);
ucg.drawVLine(50, 20, 25);

Las versiones que requieren de un parámetro tipo ucg_t*, son para el C puro. Este parámetro es una simple estructura de datos personalizada (posiblemente sea una simple struct con el tipo redefinido), la forma primitiva de lo que en programación se conoce por “objeto”.