]> gitweb.factorcode.org Git - factor.git/commitdiff
Another render test fix; more fuzz
authorU-SLAVA-DFB8FF805\Slava <Slava@slava-dfb8ff805.(none)>
Wed, 19 Nov 2008 02:51:45 +0000 (20:51 -0600)
committerU-SLAVA-DFB8FF805\Slava <Slava@slava-dfb8ff805.(none)>
Wed, 19 Nov 2008 02:51:45 +0000 (20:51 -0600)
extra/ui/render/test/test.factor

index 484d255b72adc65e72a68b2f121b78bbc11e085e..0493b83fd3049d03a7359539a2e9edf4ad423ccd 100755 (executable)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors colors arrays kernel sequences math byte-arrays
-namespaces cap graphics.bitmap
+namespaces grouping fry cap graphics.bitmap
 ui.gadgets ui.gadgets.packs ui.gadgets.borders ui.gadgets.grids
 ui.gadgets.grid-lines ui.gadgets.labels ui.gadgets.buttons
 ui.render ui opengl opengl.gl ;
@@ -20,18 +20,26 @@ M: line-test draw-interior
 : message-window ( text -- )
     <label> "Message" open-window ;
 
+SYMBOL: render-output
+
 : twiddle ( bytes -- bytes )
     #! On Windows, white is { 253 253 253 } ?
-    [ dup 253 = [ 2 + ] when ] map ;
+    [ 10 /i ] map ;
 
-SYMBOL: render-output
+: stride ( bitmap -- n ) width>> 3 * ;
+
+: bitmap= ( bitmap1 bitmap2 -- ? )
+    [
+        [ [ array>> ] [ stride 4 align ] bi group ] [ stride ] bi
+        '[ _ head twiddle ] map
+    ] bi@ = ;
 
 : check-rendering ( gadget -- )
-    screenshot [ twiddle ] change-array
+    screenshot
     [ render-output set-global ]
     [
         "resource:extra/ui/render/test/reference.bmp" load-bitmap
-        [ array>> ] bi@ = "perfect" "needs work" ?
+        bitmap= "perfect" "needs work" ?
         "Your UI rendering is " prepend
         message-window
     ] bi ;