新データセット関数

long call_set_line( DRADAT *dra,HDC m_hDC,long num,double xx1,double yy1,double xx2,double yy2,long layer,long group,long color_number,long style_number )
線をデータにセットする。

DRADAT *dra		データの管理領域のアドレス。通常はXDRAPTRを使いましょう。
HDC m_hDC		作って表示したい場合にSCREEN->m_hDCと書いてください。
それ以外はNULLにします。
long num		セットするデータ位置番号

どこでも構わない場合は-1を使ってください。連続してセットする場合は、戻値のセットされた位置番号にマイナスを付けてコールするとセットが多少早くなります。マイナスの番号を指定すると、絶対値の場所以降でセット出来る場所にセットします。

以下省略

セットした位置番号		< 0:異常終了
なし
データ
データ


long call_set_arc( DRADAT *dra,HDC m_hDC,long num,double xx,double yy,double rr,double qq1,double qq2,long layer,long group,long color_number,long style_number)

円・円弧をデータにセットする。
DRADAT *dra		データの管理領域のアドレス。通常はXDRAPTRを使いましょう。
HDC m_hDC		作って表示したい場合にSCREEN->m_hDCと書いてください。
それ以外はNULLにします。
long num		セットするデータ位置番号

どこでも構わない場合は-1を使ってください。連続してセットする場合は、戻値のセットされた位置番号にマイナスを付けてコールするとセットが多少早くなります。マイナスの番号を指定すると、絶対値の場所以降でセット出来る場所にセットします。

以下省略

セットした位置番号		< 0:異常終了
なし
データ
データ

long call_set_text( DRADAT *dra,HDC m_hDC,long num,const char* moji,long type,double xx,double yy,double width,double height,double distance,double angle,double slant,long origin,long layer,long group,long color_number,long style_number )

線をデータにセットする。
DRADAT *dra		データの管理領域のアドレス。通常はXDRAPTRを使いましょう。
HDC m_hDC		作って表示したい場合にSCREEN->m_hDCと書いてください。
それ以外はNULLにします。
long num		セットするデータ位置番号

どこでも構わない場合は-1を使ってください。連続してセットする場合は、戻値のセットされた位置番号にマイナスを付けてコールするとセットが多少早くなります。マイナスの番号を指定すると、絶対値の場所以降でセット出来る場所にセットします。

const char* moji		セットする文字列
long type		文字列のタイプ。
5:強制的にANKにします。
6:強制的に漢字にします。
以外の数値:適当にセットします。
以下省略

文字列をセットした位置番号		< 0:異常終了
N_ :文字列をセットした位置番号	< 0:異常終了
N1_:セットした文字列データの次の位置番号。
なし
データ
データ


文字関係関数

long call_moji_set( const char* moji , long num , long type , double xx , double yy , double width , double height , double distance , double angle , double slant , long origin )

文字列をデータにセットする。
const char* moji		セットする文字列
long num		セットするデータ位置番号

どこでも構わない場合は-1を使ってください。連続してセットする場合は、戻値のセットされた位置番号にマイナスを付けてコールするとセットが多少早くなります。マイナスの番号を指定すると、絶対値の場所以降でセット出来る場所にセットします。

long type		ANKなら5、漢字なら6。
5を指定しても漢字が含まれる場合は、自動的に漢字に変わります。
6を指定すると、強制的に漢字に変わります。
double xx		文字の原点位置(ウィンドウ座標)
double yy		
double width		文字の幅(ウィンドウ座標単位)
double height		文字の高さ(ウィンドウ座標単位)
double distance		文字の間隔(ウィンドウ座標単位)
double angle		文字の回転角度(度)
double slant		文字の傾斜角度(度)
long origin		文字の原点位置コード


属性はアクティブによる

文字列をセットした位置番号		< 0:異常終了
N_ :文字列をセットした位置番号		< 0:異常終了
N1_:セットした文字列データの次の位置番号。
なし
データ
データ


long call_moji_Get( char* moji , long num , long *type , double *xx , double* yy , double* width , double* height , double* distance , double* angle , double* slant , long *origin )

データから文字列とそのサイズ等を取得する。
char* moji		取得する文字列。文字列のサイズは十分に余裕を持たせてください。通常は、
char moji[2048];位の宣言をしてください。
long num		取得するデータ位置番号
long *type		ANKなら5、漢字なら6が戻ります。
double *xx		文字の原点位置(ウィンドウ座標)
double *yy		
double *width		文字の幅(ウィンドウ座標単位)
double *height		文字の高さ(ウィンドウ座標単位)
double *distance		文字の間隔(ウィンドウ座標単位)
double *angle		文字の回転角度(度)
double *slant		文字の傾斜角度(度)
long *origin		文字の原点位置コード

文字列のバイト数
なし
データ
データ



long call_mojicon_set(MOJI_CONTROL *textatr , long num );
データに文字列をセットする。

MOJI_CONTROL *textatr 文字制御用の構造体のアドレス。下のボールド文字の項目を設定します。

long num		セットするデータ位置番号

どこでも構わない場合は-1を使ってください。連続してセットする場合は、戻値のセットされた位置番号にマイナスを付けてコールするとセットが多少早くなります。マイナスの番号を指定すると、絶対値の場所以降でセット出来る場所にセットします。

文字列をセットした位置番号			< 0:異常終了
N_ :文字列をセットした位置番号		< 0:異常終了
N1_:セットした文字列データの次の位置番号。
 MOJI_CONTROL構造体
typedef struct s_moji_control{
	long	hmode ;		高さ入力時の○×
	double	hreal ;		実寸高さ[mm]
	long	hdra  ;		DRA座標高さ[dra]
	long	wmode 		幅入力時の○×
	double	wreal ; 		実寸幅[mm]
	long	wdra  ; 		DRA座標幅[dra]
	long	dmode ;		間隔入力時の○×
	double	dreal ; 		実寸間隔[mm]
	long	ddra  ;		DRA座標間隔[dra]
	long	amode ;		回転角度入力時の○×
	double	areal ;		回転角度0-360[deg]
	double	adra  ;		回転角度0-360[deg]
	long	smode ;		傾斜角度入力時の○×
	double	sreal ;		傾斜角度0-70,290-360[deg]
	double	sdra ;		傾斜角度0-70,290-360[deg]
	long	omode 		原点入力時の○×
	long	oreal ;		原点コード0,1,2,4,5,6,8,9,10
	long	odra  ;		原点コード 0,1,2,4,5,6,8,9,10
	long	umode ;		原点浮き入力時の○×
	double	ureal ;		実寸原点浮き[mm]
	long	udra ;		DRA座標原点浮き[dra]
	long	rmode ;		原点右移動量入力時の○×
	double	rreal ;		実寸原点右移動量[mm]
	long	rdra ;		DRA座標原点右移動量[dra]
	long	imode;		// Input mode 0:char 1:Point 2:Length 3:Area 4:Angle
	long	tagm_axis ;	// Target mode ( Free,Line,Area,Group ) ;
	long	tagm_dist ;	// Target mode ( Free,Line,Area,Group ) ;
	long	tagm_area ;	// Target mode ( Free,Line,Area,Group ) ;
	long	tagm_angle ;	// Target mode ( Free,Line,Area,Group ) ;
	long	link_code ;		// 寸法リンクコード
	long	attrib ;		// 寸法文字の属性変数
	long	unit ;		// Unit( 0:mm,1:cm,2:m,3:km )
	long	marume ;		// 桁数を有効にする
	long	keta ;		// 桁数
	long	kanma ;		// カンマを付ける
	long	toru ;		// 最後のゼロをとる
	long	make_moji ;	// 文字化する入力時の○×
	long	moji_type ;	5:ANK 6:漢字
	double	last_length ;	作業用
	double	sum_length ; 	作業用
	double	sum_area ; 	作業用
	long	area_close ; 	作業用0:Open 1:Close
	double	last_angle ; 	作業用
	char*	message ;		画面左上に表示するメッセージ(NEW_STRING関数で作成すること)
	long	nn ; 		文字属性取得時の文字データ位置
	long	replace ;		作成モード 0:書込 1:置換  2:編集  3:寸書:
	long	gcx ;		配置座標[dra]
	long	gcy ;
	long	layer ;		配置レイヤ
	long	group ;		配置グループ番号
	long	color ;		配置カラー
	long	style ;		配置線種
	char*	set_string ;	配置文字列(NEW_STRING関数で作成すること)
} MOJI_CONTROL ;



MOJI_CONTROL*  new_moji_control(MOJI_CONTROL* textatr)
文字制御構造体を新しく作ります。

MOJI_CONTROL* textatr 文字制御構造体のアドレス。NULL以外の場合は消去して作り替えたアドレスを返します。

新たに確保した文字制御構造体のアドレス。
最後にリターンする前に消去してください。
textatr = DELETE_MOJI_CONTROL( textatr ) ;
データ
データ


MOJI_CONTROL*  DELETE_MOJI_Control(MOJI_CONTROL* textatr)
文字制御構造体を抹殺します。
MOJI_CONTROL* textatr		文字制御構造体のアドレス。
常にNULL。
なし。
データ
データ


long CALL_MOJI_Control(char* fnc , MOJI_CONTROL* textatr, char *ini_file_name , char* ini_section_name)

文字制御構造体に対する様々な機能を実行します。
char* fnc ,		機能名称
FromDraw	図面から文字属性を取得する
GetINI		INIファイルから文字属性を取得する
SetINI		INIファイルに文字属性を書き込む
MakeDra		RealデータからDraデータを作る
MakeReal		DraデータからRealデータを作る
GetAtr		textatr->nnにある文字データの属性を取得する
MOJI_CONTROL* textatr,	文字制御構造体のアドレス。
char *ini_file_name ,	通常はNULL
char* ini_section_name	通常はNULL
TRUE/FALSE。
なし。
データ
データ