New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIN32SS][NTGDI] Text/Font Rotation/Transformation with optimization #1708
Conversation
Thx Katayama for the improved version. |
win32ss/gdi/ntgdi/freetype.c
Outdated
} | ||
|
||
efTemp = *pef; | ||
FLOATOBJ_MulLong(&efTemp, INT_TO_FIXED(1)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i don't understand that, can you explain to me?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
INT_TO_FIXED
is defined in $(FREETYPE)\include\freetype\internal\ftcalc.h
as follows:
#define INT_TO_FIXED( x ) ( (FT_Long)(x) * 65536 ) /* << 16 */
Thus this macro returns a 16.16
fixed point (FT_Fixed
) from an integer value. FIXED
means FT_Fixed
in FreeType. This code is multiplication of a FLOATOBJ
value and a FT_Fixed
value. You can see FT_Matrix
in $(FREETYPE)\include\freetype\fttypes.h
, that has its FT_Fixed
members. FLOATOBJ_GetLong(&efTemp);
will return the integral part of a value multiplied by 65536
.
Do you have any ideas how to optimize more? Or merge now? |
Temporarily closed. |
Reopened. |
So.... what happened with this PR? |
I retired. |
In case it will be reopened: we need to retest CORE-16020 and CORE-16177 before committing. |
Purpose
JIRA issue: CORE-11848, CORE-16020
lfEscapement
andWorldTransform
.IntExtTextOutW
function toIntExtTextOutZeroAngleW
andIntExtTextOutAnyAngleW
functions.IntNormalizeAngle
andIntScaleMatrix
functions.ScaleLong
function.const
to some parameters of someFLOATOBJ_*
functions.TODOs