コード例 #1
0
ファイル: UnsafeNativeMethods.cs プロジェクト: xuanmu/corefx
        public static int GetTextMetrics(HandleRef hDC, ref IntNativeMethods.TEXTMETRIC lptm)
        {
            int retVal = GetTextMetricsW(hDC, ref lptm);

            DbgUtil.AssertWin32(retVal != 0, "GetTextMetrics(hdc=[0x{0:X8}], [out TEXTMETRIC] failed.", hDC.Handle);
            return(retVal);
        }
コード例 #2
0
 public static int GetTextMetrics(HandleRef hDC, ref IntNativeMethods.TEXTMETRIC lptm)
 {
     if (Marshal.SystemDefaultCharSize == 1)
     {
         IntNativeMethods.TEXTMETRICA textmetrica = new IntNativeMethods.TEXTMETRICA();
         int textMetricsA = GetTextMetricsA(hDC, ref textmetrica);
         lptm.tmHeight           = textmetrica.tmHeight;
         lptm.tmAscent           = textmetrica.tmAscent;
         lptm.tmDescent          = textmetrica.tmDescent;
         lptm.tmInternalLeading  = textmetrica.tmInternalLeading;
         lptm.tmExternalLeading  = textmetrica.tmExternalLeading;
         lptm.tmAveCharWidth     = textmetrica.tmAveCharWidth;
         lptm.tmMaxCharWidth     = textmetrica.tmMaxCharWidth;
         lptm.tmWeight           = textmetrica.tmWeight;
         lptm.tmOverhang         = textmetrica.tmOverhang;
         lptm.tmDigitizedAspectX = textmetrica.tmDigitizedAspectX;
         lptm.tmDigitizedAspectY = textmetrica.tmDigitizedAspectY;
         lptm.tmFirstChar        = (char)textmetrica.tmFirstChar;
         lptm.tmLastChar         = (char)textmetrica.tmLastChar;
         lptm.tmDefaultChar      = (char)textmetrica.tmDefaultChar;
         lptm.tmBreakChar        = (char)textmetrica.tmBreakChar;
         lptm.tmItalic           = textmetrica.tmItalic;
         lptm.tmUnderlined       = textmetrica.tmUnderlined;
         lptm.tmStruckOut        = textmetrica.tmStruckOut;
         lptm.tmPitchAndFamily   = textmetrica.tmPitchAndFamily;
         lptm.tmCharSet          = textmetrica.tmCharSet;
         return(textMetricsA);
     }
     return(GetTextMetricsW(hDC, ref lptm));
 }
コード例 #3
0
        public static int GetTextMetrics(HandleRef hDC, ref IntNativeMethods.TEXTMETRIC lptm)
        {
            int retVal;

            if (Marshal.SystemDefaultCharSize == 1)
            {
                // ANSI
                IntNativeMethods.TEXTMETRICA lptmA = new IntNativeMethods.TEXTMETRICA();
                retVal = IntUnsafeNativeMethods.GetTextMetricsA(hDC, ref lptmA);

                lptm.tmHeight           = lptmA.tmHeight;
                lptm.tmAscent           = lptmA.tmAscent;
                lptm.tmDescent          = lptmA.tmDescent;
                lptm.tmInternalLeading  = lptmA.tmInternalLeading;
                lptm.tmExternalLeading  = lptmA.tmExternalLeading;
                lptm.tmAveCharWidth     = lptmA.tmAveCharWidth;
                lptm.tmMaxCharWidth     = lptmA.tmMaxCharWidth;
                lptm.tmWeight           = lptmA.tmWeight;
                lptm.tmOverhang         = lptmA.tmOverhang;
                lptm.tmDigitizedAspectX = lptmA.tmDigitizedAspectX;
                lptm.tmDigitizedAspectY = lptmA.tmDigitizedAspectY;
                lptm.tmFirstChar        = (char)lptmA.tmFirstChar;
                lptm.tmLastChar         = (char)lptmA.tmLastChar;
                lptm.tmDefaultChar      = (char)lptmA.tmDefaultChar;
                lptm.tmBreakChar        = (char)lptmA.tmBreakChar;
                lptm.tmItalic           = lptmA.tmItalic;
                lptm.tmUnderlined       = lptmA.tmUnderlined;
                lptm.tmStruckOut        = lptmA.tmStruckOut;
                lptm.tmPitchAndFamily   = lptmA.tmPitchAndFamily;
                lptm.tmCharSet          = lptmA.tmCharSet;
            }
            else
            {
                // Unicode
                retVal = IntUnsafeNativeMethods.GetTextMetricsW(hDC, ref lptm);
            }

            DbgUtil.AssertWin32(retVal != 0, "GetTextMetrics(hdc=[0x{0:X8}], [out TEXTMETRIC] failed.", hDC.Handle);
            return(retVal);
        }
コード例 #4
0
ファイル: UnsafeNativeMethods.cs プロジェクト: xuanmu/corefx
 public static extern int GetTextMetricsW(HandleRef hDC, [In, Out] ref IntNativeMethods.TEXTMETRIC lptm);