GoogleAnalytics

SyntaxHighlighter

2011年12月5日月曜日

[Glaeja] ミラー・イメージ

Blogコメやマケレビュー、Twitterなどで、「Glaejaに鏡像・ミラーを追加してください」というご要望を頂いております。また、以前のエントリで、自分でも「ミラー作るかも」と書いていたにもかかわらず、未だに実装されていません

…これは、嫌がらせではなく、「実装できない」、というか正しくは「今のGlaejaに実装しても使い勝手悪い」と考えているからです。

※※※※※※※※※※※※※※※※※※※※

とかなんとか抜かしておりましたが、
2011-12-07 に公開した ver. 1.7.0(20111207a版)で[ミラー]レイヤーを実装しました。

※※※※※※※※※※※※※※※※※※※※

当時、実装したくなかった屁理屈は続きに残しておきます…



もし仮に、[ミラー]レイヤーをGlaejaに実装したとしましょう。このレイヤーは効果レイヤーとして実装されるでしょう。つまり「次の要素レイヤーの鏡像反転画像を描画する」という、[シャドウ]レイヤーみたいなものになるはずです。

さて、Glaejaのレイヤーシステムには、その描画に関わる重大なルールがあります。それは、「効果レイヤーは、次の要素レイヤーに対し、何らかの効果を付与するものである」というものです。このことは同時に、「効果レイヤーは、その効果を別の効果レイヤーには付与することができない」ことを意味します。

つまり、このルールに従う限り、[ミラー]レイヤーで作った鏡像に「グラデーション」レイヤーを使ってグラデーションをかけることはできない、ということになります。

…使い勝手悪いでしょ、こんなの。

これを解決する方法は、
  1. 全ての要素レイヤーに[鏡像]というチェック項目をつけることで、鏡像反転を「効果レイヤー」ではなく、「要素レイヤー」にしてしまう。
  2. 「効果レイヤー」の効果付与対象を、要素レイヤーだけでなく、効果レイヤーに対しても拡張する。
と、2つほど考えたんですが、1. はなんかルール的なまとまりに欠ける感がするのと、改修対象が多いので面倒だなぁ、とw
2. のほうがルール的にはスジがイイんですが、このレイヤー描画ルールは描画ルーチンの根幹なので、これを上記のように改修するのは、(改修対象は1箇所だけど)結構面倒くさいんですよね…

ただ、2. のようにルール変更すると、普通の[シャドウ]にもグラデーションがかけられるようになるなど、より表現力が増すので、こっちで検討してみるかなぁ、と考えています。

…でも[転送モード]レイヤーの取り扱いが面倒になるんだよなぁ……


2011-12-07 に公開した ver. 1.7.0(20111207a版)で[ミラー]レイヤーを実装しました。
みんなバンバン使ってくれよなw

0 件のコメント: