Getting width of text [message #1066432] |
Tue, 02 July 2013 15:56 |
Albert Hofkamp Messages: 41 Registered: August 2009 |
Member |
|
|
First of all, I really like your tutorial, the pattern to build features becomes very clear with it.
The main things still causing a lot of confusion for me are the "PictogramElement", "ContainerShape", "Shape", and in particular the "GraphicsAlgorithm" concepts and how they relate.
To me, an algorithm is a function to calculate something (ie the usual computer science notion), while "Text" or "Rectangle" feels like an object rather than a function to compute something.
On to my question.
In the tutorial, the add feature does
int width = 100;
...
Text text = gaService.createText(shape, addedClass.getName());
...
gaService.setLocationAndSize(text, 0, 0, width, 20); to set the width of the displayed text. For longer text however, a fixed length is not working, I want the graphical elements to adjust to the width needed by the text to get it fully displayed instead.
I have been trying to get the width of the text from the system.
IDimension dim = gls.calculateSize(text); would seem the obvious solution, but I either get (0,0) (before setting width/height) or my previously set width/height, instead the minimally required width of the text to get it fully displayed.
Querying before or after first rendering does not seem to make any difference, so I have run out of ideas how to do this.
In other words, how do I retrieve the natural width of a text so I can use that to decide the size of my graphical elements?
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02656 seconds