C:\home\SVGCats_src\src\Ink.hpp
1|/*********************************************************************** 2| 1. <<< 簡易デジタルインク (Ink) >>> 3|【補足】 4|・Microsoft Tablet PC SDK は利用していません。 5|・LMouseDown イベントでは、システムに一瞬ウェイトがかかり、うまく描けないため、 6| SVG Cats では使われていません。 7|************************************************************************/ 8| 9|#ifndef __INK_HPP 10|#define __INK_HPP 11| 12| 13|#if 0 /* Disable Ink */ 14| 15|#ifndef USES_PRIORITY_HEADER 16|/*[START_OF_PRIORITY_HEADER]*/ 17| 18|#ifndef USES_INK 19|#define USES_INK 20| 21|#endif 22| 23|/*[END_OF_PRIORITY_HEADER]*/ 24|#endif 25| 26|#endif 27| 28|/*-----------------------------------------------------------------*/ 29|/* 2. <<< Interface Area ---------------------------------------- >>> */ 30|/*-----------------------------------------------------------------*/ 31| 32|/*********************************************************************** 33| 3. <<< [Ink_Point] 簡易デジタルインク、線の通過点 >>> 34|************************************************************************/ 35|typedef struct _Ink_Point { 36| ListX_Elem inherit_ListX_Elem; 37| int x; 38| int y; 39|} Ink_Point; 40| 41|/*********************************************************************** 42| 4. <<< [Ink_Line] 簡易デジタルインク、線 >>> 43|【補足】 44|・Microsoft Tablet PC SDK は利用していません。 45|・LMouseDown イベントでは、システムに一瞬ウェイトがかかり、うまく描けないため、 46| SVG Cats では使われていません。 47|************************************************************************/ 48|#ifdef USES_INK 49| 50|class Ink_Line : public CadPrim { 51|public: 52| int m_id; 53| bool m_bInUndoBuf; 54| bool m_bHold; 55| bool m_bSelected; 56| 57| ListX m_Points; /* 通過点の集合, InkPoint 型 */ 58| int m_ScratchX; 59| int m_ScratchY; 60| 61| Ink_Line(); 62| ~Ink_Line(); 63| void print( const char* title ); 64| int GetID(); 65| void SetID( int id ); 66| int GetTypeID(); 67| void SetBInUndoBuf( bool b ); 68| 69| void OutSVG( CadPrim_SaveParam* p ); 70| void Draw( CDC*, CadPrim_DrawParam* p ); 71| void DrawHandles( CDC*, CadPrim_DrawParam* p, COLORREF color ); 72| void copy( CadPrim* a, ListX* prims ); 73| bool isEqual( CadPrim* ); 74| CadPrim* GetNewCopy( ListX* prims ); 75| int GetSerializedSize(); 76| void CopyToSerial( void* a ); 77| void CopyFromSerial( void* a ); 78| 79| int GetHitHandleNum( int x, int y, int zoom, int mode, int* dx, int* dy, int* diff, int* arrow ); 80| void Move( int dx, int dy ); 81| void MoveByHandle( int iHandle, int x, int y, bool bShift, bool bRotate ); 82| void GetCenterOfHandle( int iHandle, int* x, int* y ); 83| void MoveLinks( bool bShift ); 84| void AutoAdjustXY( int* x, int* y ); 85| void SetHold( bool ); 86| bool GetHold(); 87| bool IsHoldable(); 88| void SetSelected( bool ); 89| bool GetSelected(); 90| bool IsMultiSelect( Rect* rect ); 91| int GetForAlign( int iPos ); 92| void SetForAlign( int iPos, int value ); 93| int GetForFitSize( int iAttr ); 94| void SetForFitSize( int iAttr, int value ); 95| void OnCreated(); 96| 97| int GetNProp(); 98| int GetProp( int iProp, bool bJapanese, char* name, int name_size, char* value, int value_size, 99| const char* path, void** option ); 100| void SetProp( int iProp, const char* value, const char* path ); 101| bool IsNeedUnicode(); 102| 103| 104| void ScratchStart( CDC* dc, CadPrim_DrawParam* p, int x, int y ); 105| void Scratch( CDC* dc, CadPrim_DrawParam* p, int x, int y ); 106| void ScratchEnd(); 107|}; 108| 109| 110|#define Ink_Line_TypeID 99 111| 112| 113|#endif 114| 115|/*-----------------------------------------------------------------*/ 116|/* 5. <<< Mapping Area ------------------------------------------ >>> */ 117|/*-----------------------------------------------------------------*/ 118| 119| 120|#endif 121| 122|