modules/graphics/src/main/native-font/fontpath.c

Print this page




 718     return SystemParametersInfoW(SPI_GETNONCLIENTMETRICS,
 719                                  ncmetrics->cbSize, ncmetrics, FALSE);
 720 }
 721 
 722 
 723 /*
 724  * Class:     Java_com_sun_javafx_font_PrismFontFactory
 725  * Method:    getLCDContrastWin32
 726  * Signature: ()I
 727  */
 728 JNIEXPORT jint JNICALL Java_com_sun_javafx_font_PrismFontFactory_getLCDContrastWin32
 729   (JNIEnv *env, jobject klass) {
 730 
 731     unsigned int fontSmoothingContrast;
 732     static const int fontSmoothingContrastDefault = 1300;
 733 
 734     return SystemParametersInfo(SPI_GETFONTSMOOTHINGCONTRAST, 0,
 735         &fontSmoothingContrast, 0) ? fontSmoothingContrast : fontSmoothingContrastDefault;
 736 }
 737 
 738 JNIEXPORT jint JNICALL
 739 Java_com_sun_javafx_font_PrismFontFactory_getSystemFontSizeNative(JNIEnv *env, jclass cl)
 740 {
 741     NONCLIENTMETRICSW ncmetrics;
 742 
 743     if (getSysParams(&ncmetrics)) {
 744         return -ncmetrics.lfMessageFont.lfHeight;





 745     } else {
 746         return 12;
 747     }
 748 }
 749 
 750 JNIEXPORT jstring JNICALL
 751 Java_com_sun_javafx_font_PrismFontFactory_getSystemFontNative(JNIEnv *env, jclass cl) {
 752 
 753     NONCLIENTMETRICSW ncmetrics;
 754 
 755     if (getSysParams(&ncmetrics)) {
 756         int len = wcslen(ncmetrics.lfMessageFont.lfFaceName);
 757         return (*env)->NewString(env, ncmetrics.lfMessageFont.lfFaceName, len);
 758     } else {
 759         return NULL;
 760     }
 761 }
 762 
 763 
 764 JNIEXPORT jshort JNICALL
 765 Java_com_sun_javafx_font_PrismFontFactory_getSystemLCID(JNIEnv *env, jclass cl)
 766 {


 718     return SystemParametersInfoW(SPI_GETNONCLIENTMETRICS,
 719                                  ncmetrics->cbSize, ncmetrics, FALSE);
 720 }
 721 
 722 
 723 /*
 724  * Class:     Java_com_sun_javafx_font_PrismFontFactory
 725  * Method:    getLCDContrastWin32
 726  * Signature: ()I
 727  */
 728 JNIEXPORT jint JNICALL Java_com_sun_javafx_font_PrismFontFactory_getLCDContrastWin32
 729   (JNIEnv *env, jobject klass) {
 730 
 731     unsigned int fontSmoothingContrast;
 732     static const int fontSmoothingContrastDefault = 1300;
 733 
 734     return SystemParametersInfo(SPI_GETFONTSMOOTHINGCONTRAST, 0,
 735         &fontSmoothingContrast, 0) ? fontSmoothingContrast : fontSmoothingContrastDefault;
 736 }
 737 
 738 JNIEXPORT jfloat JNICALL
 739 Java_com_sun_javafx_font_PrismFontFactory_getSystemFontSizeNative(JNIEnv *env, jclass cl)
 740 {
 741     NONCLIENTMETRICSW ncmetrics;
 742 
 743     if (getSysParams(&ncmetrics)) {
 744         HWND hWnd = GetDesktopWindow();
 745         HDC hDC = GetDC(hWnd);
 746         int dpiY = GetDeviceCaps(hDC, LOGPIXELSY);
 747         ReleaseDC(hWnd, hDC);
 748         return (-ncmetrics.lfMessageFont.lfHeight)
 749              * ((float) USER_DEFAULT_SCREEN_DPI) / dpiY;
 750     } else {
 751         return 12.0f;
 752     }
 753 }
 754 
 755 JNIEXPORT jstring JNICALL
 756 Java_com_sun_javafx_font_PrismFontFactory_getSystemFontNative(JNIEnv *env, jclass cl) {
 757 
 758     NONCLIENTMETRICSW ncmetrics;
 759 
 760     if (getSysParams(&ncmetrics)) {
 761         int len = wcslen(ncmetrics.lfMessageFont.lfFaceName);
 762         return (*env)->NewString(env, ncmetrics.lfMessageFont.lfFaceName, len);
 763     } else {
 764         return NULL;
 765     }
 766 }
 767 
 768 
 769 JNIEXPORT jshort JNICALL
 770 Java_com_sun_javafx_font_PrismFontFactory_getSystemLCID(JNIEnv *env, jclass cl)
 771 {