29
7月
Posted by admin in Gecko | No Comments
CIDからHTMLDocumentが作成できるのはnanto_viさんが書いているとおり.DonutGにサムネイル機能を搭載するにあたって,nsICanvasRenderingContextInternalのインスタンスを作って,そこからコンテキストを作るのがいいらしいとなったのだけれど,風博士のソースを見る限り,MOZILLA_INTERNAL_APIというマクロをオンにしないとたぶん使えない.んで,それを回避するために,CIDから空のHTMLDocumentを作ってCanvas要素を作ればいいんじゃね?と考えた.試したところ問題なく動いた.以下はExtension Developer上で試したコード.Shell.enumWinsという変数で,今開いているウィンドウの配列が取得できる.
const NS_HTMLDOCUMENT_CID = '{5d0fcdd0-4daa-11d2-b328-00805f8a3859}';
var doc = Components.classesByID[NS_HTMLDOCUMENT_CID].createInstance();
var canvas = doc.createElement("canvas");
var ctx = canvas.getContext('2d');
ctx.drawWindow(Shell.enumWins[1].content, 0,0,300,300, "rgb(255,255,255)");
var str = canvas.toDataURL();
これがstrの内容の画像:

25
7月
Posted by admin in 日常 | No Comments
- 三四郎池前で足がつぶれたバッタがもがいていた.
- 三四郎池前でカナヘビさんがうろついていた.
- 理学部一号館二階に鳩が入っていくのが見えた.おそらく巣がある.
- 総合図書館前でアオスジアゲハが飛んでいくのが見えた.よく見かけるけど,クスノキでも生えてるのかな.
- 中型のジェット機が俺んち近くで飛んでいくのが見えた.
24
7月
Posted by admin in Gecko | No Comments
IWebBrowser2に続きIHTMLDocument2も4箇所に減った.
今困っているのは,Windowのサムネイルを取得する方法と,nsIWebBrowserFocus::Activateしているのに実際にはActivateされないという怪現象.
サムネイルのほうは,MOZILLA_INTERNAL_APIをオンにしないでやる方法を探している.なので,本当に困ったらそれを使えばよく,クリティカルではない.
フォーカスは…どうしたものか.前WTLでGecko組み込んだときはこんなこと起こらなかったぞ?
17
7月
Posted by admin in Gecko | No Comments
いつの間にかv0.1.8になっていた.残りの
- nsIPromptService
- 名前をつけて保存・印刷関連
- ページ内検索・ハイライト
をどうにかすれば,一通り使えるようになる.しかしすごいな,ソースコード中で「IWebBrowser2」が登場する箇所が4箇所にまで減ったwww 次はIHTMLDocument2を撲滅していこう.
目下のところ困っているのは,nsIWebBrowserFocus::activateを呼んでいるのに,実際にはactivateされないこと.いったんタブを切り替えたり,リンクをクリックしたり,テキストボックスをクリックしたりすると,やっとactivateされる.ウィンドウズプログラミングムズカシイネー
10
7月
Posted by admin in Gecko | No Comments
http://donut.tnose.net/
例によって低品質なり。未実装部分は向こうを見てください。
10
7月
Posted by admin in Gecko | No Comments
http://tnose.net/tmp/DonutG.zip
閲覧ができるだけの代物で、戻るボタンさえ動きません。使い方はReadme.txt読んでください。
9
7月
Posted by admin in Gecko | No Comments
いつのまにかVS9でコンパイルが通るソースが出ていたのね。
Donutの肝はDonutView, IWebBrowserEvents2Impl, CWebBrowser2, ChildFrameあたり.で,CWebBrowser2はIWebBrowser2の単なるラッパ.IWebBrowserEvents2Implがイベントリスナ.IWebBrowserEvents2Implを継承したクラス(ChildFrame)からWebBrowserEvents2Adviseを呼び出すと,IWebBrowser2と接続されるというわけか.
骨は折れるけれども,Geckoを使うようにすることはそんなに難しくないんじゃないかって気がしてきた.
13
6月
Posted by admin in 日常 | No Comments
GlobalTuners という、世界各国に配置された無線の受信機をインターネット経由で使えるサイトがあるのですが、こいつを使って、停止した後再開したという話が出ているUVB-76を聴くのを試みてみました。
Vienna 3 という名前の受信機を使い、周波数を4.625MHz, そしてAMにセット。時間帯を変えていろいろ試したところ、先ほどブザー音を聴くことに成功しました。いつか実際に機材を買って、自宅で聴いてみたい物です。
27
5月
Posted by admin in Bagel | No Comments
Bagel2について (その2)の実質続き.ほとんどメモ.半年前の下書きからサルベージした出がらしなのでこれまたちょっと古い.
14
5月
Posted by admin in 学科・専攻 | No Comments
お名前.comで.infoドメインが10円だったのでカッとなって取得した.反省はしていない → LiLFeS.info
辻井先生おめでとうございます.