wxD

wxD

Dのニュースグループで Swig で wxWidgets やってみーとかなんか出てたので、今までの成果をチョロっと出したら、なかなかいい反応。がんばるぞ

wxD

wxD のロゴを作りたくなって POV-Ray でなんかやってた。あんまり面白くないなあ…。

手作業ですることメモ: int* の対応 int* x 等となっている部分を全て変更する。数値の取得の場合は int* か wxCoord* の2種類存在する。wxCoord は int の alias である。具体的な例を示すと、 /* wxBitmap.d line 158 */ public void GetDeviceOrigin(int…

wxD

メモ: wxc関連 wxPoint と wxSize の実装が無い あとで('A`) (いらないかも) delete してる部分で null チェックしてないので怖い 全部書き換えた wxD関連 void* wxColour_CreateFromStock(int id) が _Createナントカ と引数情報同じでコンストラクタが衝…

wxD

wxc が致命的にやばいということで、そこをどうにかする。まずは wxWindow やら wxFrame やらの重要なクラスの delete 関数の実装(なぜこれが無いんだ…)ステータスバーやらなにやらは、C++のインスタンスをいっさい delete しないのなら動く状況になった。…

ClassName_Create.* という名前を、コンストラクタとして this に置き換えているが、wxMenuItem は void* wxMenuItem_Create(); void* wxMenuItem_CreateSeparator(); という二つの new をしているラップ関数があり、そのまま単純に置換すると両方 this() に…

wxD

メモ EWXWEXPORT(int, wxMenu_GetTitle)(void* _obj, void* _buf) { wxString result = GetTitle(); if (_buf) memcpy (_buf, result.c_str(), result.Length(">*1; return result.Length(); } のような、文字列の配列を得るためのラッパ関数は、_buf が十分…

wxD

方針メモ クラス名は wxWidgets と同じにする。 1クラス1ファイル、wxd というディレクトリにまとめる オリジナルのクラスの、メンバ変数へのアクセス用関数は用意するか分からない C++のインスタンスは void* な変数に格納するが、その際に alias でクラス…

wxD

wxWidgets の深みにはまった気がした!('A`) wxc のラッピング具合が非常に中途半端で死にそう。extern(C)化まで自分でやらなければいけないかもしれない。とりあえず、wxEvent, wxMenu 当りで動くか確認しなければ。動くと思うけど。$(WXDIR)/sample の下の …

delete を行うほとんどの関数の名前が ClassName_Delete だったのに、ひとつだけ ClassName_Release ってのがあった、、、167個中1個、罠ですか?たまたま目の前にあったから気づいた…。 ところで、wxD という名前はすこし見た目が良くないから、wxDee にし…