You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1023 B
47 lines
1023 B
require 'Qt'
|
|
|
|
class TQt::Point
|
|
def to_s
|
|
"(#{x}, #{y})"
|
|
end
|
|
end
|
|
|
|
$t = binding
|
|
def test(str)
|
|
puts "#{str.ljust 25} => #{eval(str, $t)}"
|
|
end
|
|
|
|
test("p1 = TQt::Point.new(5,5)")
|
|
test("p2 = TQt::Point.new(20,20)")
|
|
test("p1 + p2")
|
|
test("p1 - p2")
|
|
test("-p1 + p2")
|
|
test("p2 += p1")
|
|
test("p2 -= p1")
|
|
test("p2 * 3")
|
|
|
|
class TQt::Region
|
|
def to_s
|
|
"(#{isNull})"
|
|
end
|
|
end
|
|
|
|
test("r1 = TQt::Region.new()")
|
|
test("r2 = TQt::Region.new( 100,100,200,80, TQt::Region::Ellipse )")
|
|
test("r1 + r2")
|
|
|
|
class TQt::WMatrix
|
|
def to_s
|
|
"(#{m11}, #{m12}, #{m21}, #{m22}, #{dx}, #{dy})"
|
|
end
|
|
end
|
|
|
|
test("a = Math::PI/180 * 25") # convert 25 to radians
|
|
test("sina = Math.sin(a)")
|
|
test("cosa = Math.cos(a)")
|
|
test("m1 = TQt::WMatrix.new(1, 0, 0, 1, 10, -20)") # translation matrix
|
|
test("m2 = TQt::WMatrix.new( cosa, sina, -sina, cosa, 0, 0 )")
|
|
test("m3 = TQt::WMatrix.new(1.2, 0, 0, 0.7, 0, 0)") # scaling matrix
|
|
test("m = TQt::WMatrix.new")
|
|
test("m = m3 * m2 * m1") # combine all transformations
|