Line.h

C:\home\SVGCats_src\src\Line.h

[目次 | 型・クラス・構造体 | マクロ]

目次

型・クラス・構造体一覧

マクロ一覧


   1|/**************************************************************************
   2|  1. <<< ライン (Line) >>> 
   3|***************************************************************************/
   4|
   5|#ifndef __LINE_H
   6|#define __LINE_H
   7|
   8|
   9| 
  10|/*************************************************************************
  11|  2. <<< モジュール設定・優先ヘッダ >>> 
  12|**************************************************************************/
  13|#ifndef USES_PRIORITY_HEADER
  14|/*[START_OF_PRIORITY_HEADER]*/
  15|
  16|#ifndef  USES_LINE
  17|#define  USES_LINE
  18|
  19|typedef  struct _Line  Line;
  20|
  21|#endif
  22|
  23|/*[END_OF_PRIORITY_HEADER]*/
  24|#endif
  25|
  26|/* 派生属性の設定 */
  27|#if defined(LINE_SOME)
  28|  #define  LINE_OTHER
  29|#endif
  30| 
  31|/*************************************************************************
  32|  3. <<< エラーコード, リターンコード >>> 
  33|**************************************************************************/
  34|
  35|#define  Line_Err_Some     0
  36|
  37| 
  38|/*--------------------------------------------------------------*/
  39|/*4. <<< Interface Area -------------------------------------- >>> */ 
  40|/*--------------------------------------------------------------*/
  41|
  42|#ifdef __cplusplus
  43|extern "C" {
  44|#endif
  45|
  46| 
  47|/**************************************************************************
  48|  5. <<< [Line] ライン(線分) >>> 
  49|***************************************************************************/
  50|struct  _Line {
  51|  int  x1, y1, x2, y2;
  52|};
  53|
  54|void  Line_init( Line* m, int x1, int y1, int x2, int y2 );
  55|void  Line_print( Line*, const char* title );
  56|
  57|int   Line_getDiff2FromPoint( Line* m, int x, int y );
  58|#ifdef  USES_RECT
  59|bool  Line_isCrossToRect( Line* m, Rect* r );
  60|#endif
  61|
  62|#define  Line_nHandle  2
  63|int   Line_getHitHandleNum( Line*, int x, int y, int zoom, int width, int* dx, int* dy, int* diff, int* arrow );
  64|void  Line_moveByHandle( Line*, int iHandle, int x, int y, bool bShift );
  65|void  Line_getCenterOfHandle( Line*, int iHandle, int* x, int* y );
  66|
  67| 
  68|#ifdef __cplusplus
  69|}
  70|#endif
  71|
  72|/*--------------------------------------------------------------*/
  73|/*6. <<< Mapping Area ---------------------------------------- >>> */ 
  74|/*--------------------------------------------------------------*/
  75|
  76| 
  77|#endif  /* __LINE_H */ 
  78| 
  79|