C:\home\SVGCats_src\src\poly.hpp
1|/*********************************************************************** 2| 1. <<< 多角形・連続線 (Poly) >>> 3|************************************************************************/ 4| 5|#ifndef __POLY_HPP 6|#define __POLY_HPP 7| 8| 9|/*-----------------------------------------------------------------*/ 10|/* 2. <<< Interface Area ---------------------------------------- >>> */ 11|/*-----------------------------------------------------------------*/ 12| 13|/*********************************************************************** 14| 3. <<< [Polygon_Ex] 多角形・連続線 >>> 15|************************************************************************/ 16|class Polygon_Ex : public CadPrim { 17|public: 18| int m_id; 19| bool m_bInUndoBuf; 20| bool m_bHold; 21| bool m_bSelected; 22| CString m_URL; /* ""=リンクしない */ 23| CString m_Target; /* リンクターゲット、"" でターゲットなし、_blank で新規ウィンドウ */ 24| CString m_IdLabel; 25| 26| int m_NPoint; /* 頂点数 */ 27| POINT* m_Points; /* 頂点座標の配列 */ 28| int m_RotateDegree; 29| 30| int m_BorderWidth; 31| int m_BorderColor; 32| int m_FillColor; 33| int m_NTrans; /* 非透過率 0〜100 */ 34| int m_HatchType; 35| int m_Type; /* 0=多角形, 1=連続線 */ 36| 37| CString m_ImgPath; 38| bool m_bNeedReadImgProp; /* m_ImgWidth などを元画像から取得する必要があるかどうか */ 39| int m_ImgWidth; 40| int m_ImgHeight; 41| 42| Polygon_Ex(); 43| ~Polygon_Ex(); 44| 45| void print( const char* title ); 46| int GetID(); 47| void SetID( int id ); 48| int GetTypeID(); 49| char* GetTypeNameJp(); 50| char* GetTypeNameEn(); 51| void SetBInUndoBuf( bool b ); 52| char* GetLinkURL(); 53| char* GetIdLabel(); 54| 55| void OutSVG( CadPrim_SaveParam* p ); 56| void Draw( CDC*, CadPrim_DrawParam* p ); 57| void DrawHandles( CDC*, CadPrim_DrawParam* p, COLORREF color, bool bDrawFrame ); 58| void copy( CadPrim*, ListX* prims ); 59| void copyStyle( CadPrim*, ListX* prims ); 60| bool isEqual( CadPrim* ); 61| CadPrim* GetNewCopy( ListX* prims ); 62| int GetSerializedSize(); 63| void CopyToSerial( void* a ); 64| void CopyFromSerial( void* a ); 65| 66| int GetHitHandleNum( int x, int y, int zoom, int mode, int* dx, int* dy, int* diff, int* arrow ); 67| void Move( int dx, int dy ); 68| void MoveByHandle( int iHandle, int x, int y, bool bShift, bool bRotate ); 69| void GetCenterOfHandle( int iHandle, int* x, int* y ); 70| void SetHold( bool ); 71| bool GetHold(); 72| bool IsHoldable(); 73| void SetSelected( bool ); 74| bool GetSelected(); 75| bool IsMultiSelect( Rect* rect ); 76| int GetForAlign( int iPos ); 77| void SetForAlign( int iPos, int value ); 78| int GetForFitSize( int iAttr ); 79| void SetForFitSize( int iAttr, int value ); 80| void OnCreated(); 81| 82| int GetNProp(); 83| int GetProp( int iProp, bool bJapanese, char* name, int name_size, char* value, int value_size, 84| const char* path, void** option ); 85| void SetProp( int iProp, const char* value, const char* path ); 86| bool IsNeedUnicode(); 87|}; 88| 89|#define Polygon_Ex_TypeID 4 90| 91| 92| 93|/*-----------------------------------------------------------------*/ 94|/* 4. <<< Mapping Area ------------------------------------------ >>> */ 95|/*-----------------------------------------------------------------*/ 96| 97| 98|#endif 99| 100|