You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by hd...@apache.org on 2013/02/26 18:21:18 UTC

svn commit: r1450288 - /openoffice/trunk/main/vcl/aqua/source/a11y/aqua11ytextattributeswrapper.mm

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 {