-------------------------------------------------------------
| 827 | |
| 828 | //------------------------------------------------------------- |
| 829 | unsigned parser::parse_rotate(const char* str) |
| 830 | { |
| 831 | double args[3]; |
| 832 | unsigned na = 0; |
| 833 | unsigned len = parse_transform_args(str, args, 3, &na); |
| 834 | if(na == 1) |
| 835 | { |
| 836 | m_path.transform().premultiply(trans_affine_rotation(deg2rad(args[0]))); |
| 837 | } |
| 838 | else if(na == 3) |
| 839 | { |
| 840 | trans_affine t = trans_affine_translation(-args[1], -args[2]); |
| 841 | t *= trans_affine_rotation(deg2rad(args[0])); |
| 842 | t *= trans_affine_translation(args[1], args[2]); |
| 843 | m_path.transform().premultiply(t); |
| 844 | } |
| 845 | else |
| 846 | { |
| 847 | throw exception("parse_rotate: Invalid number of arguments"); |
| 848 | } |
| 849 | return len; |
| 850 | } |
| 851 | |
| 852 | //------------------------------------------------------------- |
| 853 | unsigned parser::parse_scale(const char* str) |
nothing calls this directly
no test coverage detected