Author: hdu Date: Tue Feb 26 17:21:18 2013 New Revision: 1450288 URL: http://svn.apache.org/r1450288 Log: fix the A11Y text attribute color in Aqua
Using the SalColor->CGFloat[] helper gets more of VCL into the scope which causes conflicting declarations between css::awt and vcl-classic font attributes so their namespace must be explicitly qualified Modified: openoffice/trunk/main/vcl/aqua/source/a11y/aqua11ytextattributeswrapper.mm Modified: openoffice/trunk/main/vcl/aqua/source/a11y/aqua11ytextattributeswrapper.mm URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/a11y/aqua11ytextattributeswrapper.mm?rev=1450288&r1=1450287&r2=1450288&view=diff ============================================================================== --- openoffice/trunk/main/vcl/aqua/source/a11y/aqua11ytextattributeswrapper.mm (original) +++ openoffice/trunk/main/vcl/aqua/source/a11y/aqua11ytextattributeswrapper.mm Tue Feb 26 17:21:18 2013 @@ -25,6 +25,7 @@ #include "precompiled_vcl.hxx" #include "aqua/salinst.h" +#include "aqua/salgdi.h" #include "aqua11ytextattributeswrapper.h" @@ -33,8 +34,8 @@ #include <com/sun/star/awt/FontWeight.hpp> #include <com/sun/star/awt/FontStrikeout.hpp> +namespace css_awt = ::com::sun::star::awt; using namespace ::com::sun::star::accessibility; -using namespace ::com::sun::star::awt; using namespace ::com::sun::star::beans; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::uno; @@ -46,8 +47,8 @@ using namespace ::rtl; int underlineStyle = NSNoUnderlineStyle; sal_Int16 value = 0; property.Value >>= value; - if ( value != FontUnderline::NONE - && value != FontUnderline::DONTKNOW) { + if ( value != ::css_awt::FontUnderline::NONE + && value != ::css_awt::FontUnderline::DONTKNOW) { underlineStyle = NSSingleUnderlineStyle; } return underlineStyle; @@ -57,10 +58,10 @@ using namespace ::rtl; int boldStyle = 0; float value = 0; property.Value >>= value; - if ( value == FontWeight::SEMIBOLD - || value == FontWeight::BOLD - || value == FontWeight::ULTRABOLD - || value == FontWeight::BLACK ) { + if ( value == ::css_awt::FontWeight::SEMIBOLD + || value == ::css_awt::FontWeight::BOLD + || value == ::css_awt::FontWeight::ULTRABOLD + || value == ::css_awt::FontWeight::BLACK ) { boldStyle = NSBoldFontMask; } return boldStyle; @@ -68,8 +69,8 @@ using namespace ::rtl; +(int)convertItalicStyle:(PropertyValue)property { int italicStyle = 0; - sal_Int16 value = property.Value.get<FontSlant>(); - if ( value == FontSlant_ITALIC ) { + sal_Int16 value = property.Value.get<::css_awt::FontSlant>(); + if ( value == ::css_awt::FontSlant_ITALIC ) { italicStyle = NSItalicFontMask; } return italicStyle; @@ -79,8 +80,8 @@ using namespace ::rtl; BOOL strikethrough = NO; sal_Int16 value = 0; property.Value >>= value; - if ( value != FontStrikeout::NONE - && value != FontStrikeout::DONTKNOW ) { + if ( value != ::css_awt::FontStrikeout::NONE + && value != ::css_awt::FontStrikeout::DONTKNOW ) { strikethrough = YES; } return strikethrough; @@ -102,13 +103,13 @@ using namespace ::rtl; return [ NSNumber numberWithShort: value ]; } -+(void)addColor:(sal_Int32)salColor forAttribute:(NSString *)attribute andRange:(NSRange)range toString:(NSMutableAttributedString *)string { - if ( salColor != -1 ) { - float elements[] = { salColor & 0x00ff0000, salColor & 0x0000ff00, salColor & 0x000000ff }; - CGColorRef color = CGColorCreate ( CGColorSpaceCreateWithName ( kCGColorSpaceGenericRGB ), elements ); - [ string addAttribute: attribute value: (id) color range: range ]; - CGColorRelease ( color ); - } ++(void)addColor:(SalColor)nSalColor forAttribute:(NSString *)attribute andRange:(NSRange)range toString:(NSMutableAttributedString *)string { + if( nSalColor == COL_TRANSPARENT ) + return; + const RGBAColor aRGBAColor( nSalColor); + CGColorRef aColorRef = CGColorCreate ( CGColorSpaceCreateWithName ( kCGColorSpaceGenericRGB ), aRGBAColor.AsArray() ); + [ string addAttribute: attribute value: (id) aColorRef range: range ]; + CGColorRelease( aColorRef ); } +(void)addFont:(NSFont *)font toString:(NSMutableAttributedString *)string forRange:(NSRange)range {