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 { |