]>
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 memcpy(&vInfo
.fa
, &vFontDlg
.fAttrs
, sizeof(FATTRS
));
78 memcpy(&vInfo
.fn
, &vFn
, sizeof(FACENAMEDESC
));
83 wxFont
vChosenFont(vInfo
);
90 wxNativeFontInfo
* pInfo
;
92 nFamily
= vChosenFont
.GetFamily();
93 nPointSize
= vChosenFont
.GetPointSize();
94 nStyle
= vChosenFont
.GetStyle();
95 nWeight
= vChosenFont
.GetWeight();
96 bUnderlined
= vChosenFont
.GetUnderlined();
97 sFaceName
= vChosenFont
.GetFaceName();
98 pInfo
= vChosenFont
.GetNativeFontInfo();
101 m_fontData
.chosenFont
= vChosenFont
;
103 nFamily
= m_fontData
.chosenFont
.GetFamily();
104 nPointSize
= m_fontData
.chosenFont
.GetPointSize();
105 nStyle
= m_fontData
.chosenFont
.GetStyle();
106 nWeight
= m_fontData
.chosenFont
.GetWeight();
107 bUnderlined
= m_fontData
.chosenFont
.GetUnderlined();
108 sFaceName
= m_fontData
.chosenFont
.GetFaceName();
109 pInfo
= m_fontData
.chosenFont
.GetNativeFontInfo();
111 m_fontData
.EncodingInfo().facename
= vFontDlg
.fAttrs
.szFacename
;
112 m_fontData
.EncodingInfo().charset
= vFontDlg
.fAttrs
.usCodePage
;
117 } // end of wxFontDialg::ShowModal