tests/arthur/data/qps/clipping.qps
author Alex Gilkes <alex.gilkes@nokia.com>
Mon, 11 Jan 2010 14:00:40 +0000
changeset 0 1918ee327afb
permissions -rw-r--r--
Revision: 200952

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