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|