[binllion] レイアウトを複雑に組む
前回の処理でスクロールできるようになりましたがヘッダーもスクロールしてしまいました。 ヘッダーは固定してデータ部分のみスクロールするようにしたいです。 現状は同じParagraphの中にヘッダーとデータの情報が入ってしま…
前回の処理でスクロールできるようになりましたがヘッダーもスクロールしてしまいました。 ヘッダーは固定してデータ部分のみスクロールするようにしたいです。 現状は同じParagraphの中にヘッダーとデータの情報が入ってしま…
カーソルの表示と移動ができるようになったので次はスクロールの機能をつけたいと思います。 スクロールはratatuiのParagraphにあるそのものズバリなscrollメソッドを使って行います。 これらの処理を行うために…
「mdBookではじめるKindle出版」 Rustの勉強のために始めたbinllionの開発ですが、非常に長くなってきたので本にまとめることができそうなボリュームです。さて、どうすればよいのか検討していました。 紙の本…
データを編集する上で必要になるカーソルを表示するようにしてみます。 ratatuiの座標は左上が原点になっているのでそこを基点に計算することになります。 ただ移動するだけではなく、エディタとしてはカーソルの位置にある値を…
Canvaに買収されたAffinity Photoなどレタッチソフトを扱うSerifで今年もブラックフライデーセールをやっています。12月10日までです。クリスマスセールもありますが例年の傾向からブラックフライデーセール…
またもや前回の続きになりますが、structとトレイトを組み合わせで書けるのであればenumでも書けるのではないかと試行錯誤してみました。 バリアントと関数やメソッドを紐づけてConvert::ToHex.get()みた…
前回にて、型の制約で引数の制限をかけていましたが、それだけでは予期せぬ挙動の可能性がありました。 もう少し制約をかけると良さそうです。 トレイト境界という仕組みを使うと機能としての制約をつけ、挙動を想定することができます…
前回にてASCII変換処理はオリジナルの関数to_ascii_9()を使用することで落ち着きました。 次にこの関数を呼び出すことを考えましょう。 16進数に変換するto_hex()と同じ呼び出し方にすれば良いので下記のよ…