]>
git.saurik.com Git - wxWidgets.git/blob - src/os2/fontdlg.cpp
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     wxFontDialog class. NOTE: you can use the generic class 
   4 //              if you wish, instead of implementing this. 
   5 // Author:      David Webster 
   9 // Copyright:   (c) David Webster 
  10 // Licence:     wxWindows licence 
  11 ///////////////////////////////////////////////////////////////////////////// 
  13 // For compilers that support precompilation, includes "wx.h". 
  14 #include "wx/wxprec.h" 
  20 #include "wx/dialog.h" 
  23 #include "wx/fontdlg.h" 
  28 #include "wx/os2/private.h" 
  29 #include "wx/cmndata.h" 
  35 IMPLEMENT_DYNAMIC_CLASS(wxFontDialog
, wxDialog
) 
  37 int wxFontDialog::ShowModal() 
  40     char                            zCurrentFont
[FACESIZE
]; 
  45     memset(&vFontDlg
, '\0', sizeof(FONTDLG
)); 
  46     zCurrentFont
[0] = '\0'; 
  49     // Set the fontdlg fields 
  51     vFontDlg
.cbSize         
= sizeof(FONTDLG
); 
  52     vFontDlg
.hpsScreen      
= ::WinGetScreenPS(HWND_DESKTOP
); 
  53     vFontDlg
.hpsPrinter     
= NULL
; 
  54     vFontDlg
.pszFamilyname  
= zCurrentFont
; 
  55     vFontDlg
.fxPointSize    
= MAKEFIXED(12,0); 
  56     vFontDlg
.usFamilyBufLen 
= FACESIZE
; 
  57     vFontDlg
.fl             
= FNTS_CENTER
; 
  58     vFontDlg
.clrFore        
= CLR_BLACK
; 
  59     vFontDlg
.clrBack        
= CLR_WHITE
; 
  61     hWndFontDlg 
= WinFontDlg( HWND_DESKTOP
 
  62                              ,GetParent()->GetHWND() 
  65     if (hWndFontDlg 
&& vFontDlg
.lReturn 
== DID_OK
) 
  67         wxColour                    
vColour((unsigned long)0x00000000); 
  68         wxNativeFontInfo            vInfo
; 
  70         m_fontData
.fontColour 
= vColour
; 
  72         memset(&vFn
, '\0', sizeof(FACENAMEDESC
)); 
  73         vFn
.usSize        
= sizeof(FACENAMEDESC
); 
  74         vFn
.usWeightClass 
= vFontDlg
.usWeight
; 
  75         vFn
.usWidthClass  
= vFontDlg
.usWidth
; 
  77         memset(&vInfo
.fa
, '\0', sizeof(FATTRS
)); 
  78         memcpy(&vInfo
.fn
, &vFn
, sizeof(FACENAMEDESC
)); 
  80         vInfo
.fa
.usRecordLength 
= vFontDlg
.fAttrs
.usRecordLength
; 
  81         strcpy(vInfo
.fa
.szFacename
, vFontDlg
.fAttrs
.szFacename
); 
  82         vInfo
.fa
.lMatch 
= vFontDlg
.fAttrs
.lMatch
; 
  87         wxFont                      
vChosenFont(vInfo
); 
  89         int                         nPointSize 
= vFontDlg
.fxPointSize 
>> 16; 
  91         vChosenFont
.SetPointSize(nPointSize
); 
  92         m_fontData
.chosenFont 
= vChosenFont
; 
  94         m_fontData
.EncodingInfo().facename 
= vFontDlg
.fAttrs
.szFacename
; 
  95         m_fontData
.EncodingInfo().charset 
= vFontDlg
.fAttrs
.usCodePage
; 
 100 } // end of wxFontDialg::ShowModal