-
- ATSUAttributeValuePtr atsuValues[sizeof(atsuTags)/sizeof(ATSUAttributeTag)] =
- {
- &atsuFont ,
- &atsuSize ,
- &MAC_WXCOLORREF( m_textForegroundColour.GetPixel() ) ,
-
- (qdStyle & bold) ? &kTrue : &kFalse ,
- (qdStyle & italic) ? &kTrue : &kFalse ,
- (qdStyle & underline) ? &kTrue : &kFalse ,
- (qdStyle & condense) ? &kTrue : &kFalse ,
- (qdStyle & extend) ? &kTrue : &kFalse ,
- } ;
-
- status = ::ATSUSetAttributes((ATSUStyle)m_macATSUIStyle, sizeof(atsuTags)/sizeof(ATSUAttributeTag),
- atsuTags, atsuSizes, atsuValues);
- wxASSERT_MSG( status == noErr , "couldn't set create ATSU style" ) ;
-
-}
-
-static void wxMacGetHatchPattern(int hatchStyle, Pattern *pattern)
-{
- // we have our own pattern list now
- int thePatListID = 128;
- int theIndex;
- switch(hatchStyle)
- {
- case wxBDIAGONAL_HATCH:
- theIndex = 2;
- break;
- case wxFDIAGONAL_HATCH:
- theIndex = 3;
- break;
- case wxCROSS_HATCH:
- theIndex = 4;
- break;
- case wxHORIZONTAL_HATCH:
- theIndex = 5;
- break;
- case wxVERTICAL_HATCH:
- theIndex = 6;
- break;
- case wxCROSSDIAG_HATCH:
- theIndex = 7;
- break;
- default:
- theIndex = 1; // solid pattern
- break;
- }
- GetIndPattern( pattern, thePatListID, theIndex);
+ //BslnBaselineClass kBaselineDefault = kBSLNHangingBaseline ;
+ ATSUVerticalCharacterType kHorizontal = kATSUStronglyHorizontal;
+ ATSUAttributeValuePtr atsuValues[sizeof(atsuTags)/sizeof(ATSUAttributeTag)] =
+ {
+ &atsuFont ,
+ &atsuSize ,
+ // &MAC_WXCOLORREF( m_textForegroundColour.GetPixel() ) ,
+ // &kBaselineDefault ,
+ &kHorizontal,
+ (qdStyle & bold) ? &kTrue : &kFalse ,
+ (qdStyle & italic) ? &kTrue : &kFalse ,
+ (qdStyle & underline) ? &kTrue : &kFalse ,
+ (qdStyle & condense) ? &kTrue : &kFalse ,
+ (qdStyle & extend) ? &kTrue : &kFalse ,
+ } ;
+ status = ::ATSUSetAttributes((ATSUStyle)m_macATSUIStyle, sizeof(atsuTags)/sizeof(ATSUAttributeTag) ,
+ atsuTags, atsuSizes, atsuValues);
+ wxASSERT_MSG( status == noErr , wxT("couldn't set create ATSU style") ) ;
+}
+
+Pattern gPatterns[] =
+{ // hatch patterns
+ { { 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF } } ,
+ { { 0x01 , 0x02 , 0x04 , 0x08 , 0x10 , 0x20 , 0x40 , 0x80 } } ,
+ { { 0x80 , 0x40 , 0x20 , 0x10 , 0x08 , 0x04 , 0x02 , 0x01 } } ,
+ { { 0x10 , 0x10 , 0x10 , 0xFF , 0x10 , 0x10 , 0x10 , 0x10 } } ,
+ { { 0x00 , 0x00 , 0x00 , 0xFF , 0x00 , 0x00 , 0x00 , 0x00 } } ,
+ { { 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 } } ,
+ { { 0x81 , 0x42 , 0x24 , 0x18 , 0x18 , 0x24 , 0x42 , 0x81 } } ,
+ // dash patterns
+ { { 0xCC , 0x99 , 0x33 , 0x66 , 0xCC , 0x99 , 0x33 , 0x66 } } , // DOT
+ { { 0xFE , 0xFD , 0xFB , 0xF7 , 0xEF , 0xDF , 0xBF , 0x7F } } , // LONG_DASH
+ { { 0xEE , 0xDD , 0xBB , 0x77 , 0xEE , 0xDD , 0xBB , 0x77 } } , // SHORT_DASH
+ { { 0xDE , 0xBD , 0x7B , 0xF6 , 0xED , 0xDB , 0xB7 , 0x6F } } , // DOT_DASH
+} ;
+
+static void wxMacGetPattern(int penStyle, Pattern *pattern)
+{
+ int index = 0; // solid pattern by default
+ switch(penStyle)
+ {
+ // hatches
+ case wxBDIAGONAL_HATCH: index = 1; break;
+ case wxFDIAGONAL_HATCH: index = 2; break;
+ case wxCROSS_HATCH: index = 3; break;
+ case wxHORIZONTAL_HATCH: index = 4; break;
+ case wxVERTICAL_HATCH: index = 5; break;
+ case wxCROSSDIAG_HATCH: index = 6; break;
+ // dashes
+ case wxDOT: index = 7; break;
+ case wxLONG_DASH: index = 8; break;
+ case wxSHORT_DASH: index = 9; break;
+ case wxDOT_DASH: index = 10; break;
+ }
+ *pattern = gPatterns[index];