テーマについて
スライドの見た目はRDとは別に指定します.それがテーマです.
テーマのテスト用のスライドがsample/theme-bench.rabにあるので 活用してください。
置き場所
テーマはrubyの$LOAD_PATHから検索されます.新しくテーマを作成 した場合は$LOAD_PATHに含まれているパス/rabbit/theme/テーマ 名/テーマ名.rbあるいはソースがあるディレクトリ/テーマ 名.rbに置いてください.
書き方
テーマはRubyスクリプトです.難しいと思われるかもしれませんが, 凝ったことをしなければそれほど難しいことはありません.
テーマは以下のような記述を列挙していくことになると思います.
- 対象となるスライド中の要素(段落とか,ページタイトルと か)を選択
- 選択した要素に対して属性を変更したり,描画時の動作を加 えたりする.
例えば,各ページ(タイトルページは含まない)にあるタイトルの 文字の色を変更したい場合は以下のように書きます.
match(Page, HeadLine) do |heads| heads.prop_set("foreground", "red") end
headsというように複数形になっているのは,headsは タイトル(見出し,head line)を0個以上含んでいるからです.
プロパティ
prop_set
では前景色(foreground)以外にも以下のものが指
定できます.詳しくはPango Text Attribute
Markup
を見てください.
- font_desc
- フォント情報を指定します.
- font_family
-
フォント名を指定します.
フォント名の一覧は
font_families
とやればフォント名の 配列として取得できます. - face
- font_familyと同じです.
- size
-
フォントの大きさを指定します.
フォントの大きさを数値で指定する場合は,指定する数値を
screen_size
で変換してからPango::SCALE
を掛けて ください.例えば,フォントの大きさを(Rabbitのテーマの世 界の単位で)2にする場合は以下のようにします.screen_size(2) * Pango::SCALE
- style
- フォントのスタイルを指定します.
- weight
- フォントの重みを指定します.
- variant
- フォントのvariant(変形方法って感じ?)を指定します.
- stretch
- フォントの伸び縮みの具合を指定します.
- foreground
- 前景色を指定します.
- background
- 背景色を指定します.
- underline
- 下線の種類をします.
- rise
- 文字の上下の位置を指定します.
- strikethrough
- 取消線を引くかどうかを指定します.
- fallback
- 指定したフォントがなかった場合に似たようなフォントで代用 するかどうかを指定します.
- lang
- 言語を指定します.
- b
- 太字にします.
- big
- フォントのサイズを大きくします.
- i
- 斜体にします.
- s
- 取消線を引きます.
- sub
- 下付き文字にします.
- sup
- 上付き文字にします.
- small
- フォントのサイズを小さくします.
- tt
- 固定スペースフォントにします.
- u
- 下線を引きます.
フック
要素が描画される前,又は後に実行される手続きを指定することが
できます.それぞれ,add_pre_draw_proc
,
add_post_draw_proc
で指定できます.これらの手続きを削除
するときは,それぞれclear_pre_draw_procs
,
clear_post_draw_procs
を使います.
詳しくは...とりあえず,今のところはdefaultテーマを参考に してください.