wumpus-core-0.36.0: demo/AffineTest03.hs
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS -Wall #-}
--------------------------------------------------------------------------------
-- TRANSLATE tests
--------------------------------------------------------------------------------
module AffineTest03 where
import AffineTestBase
import Wumpus.Core
main :: IO ()
main = runAlgs [ text_ata, circle_ata, ellipse_ata, path_ata ]
[ circle_cpa, ellipse_cpa, path_cpa ]
translate_20x40 :: (Translate t, Fractional u, u ~ DUnit t) => t -> t
translate_20x40 = translate 20.0 40.0
translate_20x40P :: Fractional u => Primitive u -> Primitive u
translate_20x40P = translate 20.0 40.0
-- Primitive - Text
text_ata :: AffineTrafoAlg
text_ata = AffineTrafoAlg
{ ata_console_msg = "Translate text..."
, ata_eps_file = "./out/affine_test/trans_text.eps"
, ata_svg_file = "./out/affine_test/trans_text.svg"
, ata_prim_constructor = rgbLabel
, ata_pic_transformer = translate_20x40
, ata_prim_transformer = translate_20x40P
}
circle_ata :: AffineTrafoAlg
circle_ata = AffineTrafoAlg
{ ata_console_msg = "Translate circle..."
, ata_eps_file = "./out/affine_test/trans_circle.eps"
, ata_svg_file = "./out/affine_test/trans_circle.svg"
, ata_prim_constructor = rgbCircle
, ata_pic_transformer = translate_20x40
, ata_prim_transformer = translate_20x40P
}
ellipse_ata :: AffineTrafoAlg
ellipse_ata = AffineTrafoAlg
{ ata_console_msg = "Translate ellipse..."
, ata_eps_file = "./out/affine_test/trans_ellipse.eps"
, ata_svg_file = "./out/affine_test/trans_ellipse.svg"
, ata_prim_constructor = rgbEllipse
, ata_pic_transformer = translate_20x40
, ata_prim_transformer = translate_20x40P
}
path_ata :: AffineTrafoAlg
path_ata = AffineTrafoAlg
{ ata_console_msg = "Translate path..."
, ata_eps_file = "./out/affine_test/trans_path.eps"
, ata_svg_file = "./out/affine_test/trans_path.svg"
, ata_prim_constructor = rgbPath
, ata_pic_transformer = translate_20x40
, ata_prim_transformer = translate_20x40P
}
--------------------
--------------------
circle_cpa :: ControlPointAlg
circle_cpa = ControlPointAlg
{ cpa_console_msg = "Translate circle (control points) ..."
, cpa_eps_file = "./out/affine_test/trans_crc_cp.eps"
, cpa_svg_file = "./out/affine_test/trans_crc_cp.svg"
, cpa_prim_constructor = rgbCircle
, cpa_prim_transformer = translate_20x40P
}
ellipse_cpa :: ControlPointAlg
ellipse_cpa = ControlPointAlg
{ cpa_console_msg = "Translate ellipse (control points) ..."
, cpa_eps_file = "./out/affine_test/trans_ell_cp.eps"
, cpa_svg_file = "./out/affine_test/trans_ell_cp.svg"
, cpa_prim_constructor = rgbEllipse
, cpa_prim_transformer = translate_20x40P
}
path_cpa :: ControlPointAlg
path_cpa = ControlPointAlg
{ cpa_console_msg = "Translate path (control points)..."
, cpa_eps_file = "./out/affine_test/trans_path_cp.eps"
, cpa_svg_file = "./out/affine_test/trans_path_cp.svg"
, cpa_prim_constructor = rgbPath
, cpa_prim_transformer = translate_20x40P
}