はじめに
前回: RustでGUIのWindowを表示する の続きです。
今度は、円を描いてみます。
RustでWindowに円を描く
コード全体は main.rs になります。
あまり理解していないおまじないがたくさんありました。
まあ、それはそれでおいといて、悩んだポイントだけメモしておこうと思います。
Cargo.toml
conrod=0.68.0 は glium=0.24.0 が良いようだ
前回は glium = "0.25.0
でしたが、それだとexampleのコードがコンパイルできませんでした(うまくCastがされない型がありました)。0.24.0
だと大丈夫でした。
Cargo.toml
は以下のようになっています。
Cargo.toml
[dependencies]
conrod_core = "0.68.0"
conrod_glium = "0.68.0"
glium = "0.24.0"
なんでコンパイル通らないんだろう、と悩んだ箇所
下記の set(Id, UiCell)
の部分のメソッドが無い、としばらくコンパイラに怒られ続けました。
widget::Circle::fill(50.)
.middle_of(ui.window)
.color(conrod_core::color::RED)
.set(ids.circle, ui);
原因は、下記で Widget
を追加していなかったことなのですが、こういうようにメソッドが後から追加されることがしばしば(よく?)ある言語だということを思い至らず、exampleのコードとの差とは理解していたのに気が付かなかったです。
use conrod_core::{widget, Positionable, Colorable, Widget};
さいごに
macroのおまじないとかなかなか馴染めないなぁ。