C:\home\SVGCats_src\src\Canvas.hpp
1|/*********************************************************************** 2| 1. <<< キャンバス (Canvas) >>> 3|************************************************************************/ 4| 5|#ifndef __CANVAS_HPP 6|#define __CANVAS_HPP 7| 8| 9|/*-----------------------------------------------------------------*/ 10|/* 2. <<< Interface Area ---------------------------------------- >>> */ 11|/*-----------------------------------------------------------------*/ 12| 13|/*********************************************************************** 14| 3. <<< (Canvas) キャンバス >>> 15|************************************************************************/ 16|class Canvas : public CadPrim { 17|public: 18| int m_Width; 19| int m_Height; 20| int m_DefWidth, m_DefHeight; 21| 22| bool m_bGridOn; /* グリッドに座標を合わせるかどうか */ 23| int m_GridDrawType; /* Canvas_NoGrid など */ 24| int m_GridWidth; 25| int m_GridHeight; 26| 27| int m_NextPageInterval; /* 次のページに自動的に移るまでの間隔(ミリ秒)*/ 28| char m_CorrImagePath[_MAX_PATH]; /* 保存時に同時に作成する画像ファイルパス, ""=同時保存しない */ 29| 30| Canvas(); 31| ~Canvas() {} 32| void print( const char* title ); 33| int GetID(); 34| void SetID( int id ); 35| int GetTypeID(); 36| char* GetTypeNameJp(); 37| char* GetTypeNameEn(); 38| void SetBInUndoBuf( bool b ); 39| char* GetLinkURL(); 40| char* GetIdLabel(); 41| 42| void OutSVG( CadPrim_SaveParam* p ); 43| void Draw( CDC* dc, CadPrim_DrawParam* p ); 44| void DrawGrid( CDC* dc, CadPrim_DrawParam* p ); 45| void DrawOutSide( CDC* dc, CPoint* pos, CadPrim_DrawParam* p, 46| int client_width, int client_height ); 47| void DrawHandles( CDC* dc, CadPrim_DrawParam* p, COLORREF color, bool bDrawFrame ); 48| void copy( CadPrim*, ListX* prims ); 49| void copyStyle( CadPrim*, ListX* prims ); 50| bool isEqual( CadPrim* ); 51| CadPrim* GetNewCopy( ListX* prims ); 52| int GetSerializedSize(); 53| void CopyToSerial( void* a ); 54| void CopyFromSerial( void* a ); 55| 56| int GetHitHandleNum( int x, int y, int zoom, int mode, int* dx, int* dy, int* diff, int* arrow ); 57| void Move( int dx, int dy ); 58| void MoveByHandle( int iHandle, int x, int y, bool bShift, bool bRotate ); 59| void GetCenterOfHandle( int iHandle, int* x, int* y ); 60| void SetHold( bool ); 61| bool GetHold(); 62| bool IsHoldable(); 63| void SetSelected( bool ); 64| bool GetSelected(); 65| bool IsMultiSelect( Rect* rect ); 66| int GetForAlign( int iPos ); 67| void SetForAlign( int iPos, int value ); 68| int GetForFitSize( int iAttr ); 69| void SetForFitSize( int iAttr, int value ); 70| void OnCreated(); 71| 72| int GetNProp(); 73| int GetProp( int iProp, bool bJapanese, char* name, int name_size, char* value, int value_size, 74| const char* path, void** option ); 75| void SetProp( int iProp, const char* value, const char* path ); 76| bool IsNeedUnicode(); 77| 78| void ChgToGridedPos( int* x, int* y ); 79|}; 80| 81| 82|/* キャンバスの表示方法 */ 83|#define Canvas_NoGrid 0 84|#define Canvas_DotGrid 1 85|#define Canvas_LineGrid 2 86| 87| 88|#define Canvas_TypeID (-2) 89| 90| 91|/*********************************************************************** 92| 4. <<< 用紙サイズ >>> 93|************************************************************************/ 94|#define Canvas_A4_W 648 /* pixel(マージン抜き) */ 95|#define Canvas_A4_H 978 /* pixel(マージン抜き) */ 96| 97| 98|/*-----------------------------------------------------------------*/ 99|/* 5. <<< Mapping Area ------------------------------------------ >>> */ 100|/*-----------------------------------------------------------------*/ 101| 102| 103|#endif 104| 105|