blog
備忘録: Silverlightプラグインの挙動の違い。
- Windows/IE:HTML要素を重ねても、Silverlightコンテンツが最前面に来る。
 改めてやってみたら問題なかった。
- Windows/Firefox:
 Silverlightコンテンツ同士を重ねると、例え静止していても重なった部分がちらつく。
- Mac OS X/Safari:特に問題はない。
 SilverlightコンテンツにHTML要素を重ねると、テキストは前面になるが背景がSilverlightコンテンツより背面になってしまう。
 スタイルにposition:absoluteを設定すればOK。
- Mac OS X/Firefox:
 opacityスタイルを1以外に設定したHTML要素と領域が重なると、どちらが上にあるかに関わらずSilverlightコンテンツの内容が表示されない。
 重なっている部分だけでなく、1ピクセルでも重なっていると全体が表示されない。
 音は聞こえるのでストーリーボード自体は再生しているみたい。
 元々半透明のpngは重なっても問題ない。
追記: 2008.02.19
Silverlightコンテンツの上にHTML要素を重ねるとき、HTML要素のスタイルにposition:absoluteを設定するとどのブラウザでも問題ない。備忘録: Silverlightでローディング中にプログレスバーを表示するために。
Downloading Content on DemandDownloaderオブジェクトを使えば、指定したファイルを何%読み込んだかを取得したり、読み込み完了時のイベントを拾えたりするが、XAMLファイルを指定してもそこに記述されているリソースまでは含まれない(XAMLファイルを読み込み終わった時点でcompletedイベントが発生してしまう)。
この場合は、XAMLファイルとそれが参照しているリソースをZIPアーカイブにしておいて、DownloaderオブジェクトでZIPアーカイブを読み込むようにする。
追記: 2008.02.11
ZIPアーカイブ内の各リソースは、XAMLファイルでSourceを指定してあっても、DownloaderオブジェクトのcompletedイベントハンドラでいちいちSetSourceを呼んで関連づけないといけない。function ContentLoaded(sender, args)
{
  var content = sender.getHost().content.createFromXamlDownloader(
    sender, "main.xaml"
  );
  sender.findName("container").children.add(content);
  content.findName("img01").setSource(sender, "images/img01.jpg");
  content.findName("bgm01").setSource(sender, "sounds/bgm01.mp3");
}(Imageオブジェクトは問題ない)
<MediaElement x:Name="bgm01" Source="" AutoPlay="False"/>追記: 2008.02.19
Imageオブジェクトは問題ないと思ったけど、構成ファイル一覧で見るとNot Foundになっているので、やはりSourceは空にしておいた方がいいかもしれない。正月早々。
遅ればせながら、あけましておめでとうございます。
今年もどうぞよろしくお願いします。
さて、新年早々メインで使っているMacBookのHDDがフッ飛ぶというトラブルに見舞われました…。
元々80GBだった内蔵のドライブを160GBのものに換装して使用していたのですが、大晦日まで何の問題もなかったのが、1日夜に突如HDDからカラカラと異音が!
ヤバいと思い再起動をかけましたが、時既に遅く、かろうじてBoot CampのパーティションからXPが立ち上がるだけで、Mac OSの方はウンともスンとも言わなくなりました。
幸い、ホームフォルダだけは定期的にバックアップしていたので、大事には至りませんでしたが、日頃のバックアップの大切さを思い知りました。
とりあえず元の80GBのドライブに戻して、Macworld Expoで食指が動くものが何も発表されなければ(笑)、また新しくドライブを買い直そうと思っています。
そんな中、Sifter 1.1.5をリリースしました。
新たにRuby版を公開していますが、本格的にRubyを使用したのは今回初めてです。
Perl版をベースにしたのであまり苦労せず組むことができましたが、唯一引っかかったところは、0や空文字列が論理的にfalseとならないところですね。
それらは他言語ではよくfalseとして扱われているので、すべてがオブジェクトであるというRubyといえど、同様であった方が分かりやすいんじゃないかという気がします。
(確かに、オブジェクトとしては存在していて、その持つ値が0や空文字列というだけと考えると理にかなってはいるんだけど、trueやfalseもオブジェクトだし…)
Rendezvous Proxyの代用はNetwork Beacon。
LeopardでRendezvous Proxyが使えなくなったため、代替の方法を検索していたら見つけました。
これで職場でのBGM環境も整って、ほぼLeopardへ移行できた感じです。
こうして見ると、Leopardで問題になったところはほとんどファイアウォール絡みのような気がします。
LeopardのセキュリティはVista以下と揶揄されたり、新しいファイアウォールの設定も使いづらいし、ここだけは改悪だなあと思います。
Synergy on Leopard
Leopardで動作しなくなったSynergyですが、-fオプションをつけて起動することでサーバもクライアントもとりあえずは動作しました。
/usr/local/synergy/bin/synergys -f -c /etc/synergy.conf &