attached code adds this, along with a member variable to keep track of
the setting. It is based on the latest subversion version, and was
tested by creating a new text object with the same axis alignment as an
existing one (e.g.
new_text->setAxisAlignment(old_text->getAxisAlignment()); )."
From Robert Osfield, " I originally didn't add a getAxisAlignment()
as all setAxisAlignment does is set the Rotation member variable, and
potentially one could apply user defined Rotation setting after the
setAxisAlignment() which would bring it out of sync with the
setAxisAlignment.
Rather than reject your submission on the ground of potentially
getting out of sync and therefore misleading users I've added a
USED_DEFINED_ROTATION to AxisAlignment enum, and set this in the
serRotation and then override this setting of _axisAlignment in the
setAxisAlingment method. I've also removed the lazy updating
optimization you've added to the top of setAxisAlignment to avoid
potential problems as well."
on the screen, it looks more aesthetically pleasing to have a larger
gap between lines than is given by default. I added a new parameter,
lineSpacing, in the Text class to allow the line spacing to be adjustable
by the application. The default value is 0 meaning there is no extra
spacing given. The value should be given as a percentage of the character
height. A good value for longer paragraphs is 0.25 (25%) or more."
handle scenes with multiple views with elements that need coordinating on a per view basis.
Added beginings of new osgText::FadeText class (not functionality yet).
setFactorAndUnitMultipliersUsingBestGuessForDriver() static methods to
osg::PolygonOffset to help implement workarounds for lack of portablity of
settings between different hardware.
in orthographic projection. Performing the rotation before the scaling
fixed the problem. I've attached Text.cpp with the fix."
From Robert Osfield, in keeping with Vivek's change moved the auto rotate to screen befor the scale as well.
that users can assign to it without it being overriden. If none is
assigned externally it now uses a StateSet associated wit the Font assigned
to the Text.
Drawables,StateSet, and osgDB::Registry.
Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
SCREEN_COORDS and the SceneView's projection matrix was set to an
Ortho2D matrix (sceneView->setProjectionMatrixAsOrtho2D(-1,1,-1,1)).
Computing the pixel size separately vertically and horizontally, and
setting the scaling factors appropriately based on that fixed the
problem."