Я использую RaphaelGWT для рисования фигур с помощью базовой библиотеки RaphaelJS. Оба проекта прекрасны. Однако на какое-то время я застрял в вопросе о том, что текстовые объекты в Raphael по умолчанию отображаются по центру.
Я попытался создать один текстовый объект и позволить ему центрироваться по умолчанию, затем измерить его ширину, чтобы настроить положение для второго текстового объекта, а затем удалить первый. Но я не могу получить ширину исходного текстового объекта.
К вашему сведению, в RaphaelGWT используемые объекты Shape расширяют Widget. Итак, я пробовал getAbsoluteLeft()
, getElement().getAbsoluteRight()
, getOffsetWidth()
, getElement().getClientWidth()
. getAbsoluteLeft() — единственный, который возвращает то, что я ожидал. getAbsoluteRight()
возвращает то же значение, что и getAbsoluteLeft()
, а getOffsetWidth()
и getElement().getClientWidth()
возвращают 0.
Почему?
К вашему сведению, я вычислил ширину из исходного значения x, использованного для создания Text Shape (x затем стал центром), и getAbsoluteLeft()
, которое фактически вернуло ожидаемое значение.