MCPcopy Create free account
hub / github.com/axmolengine/axmol / convertToUI

Method convertToUI

core/base/Director.cpp:735–761  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

733}
734
735Vec2 Director::convertToUI(const Vec2& glPoint)
736{
737 Mat4 transform;
738 GLToClipTransform(&transform);
739
740 Vec4 clipCoord;
741 // Need to calculate the zero depth from the transform.
742 Vec4 glCoord(glPoint.x, glPoint.y, 0.0, 1);
743 transform.transformVector(glCoord, &clipCoord);
744
745 /*
746 BUG-FIX #5506
747
748 a = (Vx, Vy, Vz, 1)
749 b = (a×M)T
750 Out = 1 ⁄ bw(bx, by, bz)
751 */
752
753 clipCoord.x = clipCoord.x / clipCoord.w;
754 clipCoord.y = clipCoord.y / clipCoord.w;
755 clipCoord.z = clipCoord.z / clipCoord.w;
756
757 Vec2 glSize = _renderView->getDesignResolutionSize();
758 float factor = 1.0f / glCoord.w;
759 return Vec2(glSize.width * (clipCoord.x * 0.5f + 0.5f) * factor,
760 glSize.height * (-clipCoord.y * 0.5f + 0.5f) * factor);
761}
762
763const Vec2& Director::getWinSize() const
764{

Callers 1

convertToWindowSpaceMethod · 0.80

Calls 3

GLToClipTransformFunction · 0.85
transformVectorMethod · 0.80
Vec2Class · 0.70

Tested by

no test coverage detected