DRAW2.H
[目次 | 型・クラス・構造体 | マクロ]
1|/**************************************************************************
2| 1. <<< 描画アルゴリズム (Draw2) >>>
3|***************************************************************************/
4|
5|#ifndef __DRAW2_H
6|#define __DRAW2_H
7|
8|
9|/*************************************************************************
10| 2. <<< モジュール設定・優先ヘッダ >>>
11|**************************************************************************/
12|#ifndef USES_PRIORITY_HEADER
13|/*[START_OF_PRIORITY_HEADER]*/
14|
15|#ifndef USES_DRAW2
16|#define USES_DRAW2
17|
18|#endif
19|
20|/*[END_OF_PRIORITY_HEADER]*/
21|#endif
22|
23|/* 派生属性の設定 */
24|#if defined(DRAW2_SOME)
25| #define DRAW2_OTHER
26|#endif
27|
28|/*************************************************************************
29| 3. <<< エラーコード, リターンコード >>>
30|**************************************************************************/
31|
32|#define Draw2_Err_Some 0
33|
34|
35|/*--------------------------------------------------------------*/
36|/*4. <<< Interface Area -------------------------------------- >>> */
37|/*--------------------------------------------------------------*/
38|
39|#ifdef __cplusplus
40|extern "C" {
41|#endif
42|
43|
44|/***********************************************************************
45| 5. <<< [Draw2_psetCirF] 円を描画するときのコールバック関数型 >>>
46|【引数】
47| ・void* obj; Draw2_circle の第1引数
48| ・int cx, cy; 円の中心座標
49| ・int d1, d2; 弧上の点の座標を求めるパラメータ(→補足)
50|【補足】
51|・弧上の点が求まるたびにコールバックされます。
52|・円(Draw2_circle)の場合、1回のコールバックで、次の8点を描画します。
53| 右下(cx+d2, cy+d1), 右上(cx+d2, cy-d1), 下右(cx+d1, cy+d2), 下左(cx-d1, cy+d2)
54| 左下(cx-d2, cy+d1), 左上(cx-d2, cx-d1), 上右(cx+d1, cx-d2), 上左(cx-d1, cx-d2)
55| d1 は必ず +1 されます。
56|・楕円(Draw2_ellipse)の場合、1回のコールバックで、次の4点を描画します。
57| 右下(cx+d1, cy+d2), 左下(cx-d1, cy+d2)
58| 右上(cx+d1, cx-d2), 左上(cx-d1, cx-d2)
59|・コールバック関数は、円と楕円で共有することができません。
60|・参考:Screen16_psetForCircle, Screen16_psetForEllipse
61|************************************************************************/
62|typedef void Draw2_psetCirF( void* obj, int cx, int cy, int d1, int d2 );
63|
64|
65|
66|/**************************************************************************
67| 6. <<< [Draw2] 描画アルゴリズム >>>
68|***************************************************************************/
69|
70|void Draw2_circle( void* obj, Draw2_psetCirF obj_pset8, int cx, int cy, int r );
71|void Draw2_ellipse( void* obj, Draw2_psetCirF obj_pset4, int cx, int cy,
72| int a, int b );
73|
74|#ifdef __cplusplus
75|}
76|#endif
77|
78|/*--------------------------------------------------------------*/
79|/*7. <<< Mapping Area ---------------------------------------- >>> */
80|/*--------------------------------------------------------------*/
81|
82|
83|#endif /* __DRAW2_H */
84|
85|