Form.st
branchdelegated_gc
changeset 6754 e5fad431c0b8
parent 6492 891b3d38eb2c
child 6800 f4acb46ba42e
--- a/Form.st	Fri Dec 12 19:32:42 2014 +0100
+++ b/Form.st	Thu Jan 29 10:54:04 2015 +0100
@@ -9,12 +9,12 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-'From Smalltalk/X, Version:6.2.4.0 on 05-06-2014 at 17:46:55'                   !
+'From Smalltalk/X, Version:6.2.4.0 on 06-06-2014 at 09:26:41'                   !
 
 "{ Package: 'stx:libview' }"
 
 GraphicsMedium subclass:#Form
-	instanceVariableNames:'depth localColorMap offset data'
+	instanceVariableNames:'depth localColorMap offset data maskedPixelsAre0'
 	classVariableNames:'VeryLightGreyForm LightGreyForm GreyForm DarkGreyForm
 		VeryDarkGreyForm AdditionalBitmapDirectoryNames
 		BlackAndWhiteColorMap DitherPatternArray'
@@ -1079,6 +1079,14 @@
     "Created: 21.6.1996 / 12:52:42 / cg"
 !
 
+maskedPixelsAre0
+    ^ maskedPixelsAre0
+!
+
+maskedPixelsAre0:something
+    maskedPixelsAre0 := something.
+!
+
 photometric
     "for compatibility with Image class ..."
 
@@ -1377,6 +1385,19 @@
     ^ self
 !
 
+clearMaskedPixels:maskForm
+    "clear any masked pixels.
+     This will allow faster drawing in the future."
+
+    "black is 0 in mask - masked bits are 0"
+    gc
+        foreground:Color allColor background:Color noColor;
+        function:#and;
+        copyPlaneFrom:maskForm x:0 y:0 toX:0 y:0 width:width height:height.
+
+    maskedPixelsAre0 := true.
+!
+
 darkened
     "return a darkened version of the receiver.
      Added for protocol compatibility with Color and Image.
@@ -1629,6 +1650,7 @@
 
 initialize
     depth := 1.
+    maskedPixelsAre0 := false.
     super initialize.
 !
 
@@ -2009,7 +2031,7 @@
 !Form class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Form.st,v 1.150.2.3 2014-06-05 15:48:12 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Form.st,v 1.150.2.4 2015-01-29 09:54:04 stefan Exp $'
 ! !