XWorkstation.st
branchjv
changeset 7036 530b3e1c64c3
parent 7029 d7a5384357a9
parent 7022 f4531f98fd46
child 7096 fc68855276c5
--- a/XWorkstation.st	Sun Oct 11 08:27:36 2015 +0100
+++ b/XWorkstation.st	Sun Oct 11 10:26:49 2015 +0100
@@ -1660,7 +1660,21 @@
 
     "
      Display supportsXFTFonts
-    "
+     Display hasRenderExtension
+     Display hasXftLibrary
+    "
+!
+
+suppressShadowViews
+    "return true, if this device wants to suppress shadow views
+     (i.e. shadows under popups and modalBoxes).
+     Some (slow) devices may want to return true here.
+     Also, XQuartz does not work..."
+
+    OperatingSystem isOSXlike ifTrue:[
+        ^ true
+    ].
+    ^ super suppressShadowViews
 !
 
 usableHeightAt:aPoint
@@ -2342,6 +2356,9 @@
 !
 
 destroyView:aViewOrNil withId:aWindowId
+    XftFontDescription notNil ifTrue:[
+        XftFontDescription aboutToDestroyViewWithDevice:self id:aWindowId.
+    ].
     self primDestroyViewWithId:aWindowId.
     self removeKnownView:aViewOrNil withId:aWindowId.
 !
@@ -7501,8 +7518,8 @@
 !
 
 getFontWithFoundry:foundry family:family weight:weight
-	      slant:slant spacing:spc pixelSize:pSize size:size
-	      encoding:encoding
+              slant:slant spacing:spc pixelSize:pSize size:size
+              encoding:encoding
 
     "get the specified font, if not available, return nil.
      Individual attributes can be left empty (i.e. '') or nil to match any.
@@ -7523,64 +7540,64 @@
 
     "this works only on 'Release >= 3' - X-servers"
     "name is:
-	-foundry-family    -weight -slant-
-	 sony    helvetica bold     r
-	 adobe   courier   medium   i
-	 msic    fixed              o
-	 ...     ...
+        -foundry-family    -weight -slant-
+         sony    helvetica bold     r
+         adobe   courier   medium   i
+         msic    fixed              o
+         ...     ...
     "
 
     size isNil ifTrue:[
-	sizeMatch := '*'
+        sizeMatch := '*'
     ] ifFalse:[
-	sizeMatch := size printString , '0'
+        sizeMatch := size printString , '0'
     ].
     foundry isNil ifTrue:[
-	foundryMatch := '*'
+        foundryMatch := '*'
     ] ifFalse:[
-	foundryMatch := foundry
+        foundryMatch := foundry
     ].
     family isNil ifTrue:[
-	familyMatch := '*'
+        familyMatch := '*'
     ] ifFalse:[
-	familyMatch := family
+        familyMatch := family
     ].
     weight isNil ifTrue:[
-	weightMatch := '*'
+        weightMatch := '*'
     ] ifFalse:[
-	weightMatch := weight
+        weightMatch := weight
     ].
     slant isNil ifTrue:[
-	slantMatch := '*'
+        slantMatch := '*'
     ] ifFalse:[
-	slantMatch := slant
+        slantMatch := slant
     ].
     spc isNil ifTrue:[
-	spcMatch := '*'
+        spcMatch := '*'
     ] ifFalse:[
-	spcMatch := spc
+        spcMatch := spc
     ].
     pSize isNil ifTrue:[
-	pSizeMatch := '*'
+        pSizeMatch := '*'
     ] ifFalse:[
-	pSizeMatch := pSize printString
+        pSizeMatch := pSize printString
     ].
     encoding isNil ifTrue:[
-	encodingMatch := '*'
+        encodingMatch := '*'
     ] ifFalse:[
-	encodingMatch := encoding
+        encodingMatch := encoding
     ].
 
     theName := ('-' , foundryMatch,
-		'-' , familyMatch,
-		'-' , weightMatch ,
-		'-' , slantMatch ,
-		'-' , spcMatch ,
-		'-*' ,
-		'-' , pSizeMatch ,
-		'-' , sizeMatch ,
-		'-*-*-*-*' ,
-		'-' , encodingMatch).
+                '-' , familyMatch,
+                '-' , weightMatch ,
+                '-' , slantMatch ,
+                '-' , spcMatch ,
+                '-*' ,
+                '-' , pSizeMatch ,
+                '-' , sizeMatch ,
+                '-*-*-*-*' ,
+                '-' , encodingMatch).
 
 "/  Transcript showCR:theName; endEntry.
 
@@ -7589,24 +7606,24 @@
 
     "
      Display
-	getFontWithFoundry:'*'
-	family:'courier'
-	weight:'medium'
-	slant:'r'
-	spacing:nil
-	pixelSize:nil
-	size:13
-	encoding:#'iso8859-1'.
+        getFontWithFoundry:'*'
+        family:'courier'
+        weight:'medium'
+        slant:'r'
+        spacing:nil
+        pixelSize:nil
+        size:13
+        encoding:#'iso8859-1'.
 
      Display
-	getFontWithFoundry:'*'
-	family:'courier'
-	weight:'medium'
-	slant:'r'
-	spacing:nil
-	pixelSize:nil
-	size:13
-	encoding:#'iso10646-1'
+        getFontWithFoundry:'*'
+        family:'courier'
+        weight:'medium'
+        slant:'r'
+        spacing:nil
+        pixelSize:nil
+        size:13
+        encoding:#'iso10646-1'
     "
 
     "Modified: 10.4.1997 / 19:15:44 / cg"