2017-01-01から1年間の記事一覧
最近SWIGづいていますが… PythonのSWIG(SWIGのPythonか…?)ラッパーオブジェクトからポインタを取り出すにはどうすればいいのか? それも、自作のクラスオブジェクトでございます。 なんでこんなことをする必要があるのかというと、SWIG化クラス「foo」があ…
感動のあまりカキコ! 改造版mypaintのsizechangemode.pyから一部抜粋〜 def drag_start_cb(self, tdw, event): self._ensure_overlay_for_tdw(tdw) self._queue_draw_brush() # Storing original cursor position and some needed objects. dev = event.get…
ついでにこれも思いついたシリーズ。 すなわち例えば、SWIG側の内部にstaticで構造体ポインタのリストを持っておき。 idx = register_hogehoge(void *ptr)でそのリストに登録。 その後はidxを使って(OpenGLのテクスチャの名前みたいな感じで)、例えば draw_…
Pythonで作ったGdkPixbufを、SWIGのC++関数に送り込んでC++の中で最速描画ということを考えつきました。 さらに、そのpixbufはcairoから作ると、なお痛快でしょう。 と前々から思っていたのですが、遂に重い腰を上げて作ってみました。 そんなわけでそのサン…
ついつい、勢いでwacomの液タブCintiq 13HDを買ってしまいました(^^; 旧モデルなのは、安いだけでなくLinuxで使うには何も考えなくて良くて都合が良いというメリットもあるのです。 どーでもよいのですがこの絵、tegaki_dtで頑張って書いてたらボタンの誤爆…
何か超久々ですがとりあえず… とりあえず以下、例として、 Flagtileというクラスがあるとします python用のtestlib2モジュールに組み込まれます。 SWIG, g++ともコンパイルは問題なく通る C++内では普通に使えている しかし、SWIGでPythonモジュールに組み込…
PyGObject…でいいのでしょうか。PyGiなのか。未だによくわかりません。 とにかく新しい方のGtkのpythonバインディングで、コンボボックスのカスタムレンダラーで使うデフォルトのフォントサイズを取得したくなりました。 これはMyPaintにOpenCVのgrabCut関数…
何か「ハリーポッターと魔法のナントカ」みたいなタイトル… それはともかくSWIGとnumpyでハマってしまったので備忘録的にメモ。 現象としては hppでNO_IMPORT_ARRAYを定義して#include <numpy/arrayobject.h>すると、.pyファイルでSWIGモジュールをインポートした時点でimporterro</numpy/arrayobject.h>…
これまた備忘録的に… 当然ながらgccとかg++はデバッグオプション(-g -O0) でビルド mypaintの場合はsconsを使っているため、SConstructに書いてあるようにdebugオプションを使う つまり、scons debug=true デバッグビルドができたらcgdb pythonとする b 関…
MyPaintに塗りつぶし拡大ルーチンを設置すべく、Python+SWIGで頑張ってみますた!(`・ω・´) 結果は… 何とか動くようになった!?!? それで悩んだところを備忘録的に書いておこうと思います。 手こずったところ まずPyDict_SetItem()。これがキツかった。 …