cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -36,11 +36,10 @@ pascal OSStatus wxFontDialogEventHandler( EventHandlerCallRef inHandlerCallRef,
|
|||||||
|
|
||||||
OSStatus status = noErr;
|
OSStatus status = noErr;
|
||||||
|
|
||||||
ATSUFontID fontid;
|
|
||||||
Fixed fontsize;
|
|
||||||
RGBColor fontcolor;
|
|
||||||
FMFontStyle fontstyle;
|
|
||||||
FMFontFamily fontfamily;
|
FMFontFamily fontfamily;
|
||||||
|
FMFontStyle fontstyle;
|
||||||
|
FMFontSize fontsize;
|
||||||
|
RGBColor fontcolor;
|
||||||
|
|
||||||
status = GetEventParameter (event, kEventParamFMFontFamily,
|
status = GetEventParameter (event, kEventParamFMFontFamily,
|
||||||
typeFMFontFamily, NULL,
|
typeFMFontFamily, NULL,
|
||||||
@@ -54,15 +53,9 @@ pascal OSStatus wxFontDialogEventHandler( EventHandlerCallRef inHandlerCallRef,
|
|||||||
NULL, &(fontstyle));
|
NULL, &(fontstyle));
|
||||||
check_noerr (status);
|
check_noerr (status);
|
||||||
|
|
||||||
status = GetEventParameter (event, kEventParamATSUFontID,
|
status = GetEventParameter (event, kEventParamFMFontSize,
|
||||||
typeATSUFontID, NULL,
|
typeFMFontSize, NULL,
|
||||||
sizeof (ATSUFontID),
|
sizeof (FMFontSize),
|
||||||
NULL, &(fontid));
|
|
||||||
check_noerr (status);
|
|
||||||
|
|
||||||
status = GetEventParameter (event, kEventParamATSUFontSize,
|
|
||||||
typeATSUSize, NULL,
|
|
||||||
sizeof (Fixed),
|
|
||||||
NULL, &(fontsize));
|
NULL, &(fontsize));
|
||||||
|
|
||||||
check_noerr (status);
|
check_noerr (status);
|
||||||
@@ -72,66 +65,19 @@ pascal OSStatus wxFontDialogEventHandler( EventHandlerCallRef inHandlerCallRef,
|
|||||||
sizeof( RGBColor ), NULL, &fontcolor);
|
sizeof( RGBColor ), NULL, &fontcolor);
|
||||||
check_noerr (status);
|
check_noerr (status);
|
||||||
|
|
||||||
//TODO:
|
|
||||||
//TODO: Make a utility function for converting ATSU to WX font (what we're doing :))
|
|
||||||
//TODO:
|
|
||||||
|
|
||||||
//now do the conversion to the wx font data
|
//now do the conversion to the wx font data
|
||||||
wxFontData theFontData;
|
wxFontData theFontData;
|
||||||
wxFont theFont;
|
wxFont theFont;
|
||||||
|
|
||||||
//first, the easy part - set the color
|
//set color
|
||||||
wxColour theColor;
|
wxColour theColor;
|
||||||
theColor.Set(&(WXCOLORREF&)fontcolor);
|
theColor.Set(&(WXCOLORREF&)fontcolor);
|
||||||
theFontData.SetColour(theColor);
|
theFontData.SetColour(theColor);
|
||||||
|
|
||||||
|
//set size
|
||||||
|
theFont.SetPointSize(fontsize);
|
||||||
|
|
||||||
//
|
//set name
|
||||||
//now the hard part - convert the atsu font to a wx font
|
|
||||||
//
|
|
||||||
|
|
||||||
//point size - fixed, but straight conversion, I think
|
|
||||||
theFont.SetPointSize(fontsize >> 16);
|
|
||||||
|
|
||||||
//font name - first get length, then allocate/copy/deallocate name buffer
|
|
||||||
FontNameCode theNameCode;
|
|
||||||
FontPlatformCode thePlatformCode;
|
|
||||||
FontScriptCode theScriptCode;
|
|
||||||
FontLanguageCode theLanguageCode;
|
|
||||||
//the above have types in SFNTTypes.h
|
|
||||||
|
|
||||||
ByteCount theActualLength;
|
|
||||||
ItemCount numFontFaces;
|
|
||||||
|
|
||||||
/*
|
|
||||||
ATSUCountFontNames(fontid,
|
|
||||||
&numFontFaces);
|
|
||||||
|
|
||||||
ATSUGetIndFontName(fontid,
|
|
||||||
numFontFaces-1, //first font in index array
|
|
||||||
0, //need to get length first
|
|
||||||
NULL, //nothin'
|
|
||||||
&theActualLength,
|
|
||||||
&theNameCode,
|
|
||||||
&thePlatformCode,
|
|
||||||
&theScriptCode,
|
|
||||||
&theLanguageCode);
|
|
||||||
|
|
||||||
Ptr szBuffer = NewPtr(theActualLength);
|
|
||||||
ATSUGetIndFontName(fontid,
|
|
||||||
numFontFaces-1, //first font in index array
|
|
||||||
theActualLength,
|
|
||||||
szBuffer,
|
|
||||||
&theActualLength,
|
|
||||||
&theNameCode,
|
|
||||||
&thePlatformCode,
|
|
||||||
&theScriptCode,
|
|
||||||
&theLanguageCode);
|
|
||||||
|
|
||||||
//its unicode - convert it to wx's char value and put it in there
|
|
||||||
theFont.SetFaceName(wxConvLocal.cMB2WX((char*)szBuffer));
|
|
||||||
DisposePtr(szBuffer);
|
|
||||||
*/
|
|
||||||
|
|
||||||
Str255 theFontName;
|
Str255 theFontName;
|
||||||
GetFontName(fontfamily, theFontName);
|
GetFontName(fontfamily, theFontName);
|
||||||
theFont.SetFaceName(wxMacMakeStringFromPascal(theFontName));
|
theFont.SetFaceName(wxMacMakeStringFromPascal(theFontName));
|
||||||
@@ -139,15 +85,11 @@ pascal OSStatus wxFontDialogEventHandler( EventHandlerCallRef inHandlerCallRef,
|
|||||||
//TODOTODO: Get font family - mayby by the script code?
|
//TODOTODO: Get font family - mayby by the script code?
|
||||||
theFont.SetFamily(wxDEFAULT);
|
theFont.SetFamily(wxDEFAULT);
|
||||||
|
|
||||||
//TODOTODO: Get other styles? Font weight?
|
//TODOTODO: Get other styles?
|
||||||
theFont.SetStyle(((fontstyle & italic) ? wxFONTSTYLE_ITALIC : 0));
|
theFont.SetStyle(((fontstyle & italic) ? wxFONTSTYLE_ITALIC : 0));
|
||||||
theFont.SetWeight((fontstyle & bold) ? wxBOLD : wxNORMAL);
|
theFont.SetWeight((fontstyle & bold) ? wxBOLD : wxNORMAL);
|
||||||
theFont.SetUnderlined(((fontstyle & underline) ? true : false));
|
theFont.SetUnderlined(((fontstyle & underline) ? true : false));
|
||||||
|
|
||||||
//for debugging
|
|
||||||
//wxPrintf(wxT("FaceName:%s\nSize:%i\nStyle:%i\n"), theFont.GetFaceName().c_str(), theFont.GetPointSize(),
|
|
||||||
//theFont.GetStyle());
|
|
||||||
|
|
||||||
//phew!! We're done - set the chosen font
|
//phew!! We're done - set the chosen font
|
||||||
theFontData.SetChosenFont(theFont);
|
theFontData.SetChosenFont(theFont);
|
||||||
((wxFontDialog*)pData)->SetData(theFontData);
|
((wxFontDialog*)pData)->SetData(theFontData);
|
||||||
|
Reference in New Issue
Block a user