/// <summary> /// Contructs a column object with name, operation on column, text align in column & width /// </summary> /// <param name="ColumnName"></param> /// <param name="Operation"></param> /// <param name="Align"></param> /// <param name="ColumnWidth"></param> public Column(string ColumnName, EOperation Operation, EAlign Align, double ColumnWidth) { _ColumnName = ColumnName; _Operation = Operation; _Align = Align; _ColumnWidth = ColumnWidth; }
//* -----------------------------------------------------------------------* /// <summary>描画処理を予約します。</summary> /// /// <param name="tex">テクスチャ</param> /// <param name="pos">描画先座標</param> /// <param name="halign">位置揃え(横)</param> /// <param name="valign">位置揃え(縦)</param> /// <param name="srcRect">描画元矩形</param> /// <param name="color">色</param> /// <param name="fLayer">レイヤ番号</param> /// <param name="blend">合成モード</param> public void add( Texture2D tex, Vector2 pos, EAlign halign, EAlign valign, Rectangle srcRect, Color color, float fLayer, SpriteBlendMode blend ) { add(tex, pos, halign, valign, srcRect, color, 0, Vector2.One, SpriteEffects.None, fLayer, blend); }
public void setText(Control control, string langKey, Control refControl, EAlign align) { this.setText(control, langKey); switch (align) { case EAlign.None: break; case EAlign.Left: control.Left = refControl.Left; break; case EAlign.Right: control.Left = refControl.Left + refControl.Width - control.Width; break; case EAlign.Center: control.Left = refControl.Left + (refControl.Width - control.Width) / 2; break; default: break; } }
//* -----------------------------------------------------------------------* /// <summary>描画処理を予約します。</summary> /// /// <param name="tex">テクスチャ</param> /// <param name="pos">描画先座標</param> /// <param name="halign">位置揃え(横)</param> /// <param name="valign">位置揃え(縦)</param> /// <param name="srcRect">描画元矩形</param> /// <param name="color">色</param> /// <param name="fRotate">回転(ラジアン)</param> /// <param name="scale">拡大率</param> /// <param name="effects">反転効果</param> /// <param name="fLayer">レイヤ番号</param> /// <param name="blend">合成モード</param> public void add( Texture2D tex, Vector2 pos, EAlign halign, EAlign valign, Rectangle srcRect, Color color, float fRotate, Vector2 scale, SpriteEffects effects, float fLayer, SpriteBlendMode blend ) { Vector2 origin = Vector2.Zero; switch (halign) { case EAlign.Center: origin.X = (float)(srcRect.Width) * 0.5f; break; case EAlign.RightBottom: origin.X = srcRect.Width; break; } switch (valign) { case EAlign.Center: origin.Y = (float)(srcRect.Height) * 0.5f; break; case EAlign.RightBottom: origin.Y = srcRect.Height; break; } add(tex, new Rectangle((int)(pos.X), (int)(pos.Y), (int)(srcRect.Width * scale.X), (int)(srcRect.Height * scale.Y)), srcRect, color, fRotate, origin, effects, fLayer, blend); }
//* -----------------------------------------------------------------------* /// <summary>文字を表示します。</summary> /// /// <param name="locate">基準カーソル位置。</param> /// <param name="hAlign">水平位置揃え情報。</param> /// <param name="color">文字色。</param> /// <param name="text">テキスト。</param> /// <returns>フォント オブジェクト。</returns> protected CFont print(Point locate, EAlign hAlign, Color color, string text) { CFont result = danmaq.ball.misc.CMisc.create98Font(locate, hAlign, color, text); taskManager.Add(result); return(result); }
//* -----------------------------------------------------------------------* /// <summary>描画処理を予約します。</summary> /// /// <param name="tex">テクスチャ</param> /// <param name="pos">描画先座標</param> /// <param name="halign">位置揃え(横)</param> /// <param name="valign">位置揃え(縦)</param> /// <param name="srcRect">描画元矩形</param> /// <param name="color">色</param> /// <param name="rotate">回転(ラジアン)</param> /// <param name="scale">拡大率</param> /// <param name="effects">反転効果</param> /// <param name="layer">重ね合わせ深度。</param> /// <param name="blend">合成モード</param> public void add( Texture2D tex, Vector2 pos, EAlign halign, EAlign valign, Rectangle srcRect, Color color, float rotate, Vector2 scale, SpriteEffects effects, float layer, SpriteBlendMode blend) { add(tex, pos, halign, valign, srcRect, color, rotate, scale, TextureAddressMode.Clamp, SpriteEffects.None, layer, blend); }
//* -----------------------------------------------------------------------* /// <summary>コンストラクタ。</summary> /// /// <param name="strText">テキスト。</param> /// <param name="pos">基準カーソル位置。</param> /// <param name="hAlign">水平位置揃え情報。</param> /// <param name="color">文字色。</param> public CPrint(string strText, Vector2 pos, EAlign hAlign, Color color) : base(strText) { nextState = CState98.instance; font = font98; sprite = CStateMainLoopDefault.instance.sprite; this.pos = pos; alignHorizontal = hAlign; this.color = color; }
//* -----------------------------------------------------------------------* /// <summary>よゆ風固定ピッチフォントを生成します。</summary> /// /// <param name="locate">基準カーソル位置。</param> /// <param name="hAlign">水平位置揃え情報。</param> /// <param name="color">文字色。</param> /// <param name="text">テキスト。</param> /// <returns>フォント オブジェクト。</returns> public static CFont create98Font(Point locate, EAlign hAlign, Color color, string text) { CFont result = new CFont(CONTENT.texFont98, text); result.alignHorizontal = hAlign; result.alignVertical = EAlign.LeftTop; result.color = color; result.pos = new Vector2(locate.X * 8, locate.Y * 16); result.sprite = CGame.sprite; result.isDrawShadow = false; return(result); }
//* -----------------------------------------------------------------------* /// <summary>描画処理を予約します。</summary> /// /// <param name="tex">テクスチャ</param> /// <param name="pos">描画先座標</param> /// <param name="halign">位置揃え(横)</param> /// <param name="valign">位置揃え(縦)</param> /// <param name="srcRect">描画元矩形</param> /// <param name="color">色</param> /// <param name="fRotate">回転(ラジアン)</param> /// <param name="scale">拡大率</param> /// <param name="effects">反転効果</param> /// <param name="fLayer">レイヤ番号</param> /// <param name="blend">合成モード</param> public void add( Texture2D tex, Vector2 pos, EAlign halign, EAlign valign, Rectangle srcRect, Color color, float fRotate, Vector2 scale, SpriteEffects effects, float fLayer, SpriteBlendMode blend ) { Vector2 origin = new Vector2( halign.origin(srcRect.Width), valign.origin(srcRect.Height)); add(tex, new Rectangle((int)(pos.X), (int)(pos.Y), (int)(srcRect.Width * scale.X), (int)(srcRect.Height * scale.Y)), srcRect, color, fRotate, origin, effects, fLayer, blend); }
//* -----------------------------------------------------------------------* /// <summary>コンストラクタ。</summary> /// /// <param name="source">変換元の解像度。</param> /// <param name="destination">変換先の解像度。</param> /// <param name="alignHorizontal">水平位置揃え情報。</param> /// <param name="alignVertical">垂直位置揃え情報。</param> /// <param name="cut"> /// アスペクト比が異り、かつこの値が<c>true</c>である場合、拡大してはみ出した /// 分をカットします。一方<c>false</c>の場合、縮小して余白を表示します。 /// アスペクト比が一致する場合、この引数によって何も変化しません。 /// </param> public CResolutionLetterBox(Rectangle source, Rectangle destination, EAlign alignHorizontal, EAlign alignVertical, bool cut) : base(source, destination) { decayRate = new float[(int)EAlign.__reserved]; decayRate[(int)EAlign.LeftTop] = 0; decayRate[(int)EAlign.Center] = 0.5f; decayRate[(int)EAlign.RightBottom] = 1f; m_alignHorizontal = alignHorizontal; m_alignVertical = alignVertical; minmax = cut ? (Func <float, float, float>)MathHelper.Max : (Func <float, float, float>)MathHelper.Min; calcurate(); }
/// <summary> /// Contruct a report parameter with name, value & alignment of a parameter /// </summary> /// <param name="Name"></param> /// <param name="Value"></param> /// <param name="Align"></param> public Parameter(string Name, string Value, EAlign Align) { _Name = Name; _Value = Value; _Align = Align; }
//* -----------------------------------------------------------------------* /// <summary>コンストラクタ。</summary> /// /// <param name="source">変換元の解像度。</param> /// <param name="destination">変換先の解像度。</param> /// <param name="alignHorizontal">水平位置揃え情報。</param> /// <param name="alignVertical">垂直位置揃え情報。</param> /// <param name="cut"> /// アスペクト比が異り、かつこの値が<c>true</c>である場合、拡大してはみ出した /// 分をカットします。一方<c>false</c>の場合、縮小して余白を表示します。 /// アスペクト比が一致する場合、この引数によって何も変化しません。 /// </param> public CResolutionLetterBox(EResolution source, EResolution destination, EAlign alignHorizontal, EAlign alignVertical, bool cut) : this(source.toRect(), destination.toRect(), alignHorizontal, alignVertical, cut) { }
//* ────________________________________* //* methods ───────────────────────────────-* //* -----------------------------------------------------------------------* /// <summary>原点を計算します。</summary> /// /// <param name="index">位置揃え定義の列挙体。</param> /// <param name="width">幅。</param> /// <returns>原点。</returns> public static float origin(this EAlign index, float width) { return(coefficient[(int)index] * width); }