Commit Graph

112 Commits

Author SHA1 Message Date
Vadim Zeitlin
804250acc3 Don't return italic/bold suffix from wxFont::GetFaceName() in wxMSW.
These suffixes don't make part of the face name in wx API but the native MSW
API which we use since r62675 does return them. This made the unit test fail
in SettingsTestCase::GlobalFonts() as a face name with such suffix wasn't
recognized as a valid face name any more, so simply remove them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-24 00:02:05 +00:00
Vadim Zeitlin
14ba694c26 Fix compilation for some wxMSW configurations.
wx/scopeguard.h was not always included when using PCH, so include it in any
case, not just #ifndef WX_PRECOMP.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-19 22:34:33 +00:00
Vadim Zeitlin
76d88590ff Remove unnecessary manual face name selection code.
The change of r60391 made specifying the face name explicitly unnecessary but
left the code which filled "facename" array in wxNativeFontInfo::SetFamily()
with face names even though it was never used -- simply remove this code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-18 03:18:24 +00:00
Vadim Zeitlin
9bd2672046 Implement wxFont::GetFaceName() to return the face name being really used.
Since the change of r60391 empty face name was returned for all fonts created
using the standard wxFont constructor (so basically all fonts except for those
created from native font info and the default/normal font which we retrieve
from the system). Use Windows GetOutlineTextMetrics() function to get the real
face name being used independently of the way the font was created.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-18 03:18:16 +00:00
Vadim Zeitlin
5414d62e3a Change interpretation of font height in wxMSW to mean character height.
Accept both positive and negative height values in wxFont::SetPixelSize() in
wxMSW and map them both to a negative height when passing to MSW API in order
to request mapping against the character height and not the total cell height.

For positive heights this is more consistent with the other ports and also
expectations of people using this function. We keep the possibility to use
the negative heights inly for compatibility with the existing code which
worked around the (incorrect) interpretation of the positive height as cell
heights in the previous wxMSW versions by passing a negative height
explicitly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-06 20:47:52 +00:00
Vadim Zeitlin
d508a9d979 deal with fonts with empty face name correctly in wxNativeFontInfo::FromString(): the last token may be empty, just check that it is present at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-17 11:48:48 +00:00
Francesco Montorsi
060c4f9093 make clear that wxFont::SetFamily() does change the font face name, too (not only on wxGTK, also in wxMSW); reorganize docs for wxFont using doxygen groups; mention that GetFamily() is not very useful and returns a lot of times wxFONTFAMILY_UNKNOWN
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 14:55:07 +00:00
Vadim Zeitlin
7c6e85dc64 remove HasNativeFontInfo() which always returns true now but was left for some reason
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 13:54:24 +00:00
Vadim Zeitlin
0572fce80a initialize m_hFont in the beginning of wxFontRefData::Init() to avoid freeing invalid font handle in SetXXX() called afterwards; removed hard TABs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-18 12:27:31 +00:00
Francesco Montorsi
df898907bb remove unneeded font members from wxFontRefData (all font characteristics are stored only inside the wxNativeFontInfo member); simplify code because m_nativeFontInfoOk==true always; return wxFONTFAMILY_UNKNOWN from GetFamily() when there's no font family info.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-15 20:19:35 +00:00
Francesco Montorsi
d014871de8 simplify a bit the convoluted implementation of wxFontRefData::Alloc;
add some comment, regarding the auto-allocation feature of GetHFONT();
use const_cast<>() instead of wxConstCast();
protect wxFont::IsFixedWidth with a proper wxCHECK_MSG.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-18 21:51:22 +00:00
Francesco Montorsi
b5791cc7af add the wxFont(const wxSize& pixelSize, ...) ctor to all ports; add some wxCHECK_MSGs to ensure that the wxSize objects contains non-negative arguments; document that passing zero for the width parameter is allowed; other minor doc fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-15 16:28:33 +00:00
Vadim Zeitlin
64accea5fa added .c_str() to wxStrlcpy() calls to fix wxUSE_STL build (closes #10252)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 09:49:42 +00:00
Vadim Zeitlin
e408bf5257 add safe wxStrlcpy() function and replaced all wxStrncpy() calls by it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:41:02 +00:00
Francesco Montorsi
9817be8a86 build fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-03 18:24:05 +00:00
Francesco Montorsi
0c14b6c324 fix the incoherence pointed out by ifacecheck between wx docs, that documents usage of the wxFontFamily, wxFontStyle and wxFontWeight enums in wxFont setters and getters, and the actual sources, which use 'int' instead; provided the same backward-compatibility pattern already used for wxBrush,wxPen both against 'int' overloads and against the wxDeprecatedGUIConstants enum values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-03 17:02:25 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
8f884a0dcc Fix Ok/IsOk() mess in wxGDIObject-derived classes; also added
wxGDIObject::Create/CloneGDIRefData() and implemented them for (almost) all
ports


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 17:54:20 +00:00
Vadim Zeitlin
cde9695427 always return positive pixel size, even for negative LOGFONT height values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-15 00:17:58 +00:00
Vadim Zeitlin
ee8fd6b1bd cast abs() argument to int to fix compilation with BC++ 2007
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-13 11:14:49 +00:00
Vadim Zeitlin
66160760e1 added msw.font.no-proof-quality system option as it makes more fonts available (feature request 1617941)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-02 12:56:36 +00:00
Vadim Zeitlin
9cc79dd629 fix bug introduced in wxFontRefData::SetNativeFontInfo() in 1.89: remember that we do have native font info
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-23 22:19:12 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Vadim Zeitlin
8e34db1d94 allocate HFONT on demand instead of doing every time a font property is modified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-13 21:59:55 +00:00
Vadim Zeitlin
adbd3cbc71 fix setting the properties of a valid but unshared font object broken in the last commit (HFONT wasn't recreated)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-13 20:35:58 +00:00
Vadim Zeitlin
f030b28c93 use AllocExclusive() instead of duplicating its code in wxFont-specific Unshare(); this fixes recreating the font whenever it is modified (even if it's not shared) bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-14 20:35:24 +00:00
Robin Dunn
68585e1770 Add some wxCHECK_MSG's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-21 06:53:42 +00:00
Paul Cornett
164e8d41ae indentation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-09 19:49:40 +00:00
Václav Slavík
68c957045a don't expose M_FONTDATA in public header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-20 16:21:08 +00:00
Václav Slavík
873fd4af5f don't expose M_FONTDATA in public header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-20 16:14:01 +00:00
Paul Cornett
406d283a64 build fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-17 03:02:15 +00:00
Włodzimierz Skiba
99ae6124dd WinCE build fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-04 10:33:06 +00:00
Vadim Zeitlin
64c1effefa use PROOF_QUALITY in LOGFONT by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-02 12:49:21 +00:00
Włodzimierz Skiba
48a1108eb8 Include wx/font.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 19:51:14 +00:00
Vadim Zeitlin
85ab460e7d miscellaneous wxFont enhancements (patch 1496606):
- made SetFaceName() bool and return false if the face name is not available
- corrected To/FromUserString() to complement each other


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-29 00:03:36 +00:00
Vadim Zeitlin
f8855e4725 great copy ctor/assignment operators cleanup by Paul Cornett (patch 1307665)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-09 00:51:23 +00:00
Włodzimierz Skiba
521bf4ff3e Include order is wxprec.h=>defs.h=>platform.h=>setup.h so remove explicit setup.h inclusion not touched by chckconf.h.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-26 16:50:23 +00:00
Vadim Zeitlin
fbfb8bcc3f added missing consts and pass objects by const reference instead of by value (patch 1205869)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-24 21:43:15 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Julian Smart
b4772c241f Applied patch [ 1204244 ] [wxMSW] Use Win2K look (MS Shell Dlg 2) if possible
Adam Strzelecki


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-22 13:04:23 +00:00
Włodzimierz Skiba
c47addef10 wxPoint/Size/Rect() causes the same code with (0,0) initialization and is incomparably more readable and clear.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-16 20:34:34 +00:00
Włodzimierz Skiba
8b5d5223d1 Various cleanings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-11 10:42:05 +00:00
Włodzimierz Skiba
04a18b0d95 MinGW warning fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-18 20:13:00 +00:00
Vadim Zeitlin
81152407d0 removed 2.0 compatibility stuff (patch 1054261)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-11 18:59:51 +00:00
Włodzimierz Skiba
5c519b6cf7 Warning fixes found under hardest mode of OpenWatcom. Seems clean in Borland, MinGW and DMC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-08 18:49:13 +00:00
Włodzimierz Skiba
373a5fb355 Warning fixes found under hardest mode of OpenWatcom. Seems clean in Borland, MinGW and DMC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-07 13:36:41 +00:00
Włodzimierz Skiba
907173e51d Warning fixes found under hardest mode of OpenWatcom. Seems clean in Borland, MinGW and DMC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-06 20:21:57 +00:00
Vadim Zeitlin
df455719ff keep the old wxFont::Create() signature (changed by font size in pixels patch) to fix XTI and to preserve backwards compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-27 11:02:11 +00:00
Vadim Zeitlin
544229d106 added a way to create fonts with specified pixel size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-25 23:03:44 +00:00
Włodzimierz Skiba
cbe874bd32 Code cleaning: whitespaces, -1/wxID_ANY/wxDefaultCoord, TRUE/true, FALSE/false, ::.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-25 12:17:55 +00:00