| # Version: 1 |
| # CheckVsReference: 5% |
| |
| region_addRect clip 50 0 90 190 |
| region_addRect clip 0 50 180 90 |
| |
| region_addRect clip2 30 30 60 60 |
| |
| region_addRect clip3 10 10 60 60 |
| |
| path_cubicTo path 90 0 50 50 90 90 |
| path_cubicTo path 0 90 50 50 0 0 |
| |
| path_addRect path2 0 0 90 90 |
| path_moveTo path2 90 45 |
| path_arcTo path2 0 0 90 90 0 -360 |
| |
| path_addRect emptypath 0 0 0 0 |
| region_addRect emptyregion 0 0 0 0 |
| |
| # Normal clip rect |
| setClipRect 0 0 50 150 |
| begin_block repaint |
| save |
| setBrush red |
| setPen nopen |
| resetMatrix |
| region_getClipRegion tmpclip |
| path_getClipPath tmpclippath |
| drawRect 0 0 width height |
| setBrush #3f0000ff |
| setClipRegion tmpclip |
| drawRect 0 0 width height |
| setClipPath tmpclippath |
| setBrush #3f00ff00 |
| drawRect 0 0 width height |
| restore |
| end_block |
| |
| # Rotated clip rect |
| translate 100 0 |
| rotate 10 |
| setClipRect 0 0 50 150 |
| repeat_block repaint |
| |
| # simple clip region |
| resetMatrix |
| translate 0 200 |
| setClipRegion clip |
| repeat_block repaint |
| |
| # simle rotated clip region |
| translate 250 -10 |
| rotate 10 |
| setClipRegion clip |
| repeat_block repaint |
| |
| # verify that clip is not xformed with painter |
| resetMatrix |
| translate 200 0 |
| setClipRegion clip |
| rotate 30 |
| setBrush red |
| setPen nopen |
| drawRect 0 0 width height |
| |
| resetMatrix |
| translate 0 400 |
| save |
| setClipRegion clip |
| setClipRegion clip2 IntersectClip |
| repeat_block repaint |
| translate 0 100 |
| rotate 10 |
| setClipRegion clip |
| setClipRegion clip2 IntersectClip |
| restore |
| |
| translate 100 0 |
| save |
| setClipRegion clip3 |
| setClipRegion clip2 UniteClip |
| repeat_block repaint |
| translate 0 100 |
| rotate 10 |
| setClipRegion clip3 |
| setClipRegion clip2 UniteClip |
| repeat_block repaint |
| restore |
| |
| translate 100 0 |
| save |
| setClipPath path |
| repeat_block repaint |
| translate 50 100 |
| rotate 45 |
| setClipPath path |
| repeat_block repaint |
| restore |
| |
| translate 100 0 |
| save |
| setClipPath path |
| setClipPath path2 IntersectClip |
| repeat_block repaint |
| translate 0 100 |
| rotate 10 |
| setClipPath path |
| setClipPath path2 IntersectClip |
| repeat_block repaint |
| restore |
| |
| translate 100 0 |
| save |
| setClipPath path |
| setClipPath path2 UniteClip |
| repeat_block repaint |
| translate 0 100 |
| rotate 10 |
| setClipPath path |
| setClipPath path2 UniteClip |
| repeat_block repaint |
| restore |
| |
| translate 100 0 |
| save |
| setClipPath path |
| setClipRegion clip3 IntersectClip |
| repeat_block repaint |
| translate 0 100 |
| rotate 10 |
| setClipRegion clip3 |
| setClipPath path IntersectClip |
| repeat_block repaint |
| restore |
| |
| translate 100 0 |
| save |
| setClipPath path |
| setClipRegion clip3 UniteClip |
| repeat_block repaint |
| translate 0 100 |
| rotate 10 |
| setClipRegion clip3 |
| setClipPath path UniteClip |
| repeat_block repaint |
| restore |
| |
| # test that an empty region is not drawn. |
| resetMatrix |
| setClipRegion emptyregion |
| setBrush #3f00ff00 |
| drawRect 0 0 300 300 |
| drawText 50 50 "Text should be clipped away by region" |
| setClipping false |
| |
| setClipPath emptypath |
| setBrush #3fffff00 |
| drawRect 50 50 300 300 |
| drawText 70 80 "Text should be clipped away by path" |
| |
| # Test that we can extract a clipregion when a matrix is set too |
| resetMatrix |
| translate 500 10 |
| scale 2 1 |
| setBrush blue |
| setClipping false |
| rotate 5 |
| drawRect 0 0 100 100 |
| setClipRect 0 0 100 100 |
| resetMatrix |
| rotate 10 |
| region_getClipRegion xclip |
| setClipRegion xclip |
| resetMatrix |
| setBrush #7f00ff00 |
| drawRect 0 0 width height |
| |
| # the below used to assert in debug mode |
| setClipRect 10 10 20 20 |
| setClipping false |
| setClipping true |