Код работает так, как задумано. Введенные вами координаты - это центр круга и радиус.
Естественно, если вы поставите 0 в качестве центра, то половина круга будет иметь отрицательные координаты. Решите вашу проблему, передавая координаты центра круга.
Я хочу, чтобы эта функция действовала как TCanvas.Ellipse
.
Это не так, как работает программирование на сторонний интерфейс. Автор сторонней библиотеки выбирает интерфейс, и вы должны следовать ему. В этом случае автор библиотеки постановил, что вы должны указать центр круга. У вас нет выбора в этом вопросе. Вы должны следовать интерфейсу, который был определен автором библиотеки.
Если вы хотите указать координаты другим способом, вам нужно написать адаптер. Вы можете написать свой собственный код, который принимает координаты в форме, которую вы хотите использовать, и затем этот код преобразует ваши координаты в те, которые требуются для библиотеки.