File: test02-canvas2d.dats

package info (click to toggle)
ats2-lang 0.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 40,064 kB
  • sloc: ansic: 389,637; makefile: 7,123; lisp: 812; sh: 657; php: 573; python: 387; perl: 365
file content (89 lines) | stat: -rw-r--r-- 1,286 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
(*
** Author: Hongwei Xi
** Authoremail: gmhwxiATgmailDOTcom
** Start time: October, 2013
*)

(* ****** ****** *)
//
#include
"share/atspre_define.hats"
#include
"share/atspre_staload.hats"
//
(* ****** ****** *)
//
#define MYDRAW_CANVAS2D
//
#include "./../mylibies.hats"
//
#staload $MYDRAW
#staload $MYDRAW_canvas2d
//
#include "./../DATS/mydraw.dats"
#include "./../DATS/mydraw_HTML5_canvas2d.dats"
//
(* ****** ****** *)
//
#include "./test02.dats"
//
(* ****** ****** *)

val W = 450.0 and H = 450.0

(* ****** ****** *)

implement
main0() =
{
//
val id =
  "CheckerBoard"
//
val M = 8 and N = 8
//
val
ctx =
canvas2d_make(id)
val
p_ctx = ptrcast(ctx)
//
val () = assertloc(p_ctx > 0)
//
val WH = min(W, H)
//
val p0 = point_make(0.0, 0.0)
//
val (pf0 | ()) = canvas2d_save(ctx)
//
val () = canvas2d_scale(ctx, 1.0*W/N, 1.0*H/M)
//
implement
mydraw_get0_canvas2d<>() = let
//
extern
castfn
__cast
{l:addr}
(ptr(l)): vttakeout(void, canvas2d(l))
//
in
  __cast(p_ctx)
end // end of [mydraw_get0_canvas2d]
//
val
clr1 = color_make(0.8, 0.8, 0.8)
val
clr2 = color_make(0.0, 0.0, 0.0)
//
val () = draw_mrow(p0, clr1, clr2, M, N)
//
val () = canvas2d_restore(pf0 | ctx)
//
val () = canvas2d_free(ctx)
//
} (* end of [main0] *)

(* ****** ****** *)

(* end of [test02-canvas2d.dats] *)