ミープレ!

Karnoの日記

( ゚∀゚)o彡゜リニア!リニア!

2008/09/03 00:02

長い間
「未来の超特急」
「実現しない」
とか言われてたリニアですが、ついに国が動きました。
http://gigazine.net/index.php?/news/comments/20080902_linear_shinkansen/
http://mainichi.jp/life/money/news/20080902k0000m010177000c.html
※リニアについて http://linear.jr-central.co.jp/index.html

( ゚∀゚)o彡゜リニア!リニア!つるぺたリニア!

固定リンク | コメント: 3

さて。

2008/09/02 23:50

韓国経済が10日あたりに峠を迎えるそうです。
また破綻するのかなぁ。



そして俺は半年ほど消えます。ノシ

固定リンク | コメント: 0

なんだかなぁ。

2008/08/30 20:25

サイト凍結するのすら面倒臭い

固定リンク | コメント: 0

Google Suggest

2008/08/27 19:41



ですよねー。

固定リンク | コメント: 1

二名様ごあんな~いっ♪

2008/08/25 18:56

仲悪いのは分かったから他所でやってくれんかなぁ。。。

つか何が起きてるの?両者とも自重しないの?
いい加減気づけよ。もしくは爆発しろ。

あーあ。

固定リンク | コメント: 3

政治の問題点。

2008/08/21 21:45

上層部がジジババすぎる。

あとは好きなだけ私腹肥やしてこの世とオサラバっすか。

固定リンク | コメント: 2

ひゃっほう!!!!!!!!!!

2008/08/19 20:27

トランス状態だぜwwwwwwwwwwwwwwwwwwwww
トランス脂肪酸は嫌われてるみたいだけど
でもそんなの関係ねぇwwwwwwwwwwwwwwwww

/// <summary>
/// リンク付きテキストを指定されたarea内に描画します。
/// ただしheightは無視します。
/// </summary>
/// <param name="g">描画グラフィック</param>
/// <param name="texts">描画リンクデータの配列</param>
/// <param name="area">描画する大きさとか位置とか</param>
/// <param name="draw">計算だけか、描画するのか</param>
/// <param name="height">描画した後の高さ</param>
/// <returns>リンク描画したエリアたち</returns>
private LinkRectangles[] DrawWrappedLinkText(Graphics g, LinkTextData[] texts, Rectangle area, bool draw, out int height)
{
    Rectangle cline = area;
    int lines = 1;
    int MaxHeight = 0;
    List<Rectangle> drawAreas = new List<Rectangle>();
    List<LinkRectangles> LinkRects = new List<LinkRectangles>();
    foreach (LinkTextData ltd in texts)
    {
        String LinkTextBuffer = ltd.LinkText;
        int prevlen = -1; //前の長さを格納しとく
        {
            //現在の行の高さを取得して、一番大きければMaxHeightへ
            //スコープの関係上{}でくくる
            int lh = GetRealStringSize(ltd.LinkText, g).Height;
            if (lh > MaxHeight) MaxHeight = lh;
        }
        drawAreas.Clear();
        while (LinkTextBuffer != "")
        {
            String drawText = LinkTextBuffer;
            Size charsize = GetRealStringSize(drawText.Substring(0, 1), g);
            if (cline.Width < charsize.Width)
            {
                //新しい行にする
                VerticalShift(ref area, charsize.Height);
                cline = area;
                lines++;
            }
            //前の長さを参考にすることができるかな?
            if (prevlen != -1 && drawText.Length > prevlen)
            {
                //できそう
                drawText = drawText.Substring(0, prevlen);
            }
            else
            {
                //初っ端なので概算する
                double aboutlen = (double)GetRealStringSize(drawText, g).Width / (double)Width;
                if (aboutlen > 1.0) //drawTextの方が長い場合で
                {
                    //およそaboutlen倍textが長い
                    //->なら1/aboutlen倍すればいいじゃん!
                    drawText = drawText.Substring(0, (int)(drawText.Length / aboutlen));
                }
            }
            //処理高速化のため方向によって分ける
            if (GetRealStringSize(drawText, g).Width > cline.Width)
            {
                //縮める方
                while (GetRealStringSize(drawText, g).Width >= cline.Width && drawText.Length > 1)
                {
                    drawText = drawText.Substring(0, drawText.Length - 1);
                }
            }
            else if (GetRealStringSize(drawText, g).Width < cline.Width)
            {
                //伸ばす方
                while (GetRealStringSize(drawText, g).Width < cline.Width && LinkTextBuffer.Length - drawText.Length > 1)
                {
                    drawText = drawText + LinkTextBuffer.Substring(drawText.Length, 1);
                }
                //だからってはみ出しちゃ意味無いよね!
                //最悪でも1文字でしょ!
                if (GetRealStringSize(drawText, g).Width > cline.Width)
                    drawText = drawText.Substring(0, drawText.Length - 1);
            }
            //リンクテキストのバッファを更新しとく
            LinkTextBuffer = LinkTextBuffer.Substring(drawText.Length);
            if (draw) //描画するの?
            {
                if (ltd.IsLink)
                {
                    using (Font f = new Font(Font, FontStyle.Underline))
                        DrawText(drawText, g, cline, LinkColor, f);
                }
                else
                    DrawText(drawText, g, cline, TextColor);
            }
            //リンクだったら描画領域をListに追加しとく
            if (ltd.IsLink)
            {
                drawAreas.Add(new Rectangle(cline.Location, GetRealStringSize(drawText, g)));
            }
            prevlen = drawText.Length;
            HorizontalShift(ref cline, GetRealStringSize(drawText, g).Width);
        }
        if (ltd.IsLink)
            LinkRects.Add(new LinkRectangles(ltd, drawAreas.ToArray()));
    }
    height = lines * MaxHeight;
    return LinkRects.ToArray();
}


これはこの部分になりました。

固定リンク | コメント: 0

年賀状とか どうですか?

Menu

News!