]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/fontdlg.cpp
Need to use the same instance handles
[wxWidgets.git] / src / os2 / fontdlg.cpp
index 9b796e6527df4be18931695deb82a45556d77052..c2b6091965909b508023027ee8bda1f6cef0d73e 100644 (file)
@@ -21,6 +21,7 @@
 #endif
 
 #include "wx/fontdlg.h"
+#include "wx/fontutil.h"
 
 #define INCL_PM
 #include <os2.h>
@@ -39,7 +40,6 @@ int wxFontDialog::ShowModal()
     FONTDLG                         vFontDlg;
     char                            zCurrentFont[FACESIZE];
     HWND                            hWndFontDlg;
-    FONTMETRICS                     vFm;
     FACENAMEDESC                    vFn;
 
     memset(&vFontDlg, '\0', sizeof(FONTDLG));
@@ -67,48 +67,29 @@ int wxFontDialog::ShowModal()
         wxColour                    vColour((unsigned long)0x00000000);
         wxNativeFontInfo            vInfo;
 
-        m_fontData.fontColour = vColour;
+        m_fontData.m_fontColour = vColour;
 
         memset(&vFn, '\0', sizeof(FACENAMEDESC));
         vFn.usSize        = sizeof(FACENAMEDESC);
         vFn.usWeightClass = vFontDlg.usWeight;
         vFn.usWidthClass  = vFontDlg.usWidth;
 
-        memcpy(&vInfo.fa, &vFontDlg.fAttrs, sizeof(FATTRS));
+        memset(&vInfo.fa, '\0', sizeof(FATTRS));
         memcpy(&vInfo.fn, &vFn, sizeof(FACENAMEDESC));
 
+        vInfo.fa.usRecordLength = vFontDlg.fAttrs.usRecordLength;
+        strcpy(vInfo.fa.szFacename, vFontDlg.fAttrs.szFacename);
+        vInfo.fa.lMatch = vFontDlg.fAttrs.lMatch;
+
         //
         // Debugging
         //
         wxFont                      vChosenFont(vInfo);
 
-        int                         nFamily;
-        int                         nPointSize = vFontDlg.lEmHeight;
-        int                         nStyle;
-        int                         nWeight;
-        bool                        bUnderlined;
-        wxString                    sFaceName;
-        wxNativeFontInfo*           pInfo;
+        int                         nPointSize = vFontDlg.fxPointSize >> 16;
 
         vChosenFont.SetPointSize(nPointSize);
-        nFamily = vChosenFont.GetFamily();
-        nPointSize = vChosenFont.GetPointSize();
-        nStyle = vChosenFont.GetStyle();
-        nWeight = vChosenFont.GetWeight();
-        bUnderlined = vChosenFont.GetUnderlined();
-        sFaceName = vChosenFont.GetFaceName();
-        pInfo = vChosenFont.GetNativeFontInfo();
-
-
-        m_fontData.chosenFont = vChosenFont;
-
-        nFamily = m_fontData.chosenFont.GetFamily();
-        nPointSize = m_fontData.chosenFont.GetPointSize();
-        nStyle = m_fontData.chosenFont.GetStyle();
-        nWeight = m_fontData.chosenFont.GetWeight();
-        bUnderlined = m_fontData.chosenFont.GetUnderlined();
-        sFaceName = m_fontData.chosenFont.GetFaceName();
-        pInfo = m_fontData.chosenFont.GetNativeFontInfo();
+        m_fontData.m_chosenFont = vChosenFont;
 
         m_fontData.EncodingInfo().facename = vFontDlg.fAttrs.szFacename;
         m_fontData.EncodingInfo().charset = vFontDlg.fAttrs.usCodePage;