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|