WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開型 | 公開メンバ関数 | 公開変数類 | 限定公開メンバ関数 | 限定公開変数類
FVCL::GDI::CFvGdiAnchor クラス

GDIアンカー構造クラス [詳解]

詳解

GDIアンカー構造クラス

namespace FVCL::GDI

線分の始点または終点のアンカーを構成する各点を格納するデータ構造クラスです。

必要条件:
ヘッダー: FVCLbasic.h
解説:
始点と終点から角度を計算して図形を回転して描画します。
アンカースタイルで示される形状は、水平線(0度)を基準としたものです。 アンカーの形状は、 スタイルサイズ で指定することが可能です。 スタイルとサイズの設定は SetStyleSetSize をご参照ください。
対応している図形のスタイル:
【矢印、三角形】
矢印と三角形は、下図のように水平線(0度)を基準として上下に開いた形状を表します。 下図の太線部分は矢印の形状を表しています。 三角形の時は矢印の両端を接続して描画します。 矢印または三角形を構成する3点は、描画座標からの相対位置を保ったまま回転します。
CFvGdiAnchor_arrow.png
【十字、菱形】
十字と菱形は、下図のように水平線(0度)を基準とした形状を表します。 下図の太線部分は十字の形状を、細線部分は菱形の形状を表しています。 十字または菱形を構成する4点は、描画座標からの相対位置を保ったまま回転します。
CFvGdiAnchor_cross.png
【×印、矩形】
×印と矩形は、下図のように水平線(0度)を基準とした形状を表します。 下図の太線部分は×印の形状を、細線部分は矩形の形状を表しています。 ×印または矩形を構成する4点は、描画座標からの相対位置を保ったまま回転します。
CFvGdiAnchor_xmark.png
【円形】
円形は、下図のように水平線(0度)を基準とした形状を表します。 アンカーサイズの cx と cy が等しければ真円となり、異なれば楕円となります。 円の外接矩形の始点と終点の2点から構成されます。 この2点は、描画座標からの相対位置を保ちますが線分の角度は無視します。
CFvGdiAnchor_round.png
図形の回転:
親クラス(CFvGdiFigure)が持つ回転角を指定すると、図形を回転して描画できます。 回転中心は、回転の機軸に指定された画素の左上隅になります。 回転角と回転の機軸については CFvGdiFigure::SetAngle 及び CFvGdiFigure::SetAxis をご参照ください。
CFvGdiAnchor_arrow_rotate.png
図形の選択:
図形が選択された事を表す選択マークを描画できます。 この図形が選択中の時は、始点・終点及びそれらの中央に選択マークを表示します。 この処理は描画関数(Play)で自動的に行われます。 選択の有無は CFvGdiFigure::SetSelect で切り替えてください。 描画属性は、 SetFocusMarkParam で切り替えてください。 描画属性の既定値は、 SetDefaultFocusMarkParam で設定できます。 選択マークの表示については、 CFvGdiAnchor::DrawFocusMark をご参照ください。
CFvGdiAnchor_arrow_DrawFocusMark.png
初期値:
メンバ変数は、下記のように初期化されます。
メンバ変数 初期値 意味 メソッド
st 0,0 始点 (フィールドを直接アクセスできます)
ed -1,0 終点 (フィールドを直接アクセスできます)
m_Style FVCL::GDI::FigureStyle::Arrow スタイル(矢印) SetStyle
GetStyle
m_Size 5,5 サイズ(中心からXY方向に 5pixel) SetSize
GetSize
m_Points size=0 アンカーを構成する点配列数(未確保) (m_Style に従って内部で確保されます)
参照
CFvGdiFigure::SetAngle
CFvGdiFigure::SetAxis
CFvGdiFigure::SetSelect
CFvGdiAnchor::DrawFocusMark
+ FVCL::GDI::CFvGdiAnchor の継承関係図

公開型

enum  { DataID = 1 }
 

公開メンバ関数

 CFvGdiAnchor ()
 コンストラクタ [詳解]
 
 CFvGdiAnchor (const CFvGdiAnchor &src)
 コピーコンストラクタ [詳解]
 
 CFvGdiAnchor (const FVCL::Data::CFvPoint &st, const FVCL::Data::CFvPoint &ed)
 コンストラクタ [詳解]
 
 CFvGdiAnchor (DOUBLE sx, DOUBLE sy, DOUBLE ex, DOUBLE ey)
 コンストラクタ [詳解]
 
virtual ~CFvGdiAnchor ()
 デストラクタ [詳解]
 
virtual INT GetDataID () const
 データIDの取得 [詳解]
 
virtual INT Play (HDC dc, DOUBLE magnification) const
 描画処理 [詳解]
 
virtual bool GetDataObject (CFvDataObject *object) const
 データオブジェクトへの変換 [詳解]
 
virtual CFvGdiFigureClone () const
 クローンの生成 [詳解]
 
virtual FVCL::Data::CFvRectangle GetClipRect () const
 外接矩形の取得 [詳解]
 
virtual INT CheckFocusMarkPosition (const FVCL::Data::CFvPoint &mouse, DOUBLE margin=2.0) const
 マウス位置の確認 [詳解]
 
virtual bool SetPosition (const FVCL::Data::CFvPoint &position)
 描画座標の設定 [詳解]
 
virtual const FVCL::Data::CFvPointGetPosition () const
 描画座標の取得 [詳解]
 
bool SetStyle (INT style)
 スタイルの設定 [詳解]
 
INT GetStyle () const
 スタイルの取得 [詳解]
 
bool SetSize (SIZE size)
 サイズの設定 [詳解]
 
bool SetSize (INT cx, INT cy)
 サイズの設定 [詳解]
 
SIZE GetSize () const
 サイズの取得 [詳解]
 
virtual CFvGdiAnchoroperator= (const CFvGdiAnchor &src)
 代入オペレータ (=) [詳解]
 
virtual bool operator== (const CFvGdiFigure &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvGdiFigure &src) const
 比較オペレータ (!=) [詳解]
 
- 基底クラス FVCL::GDI::CFvGdiFigure に属する継承公開メンバ関数
 CFvGdiFigure ()
 コンストラクタ [詳解]
 
virtual ~CFvGdiFigure ()
 デストラクタ [詳解]
 
virtual CFvGdiFigureoperator= (const CFvGdiFigure &ope)
 代入オペレータ (=) [詳解]
 
bool SetAxis (const FVCL::Data::CFvPoint &position)
 回転の機軸座標の設定 [詳解]
 
const FVCL::Data::CFvPointGetAxis () const
 回転の機軸座標の取得 [詳解]
 
bool SetAngle (DOUBLE degree)
 傾きの設定 [詳解]
 
DOUBLE GetAngle () const
 傾きの取得 [詳解]
 
bool SetEnable (bool enable)
 可視属性の設定 [詳解]
 
bool GetEnable () const
 可視属性の取得 [詳解]
 
bool SetSelect (bool select)
 選択状態の設定 [詳解]
 
bool GetSelect () const
 選択状態の取得 [詳解]
 
bool SetPen (const CFvGdiPen &pen)
 ペンの設定 [詳解]
 
const CFvGdiPenGetPen () const
 ペンの取得 [詳解]
 
CFvGdiPenGetPen ()
 ペンの取得 [詳解]
 
bool SetPenEnable (bool enable)
 ペンの有効無効の切り替え [詳解]
 
bool GetPenEnable () const
 ペンの有効無効の取得 [詳解]
 
bool SetBrush (const CFvGdiBrush &brush)
 ブラシの設定 [詳解]
 
const CFvGdiBrushGetBrush () const
 ブラシの取得 [詳解]
 
CFvGdiBrushGetBrush ()
 ブラシの取得 [詳解]
 
bool SetBrushEnable (bool enable)
 ブラシの有効無効の切り替え [詳解]
 
bool GetBrushEnable () const
 ブラシの有効無効の取得 [詳解]
 
bool SetBkMode (INT mode)
 背景モードの設定 [詳解]
 
INT GetBkMode () const
 背景モードの取得 [詳解]
 
bool SetBkColor (COLORREF color)
 背景色の設定 [詳解]
 
COLORREF GetBkColor () const
 背景色の取得 [詳解]
 
bool SetFocusMarkParam (const CFvFocusMarkParam &param)
 選択マークの描画属性の設定 [詳解]
 
const CFvFocusMarkParamGetFocusMarkParam () const
 選択マークの描画属性の取得 [詳解]
 
CFvFocusMarkParamGetFocusMarkParam ()
 選択マークの描画属性の取得 [詳解]
 
bool SetAxisVisible (bool value)
 回転の機軸の可視属性の設定 [詳解]
 
bool GetAxisVisible () const
 回転の機軸の可視属性の取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

公開変数類

FVCL::Data::CFvPoint st
 始点 [詳解]
 
FVCL::Data::CFvPoint ed
 終点 [詳解]
 

限定公開メンバ関数

virtual bool DrawFocusMark (HDC dc, POINT *vertex, UINT count, POINT axis) const
 選択マーク描画処理 [詳解]
 
virtual bool Make ()
 アンカーの生成 [詳解]
 
bool MakeArrow ()
 アンカーの生成(矢印/三角形) [詳解]
 
bool MakeCross ()
 アンカーの生成(十字/菱形) [詳解]
 
bool MakeXmark ()
 アンカーの生成(×印/矩形) [詳解]
 
bool MakeRound ()
 アンカーの生成(円形) [詳解]
 
- 基底クラス FVCL::GDI::CFvGdiFigure に属する継承限定公開メンバ関数
virtual bool DrawFocusMark (HDC dc, RECT clip, POINT axis) const
 選択マーク描画処理 [詳解]
 
INT CheckClipRectPosition (const FVCL::Data::CFvRectangle &clip, const FVCL::Data::CFvPoint &mouse, DOUBLE margin) const
 マウス位置の確認 [詳解]
 
bool Rotate (DOUBLE x, DOUBLE y, DOUBLE axis_x, DOUBLE axis_y, DOUBLE angle, DOUBLE *tx, DOUBLE *ty) const
 座標の回転 [詳解]
 
bool WorldTransformRotate (HDC dc, DOUBLE axis_x, DOUBLE axis_y, DOUBLE angle) const
 座標の回転設定 [詳解]
 
bool WorldTransformScale (HDC dc, DOUBLE origin_x, DOUBLE origin_y, DOUBLE magnification) const
 座標の回転設定 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 

限定公開変数類

CFvArray< FVCL::Data::CFvPointm_Points
 アンカーを構成する点のコレクション [詳解]
 
INT m_Style
 スタイル [詳解]
 
SIZE m_Size
 サイズ [詳解]
 
- 基底クラス FVCL::GDI::CFvGdiFigure に属する継承限定公開変数類
FVCL::Data::CFvPoint m_Axis
 回転の機軸 [詳解]
 
DOUBLE m_Angle
 傾き [詳解]
 
bool m_Enable
 可視属性 [詳解]
 
bool m_Select
 選択属性 [詳解]
 
CFvGdiPen m_Pen
 ペン [詳解]
 
bool m_PenEnable
 ペンの有効/無効 [詳解]
 
CFvGdiBrush m_Brush
 ブラシ [詳解]
 
bool m_BrushEnable
 ブラシの有効/無効 [詳解]
 
INT m_BkMode
 背景モード [詳解]
 
COLORREF m_BkColor
 背景色 [詳解]
 
CFvFocusMarkParam m_FocusMarkParam
 選択マーク描画属性 [詳解]
 
bool m_AxisVisible
 機軸の可視属性 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::GDI::CFvGdiFigure に属する継承静的公開メンバ関数
static bool SetDefaultPen (const CFvGdiPen &pen)
 既定のペンの設定 [詳解]
 
static CFvGdiPenGetDefaultPen ()
 既定のペンの取得 [詳解]
 
static bool SetDefaultBrush (const CFvGdiBrush &brush)
 既定のブラシの設定 [詳解]
 
static CFvGdiBrushGetDefaultBrush ()
 既定のブラシの取得 [詳解]
 
static bool SetDefaultFocusMarkParam (const CFvFocusMarkParam &param)
 既定の選択マークの描画属性の設定 [詳解]
 
static CFvFocusMarkParamGetDefaultFocusMarkParam ()
 既定の選択マークの描画属性の取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 

列挙型メンバ詳解

anonymous enum
列挙値
DataID 

GDIアンカー構造クラスのデータID.

この定数は、アンカー構造クラスのIDを示します。
当クラスの GetDataID メソッドがこの値を返します。

参照
FVCL::GDI::CFvGdiAnchor

構築子と解体子

FVCL::GDI::CFvGdiAnchor::CFvGdiAnchor ( )

コンストラクタ

標準のコンストラクタです。

FVCL::GDI::CFvGdiAnchor::CFvGdiAnchor ( const CFvGdiAnchor src)

コピーコンストラクタ

同一クラスのオブジェクトから複製します。

引数
[in]src複製元
FVCL::GDI::CFvGdiAnchor::CFvGdiAnchor ( const FVCL::Data::CFvPoint st,
const FVCL::Data::CFvPoint ed 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。

引数
[in]st始点
[in]ed終点
FVCL::GDI::CFvGdiAnchor::CFvGdiAnchor ( DOUBLE  sx,
DOUBLE  sy,
DOUBLE  ex,
DOUBLE  ey 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。

引数
[in]sx始点(X座標)
[in]sy始点(Y座標)
[in]ex終点(X座標)
[in]ey終点(Y座標)
FVCL::GDI::CFvGdiAnchor::~CFvGdiAnchor ( )
virtual

デストラクタ

関数詳解

FVCL::GDI::CFvGdiAnchor::GetDataID ( ) const
virtual

データIDの取得

戻り値
データIDを返します。
参照
CFvGdiAnchor::DataID

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::Play ( HDC  dc,
DOUBLE  magnification 
) const
virtual

描画処理

指定されたデバイスコンテキストに図形を描画します。

引数
[in]dc描画先のデバイスコンテキスト
[in]magnification表示倍率 (0.0より大きい値)
戻り値
正常に描画された場合は 1 を返します。 正常に描画されなかった場合または 可視属性(CFvGdiFigure::m_enable)が非可視の場合は 0 を返します。

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::GetDataObject ( CFvDataObject object) const
virtual

データオブジェクトへの変換

図形オブジェクトを互換性のあるデータオブジェクトに変換します。

引数
[in,out]object格納先のデータオブジェクトへのポインタ
戻り値
true正常
false異常
解説:
現在のところ、図形オブジェクトへの変換は対応しておりません。

FVCL::GDI::CFvGdiFigureを再実装しています。

FVCL::GDI::CFvGdiAnchor::Clone ( ) const
virtual

クローンの生成

このアンカー構造クラスの複製を生成します。

戻り値
生成されたアンカー構造クラスのオブジェクトへのポインタを返します。
メモリ不足によりオブジェクトを生成できなかった場合は NULL を返します。
解説:
アンカー構造クラスをヒープ領域に確保して、 このオブジェクトの内容を代入して返します。

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::GetClipRect ( ) const
virtual

外接矩形の取得

図形に外接する最小の矩形を取得します。
下図は、アンカースタイルが十字の場合を表します。

CFvGdiAnchor_cross_GetClipRect.png
戻り値
外接矩形を返します。
解説:
返される矩形には 回転角(angle) と 機軸(center) が設定されています。
回転角には、この図形の GetAngle から取得した値が設定されます。 回転の機軸は、この図形の GetAxis (GetPosition からの相対値)を 矩形の左上からの相対値に変換した値が設定されます。

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::CheckFocusMarkPosition ( const FVCL::Data::CFvPoint mouse,
DOUBLE  margin = 2.0 
) const
virtual

マウス位置の確認

マウスポインタの座標が図形上のどの位置にあるか確認します。

引数
[in]mouseマウスポインタの座標
[in]marginマージン (pixel単位)
戻り値
0図形外
1基準点上
2機軸上
-1基準点と機軸の中点
解説:
この関数は、指定されたマウス位置が図形上のどの位置にあるかを判定します。
引数 mouse に指定された座標が、始点の上にあると 1 を、 終点の上にあると 2 を返します。(下図の青色部分) それら2点の中央にあると -1 を返します。(下図の橙色部分)
引数 margin には、マウス位置を判定する際の誤差範囲を指定します。 margin に 1 を指定すると、±1 画素の範囲で判定します。
CFvGdiAnchor_arrow_CheckFocusMarkPosition.png
参照
CFvGdiAnchor::DrawFocusMark

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::SetPosition ( const FVCL::Data::CFvPoint position)
virtual

描画座標の設定

描画位置を変更します。

引数
[in]position描画座標
戻り値
true正常
false異常
解説:
始点(st)を指定された座標に移動します。 始点(st)と終点(ed)の相対位置およびアンカーの各点の相対位置は保れます。

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::GetPosition ( ) const
virtual

描画座標の取得

描画座標を取得します。

戻り値
描画座標を返します。

FVCL::GDI::CFvGdiFigureを実装しています。

FVCL::GDI::CFvGdiAnchor::SetStyle ( INT  style)

スタイルの設定

アンカースタイルを変更します。

引数
[in]styleアンカースタイル
下記の定数を指定できます。
  • FVCL::GDI::FigureStyle::Arrow
  • FVCL::GDI::FigureStyle::Cross
  • FVCL::GDI::FigureStyle::Xmark
  • FVCL::GDI::FigureStyle::Triangle
  • FVCL::GDI::FigureStyle::Diamond
  • FVCL::GDI::FigureStyle::Square
  • FVCL::GDI::FigureStyle::Round

戻り値
true正常
false異常
FVCL::GDI::CFvGdiAnchor::GetStyle ( ) const

スタイルの取得

アンカースタイルを返します。

戻り値
アンカースタイルを返します。
FVCL::GDI::FigureStyle をご参照ください。
FVCL::GDI::CFvGdiAnchor::SetSize ( SIZE  size)

サイズの設定

始点からアンカーを構成する各点までの距離を設定します。

引数
[in]sizeアンカーサイズ (cx,cy共 1 以上)
戻り値
true正常
false異常
FVCL::GDI::CFvGdiAnchor::SetSize ( INT  x,
INT  y 
)

サイズの設定

始点からアンカーを構成する各点までの距離を設定します。

引数
[in]xアンカーサイズ(横) (1~)
[in]yアンカーサイズ(縦) (1~)
戻り値
true正常
false異常
FVCL::GDI::CFvGdiAnchor::GetSize ( ) const

サイズの取得

アンカーサイズを取得します。

戻り値
アンカーサイズを返します。
FVCL::GDI::CFvGdiAnchor::operator= ( const CFvGdiAnchor src)
virtual

代入オペレータ (=)

同一クラスのオブジェクトの内容を複製します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトを返します。
FVCL::GDI::CFvGdiAnchor::operator== ( const CFvGdiFigure src) const
virtual

比較オペレータ (==)

引数
[in]src比較対象
戻り値
true一致
false不一致
解説:
一般的には、比較オペレータの引数は自身と同一のクラスにしますが、 図形構造クラスでは、引数を基本クラス(CFvGdiFigure)にしています。 これは、基本クラス(CFvGdiFigure)の比較オペレータをオーバーライドする為です。
比較オペレータの引数の型を基本クラスと同一にする事により、 このオブジェクトが基本クラス(CFvGdiFigure)にキャストされていても 比較オペレータを安全に呼び出す事が可能になります。 ユーザ定義の図形構造クラスを作成される場合はこの点(引数の型)にご注意ください。

FVCL::GDI::CFvGdiFigureを再実装しています。

FVCL::GDI::CFvGdiAnchor::operator!= ( const CFvGdiFigure src) const
virtual

比較オペレータ (!=)

引数
[in]src比較対象
戻り値
true不一致
false一致

FVCL::GDI::CFvGdiFigureを再実装しています。

FVCL::GDI::CFvGdiAnchor::DrawFocusMark ( HDC  dc,
POINT vertex,
UINT  count,
POINT  axis 
) const
protectedvirtual

選択マーク描画処理

図形が選択されている事を示す矩形の枠を表示します。

引数
[in]dc描画先のデバイスコンテキスト
[in]vertex頂点が格納された配列
[in]count頂点の個数
[in]axis回転の機軸(絶対座標)
戻り値
true正常
false異常
解説:
この図形が選択中(※1)の時、描画関数(Play)がこの関数を呼び出します。
始点と終点の2箇所に8x8の正方形と、それらの中央に真円を表示します。 また、回転の機軸(axis)に8x8の真円を表示します。 この選択枠は白と黒の点線で描画されます。
CFvGdiAnchor_arrow_DrawFocusMark.png
※1) 選択状態の取得と設定
CFvGdiFigure::GetSelect
CFvGdiFigure::SetSelect
参照
CFvGdiAnchor::Play
CFvGdiAnchor::GetClipRect
CFvGdiFigure::SetSelect
CFvGdiFigure::SetFocusMarkParam
CFvGdiFigure::SetDefaultFocusMarkParam
FVCL::GDI::CFvGdiAnchor::Make ( )
protectedvirtual

アンカーの生成

アンカーを構成する各点の座標を計算します。

戻り値
true正常
false異常
始点と終点が同一の時は再計算せず false を返します。
解説:
描画関数(Play)が描画の直前にこの関数を呼び出します。
参照
CFvGdiAnchor::MakeArrow
CFvGdiAnchor::MakeCross
CFvGdiAnchor::MakeXmark
CFvGdiAnchor::MakeRound
FVCL::GDI::CFvGdiAnchor::MakeArrow ( )
protected

アンカーの生成(矢印/三角形)

矢印または三角形を構成する各点の座標を計算します。

戻り値
true正常
false異常
解説:
線分の始点が左、終点が右になる水平線を基準として、矢印が右向きになるよう計算します。
矢印と三角形は、下図のように水平線(0度)を基準として上下に開いた形状を表します。 矢印または三角形を構成する3点は、描画座標からの相対位置を保ったまま回転します。 下図の太線部分は矢印の形状を表しています。 三角形の時は矢印の両端を接続して描画します。
CFvGdiAnchor_arrow.png
矢印または三角形の3点を格納する配列
  • m_Points[0] : 上側
  • m_Points[1] : 先端
  • m_Points[2] : 下側

アンカーサイズ m_Size の横幅 cx と縦幅 cy が同一の場合は、 水平線を基準に矢印がそれぞれ45度開いた状態になります。 矢印の先端を細く尖らせる場合は、縦幅 cy を横幅 cx より短くします。
FVCL::GDI::CFvGdiAnchor::MakeCross ( )
protected

アンカーの生成(十字/菱形)

十字または菱形を構成する各点の座標を計算します。

戻り値
true正常
false異常
解説:
線分が水平になった状態を基準として、十字になるよう計算します。
十字と菱形は、下図のように水平線(0度)を基準とした形状を表します。 十字または菱形を構成する4点は、描画座標からの相対位置を保ったまま回転します。 下図の太線部分は十字の形状を、細線部分は菱形の形状を表しています。
CFvGdiAnchor_cross.png
十字または菱形の4点を格納する配列
  • m_Points[0] : 上側
  • m_Points[1] : 右側
  • m_Points[2] : 下側
  • m_Points[3] : 左側

FVCL::GDI::CFvGdiAnchor::MakeXmark ( )
protected

アンカーの生成(×印/矩形)

×印または矩形を構成する各点の座標を計算します。

戻り値
true正常
false異常
解説:
線分が水平になった状態を基準として、×印になるよう計算します。
×印と矩形は、下図のように水平線(0度)を基準とした形状を表します。 ×印または矩形を構成する4点は、描画座標からの相対位置を保ったまま回転します。 下図の太線部分は×印の形状を、細線部分は矩形の形状を表しています。
CFvGdiAnchor_xmark.png
×印または矩形の4点を格納する配列
  • m_Points[0] : 左上
  • m_Points[1] : 右上
  • m_Points[2] : 右下
  • m_Points[3] : 左下

FVCL::GDI::CFvGdiAnchor::MakeRound ( )
protected

アンカーの生成(円形)

アンカー(円形)を構成する各点の座標を計算します。

戻り値
true正常
false異常
解説:
始点(st)を中心とする楕円の外接矩形を計算します。
円形は、下図のように水平線(0度)を基準とした形状を表します。 アンカーサイズの cx と cy が等しければ真円となり、異なれば楕円となります。 円の外接矩形の始点と終点の2点から構成されます。 この2点は、描画座標からの相対位置を保ちますが線分の角度は無視します。
CFvGdiAnchor_round.png
外接矩形の2点を格納する配列
  • m_Points[0] : 左上
  • m_Points[1] : 右下

メンバ詳解

CFvPoint FVCL::GDI::CFvGdiAnchor::st

始点

アンカーの傾きを計算する為の始点を保持します。
この座標がアンカーの描画位置です。
st と ed で示される線分の傾きに応じてアンカーが描画されます。

解説:
アンカーの基準点はアンカースタイルによって異なります。 矢印や三角形の場合は、先端が基準点になります。 矩形、円形、菱形の場合は、中心位置が基準点になります。
参照
SetPosition
GetPosition
CFvPoint FVCL::GDI::CFvGdiAnchor::ed

終点

アンカーの傾きを計算する為の終点を保持します。
st と ed で示される線分の傾きに応じてアンカーが描画されます。

参照
SetPosition
GetPosition
CFvArray< CFvPoint > FVCL::GDI::CFvGdiAnchor::m_Points
protected

アンカーを構成する点のコレクション

アンカーを構成する図形の頂点を保持します。

参照
Make
MakeArrow
MakeCross
MakeXmark
MakeRound
INT FVCL::GDI::CFvGdiAnchor::m_Style
protected

スタイル

アンカーの形状を保持します。
指定可能な値は FVCL::GDI::FigureStyle に定義 されています。

参照
SetStyle
GetStyle
SIZE FVCL::GDI::CFvGdiAnchor::m_Size
protected

サイズ

描画座標からアンカーを構成する各点までの距離を示します。

参照
SetSize
GetSize

Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2024年10月10日(木) 09時12分52秒 for WIL説明書(C++) by doxygen 1.8.11