RECT.HPP

C:\home\SVGCats_src\src\RECT.HPP

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

目次

型・クラス・構造体一覧

マクロ一覧


   1|/***********************************************************************
   2|  1. <<< 矩形 C++部 (Rect) >>> 
   3|************************************************************************/
   4|
   5|#ifndef __RECT_HPP
   6|#define __RECT_HPP
   7|
   8| 
   9|/*-----------------------------------------------------------------*/
  10|/* 2. <<< Interface Area ---------------------------------------- >>> */ 
  11|/*-----------------------------------------------------------------*/
  12| 
  13|/***********************************************************************
  14|  3. <<< [Rect_Ex] 矩形・詳細(ディスプレイ表示用) >>> 
  15|【内部補足】
  16|・m_ImgWorkPath は、m_bEmbedImg == true のとき有効、m_ImgPath が存在しない
  17|  ときの画像パス。内部でコピー。
  18|************************************************************************/
  19|class Rect_Ex : public CadPrim {
  20|public:
  21|  int   m_id;
  22|  bool  m_bInUndoBuf;
  23|  bool  m_bHold;
  24|  bool  m_bSelected;
  25|  CString  m_URL;    /* ""=リンクしない */
  26|  CString  m_Target;   /* リンクターゲット、"" でターゲットなし、_blank で新規ウィンドウ */
  27|  CString  m_IdLabel;
  28|
  29|  Rect  m_Rect;
  30|  int   m_RotateDegree;
  31|
  32|  int   m_BorderWidth;
  33|  int   m_BorderColor;
  34|  int   m_FillColor;
  35|  int   m_NTrans;  /* 非透過率 0〜100 */
  36|  int   m_HatchType;
  37|  int   m_ShapeType;  /* 形状 */
  38|
  39|  CString  m_ImgPath;        /* ユーザ公開の画像パス、or Rect_Ex_EmbedImg */
  40|  CString  m_ImgWorkPath;    /* →内部補足 */
  41|  WinX_DDBmp  m_ddb;         /* 拡大縮小などを考慮したビットマップ */
  42|  bool  m_bEmbedImg;
  43|  bool  m_bNeedReadImgProp;  /* m_ImgWidth などを元画像から取得する必要があるかどうか */
  44|  int   m_ImgWidth;
  45|  int   m_ImgHeight;
  46|
  47|  Rect_Ex();
  48|  ~Rect_Ex();
  49|
  50|  void  print( const char* title );
  51|  int   GetID();
  52|  void  SetID( int id );
  53|  int   GetTypeID();
  54|  char*  GetTypeNameJp();
  55|  char*  GetTypeNameEn();
  56|  void   SetBInUndoBuf( bool b );
  57|  char*  GetLinkURL();
  58|  char*  GetIdLabel();
  59|
  60|  void  OutSVG( CadPrim_SaveParam* p );
  61|  void  Draw( CDC*, CadPrim_DrawParam* p );
  62|  void  DrawHandles( CDC*, CadPrim_DrawParam* p, COLORREF color, bool bDrawFrame );
  63|  void  copy( CadPrim*, ListX* prims );
  64|  void  copyStyle( CadPrim*, ListX* prims );
  65|  bool  isEqual( CadPrim* );
  66|  CadPrim*  GetNewCopy( ListX* prims );
  67|  int   GetSerializedSize();
  68|  void  CopyToSerial( void* a );
  69|  void  CopyFromSerial( void* a );
  70|
  71|  int   GetHitHandleNum( int x, int y, int zoom, int mode, int* dx, int* dy, int* diff, int* arrow );
  72|  void  Move( int dx, int dy );
  73|  void  MoveByHandle( int iHandle, int x, int y, bool bShift, bool bRotate );
  74|  void  GetCenterOfHandle( int iHandle, int* x, int* y );
  75|  void  SetHold( bool );
  76|  bool  GetHold();
  77|  bool  IsHoldable();
  78|  void  SetSelected( bool );
  79|  bool  GetSelected();
  80|  bool  IsMultiSelect( Rect* rect );
  81|  int   GetForAlign( int iPos );
  82|  void  SetForAlign( int iPos, int value );
  83|  int   GetForFitSize( int iAttr );
  84|  void  SetForFitSize( int iAttr, int value );
  85|  void  OnCreated();
  86|
  87|  int   GetNProp();
  88|  int   GetProp( int iProp, bool bJapanese, char* name, int name_size, char* value, int value_size,
  89|    const char* path, void** option );
  90|  void  SetProp( int iProp, const char* value, const char* path );
  91|  bool  IsNeedUnicode();
  92|};
  93|
  94|#define  Rect_Ex_TypeID  2
  95|#define  Rect_Ex_EmbedImg  "embed:"
  96|
  97|/* 4. <<<[Rect_Ex::m_ShapeType]>>> */
  98|#define  Rect_RectShape       1
  99|#define  Rect_RoundRectShape  2
 100|#define  Rect_CircleShape     3
 101|#define  Rect_DiamondShape    4
 102|#define  Rect_ImageShape      5
 103|#define  Rect_Parallelogram   6
 104|
 105|
 106| 
 107|/*-----------------------------------------------------------------*/
 108|/* 5. <<< Mapping Area ------------------------------------------ >>> */ 
 109|/*-----------------------------------------------------------------*/
 110|
 111| 
 112|#endif 
 113| 
 114|