rabbit 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. data/bin/rabbiter +5 -3
  2. data/doc/_layouts/en.html +1 -1
  3. data/doc/_layouts/ja.html +1 -1
  4. data/doc/_plugins/converters/markdown.rb +13 -0
  5. data/doc/_site/en/development.html +2 -2
  6. data/doc/_site/en/faq.html +2 -2
  7. data/doc/_site/en/hiki.html +2 -2
  8. data/doc/_site/en/how-to-make/hiki.html +2 -2
  9. data/doc/_site/en/how-to-make/index.html +2 -2
  10. data/doc/_site/en/how-to-make/pdf.html +2 -2
  11. data/doc/_site/en/how-to-make/rd.html +2 -2
  12. data/doc/_site/en/how-to-make/theme.html +2 -2
  13. data/doc/_site/en/index.html +2 -7
  14. data/doc/_site/en/install/homebrew.html +2 -2
  15. data/doc/_site/en/install/index.html +2 -2
  16. data/doc/_site/en/install/macports.html +2 -2
  17. data/doc/_site/en/install/windows.html +2 -2
  18. data/doc/_site/en/news.html +93 -173
  19. data/doc/_site/en/rd.html +2 -2
  20. data/doc/_site/en/sample/hiki/rabbit.html +2 -2
  21. data/doc/_site/en/sample/index.html +2 -2
  22. data/doc/_site/en/sample/rd/rabbit.html +2 -2
  23. data/doc/_site/en/slides.html +2 -2
  24. data/doc/_site/en/usage.html +2 -2
  25. data/doc/_site/en/users.html +3 -3
  26. data/doc/_site/images/screenshots/en/blue-circle-raw.png +0 -0
  27. data/doc/_site/images/screenshots/en/blue-circle.png +0 -0
  28. data/doc/_site/images/screenshots/en/clear-blue-raw.png +0 -0
  29. data/doc/_site/images/screenshots/en/clear-blue.png +0 -0
  30. data/doc/_site/images/screenshots/en/cozmixng-raw.png +0 -0
  31. data/doc/_site/images/screenshots/en/cozmixng.png +0 -0
  32. data/doc/_site/images/screenshots/en/dark-gradation-raw.png +0 -0
  33. data/doc/_site/images/screenshots/en/dark-gradation.png +0 -0
  34. data/doc/_site/images/screenshots/en/day-white-raw.png +0 -0
  35. data/doc/_site/images/screenshots/en/day-white.png +0 -0
  36. data/doc/_site/images/screenshots/en/debian-raw.png +0 -0
  37. data/doc/_site/images/screenshots/en/debian.png +0 -0
  38. data/doc/_site/images/screenshots/en/green-circle-raw.png +0 -0
  39. data/doc/_site/images/screenshots/en/green-circle.png +0 -0
  40. data/doc/_site/images/screenshots/en/night-black-raw.png +0 -0
  41. data/doc/_site/images/screenshots/en/night-black.png +0 -0
  42. data/doc/_site/images/screenshots/en/rabbit-raw.png +0 -0
  43. data/doc/_site/images/screenshots/en/rabbit.png +0 -0
  44. data/doc/_site/images/screenshots/en/ranguba-raw.png +0 -0
  45. data/doc/_site/images/screenshots/en/ranguba.png +0 -0
  46. data/doc/_site/images/screenshots/en/red-frame-raw.png +0 -0
  47. data/doc/_site/images/screenshots/en/red-frame.png +0 -0
  48. data/doc/_site/images/screenshots/en/ruby-gnome2-raw.png +0 -0
  49. data/doc/_site/images/screenshots/en/ruby-gnome2.png +0 -0
  50. data/doc/_site/images/screenshots/en/rubykaigi2011-raw.png +0 -0
  51. data/doc/_site/images/screenshots/en/rubykaigi2011.png +0 -0
  52. data/doc/_site/images/screenshots/ja/blue-circle-raw.png +0 -0
  53. data/doc/_site/images/screenshots/ja/blue-circle.png +0 -0
  54. data/doc/_site/images/screenshots/ja/clear-blue-raw.png +0 -0
  55. data/doc/_site/images/screenshots/ja/clear-blue.png +0 -0
  56. data/doc/_site/images/screenshots/ja/cozmixng-raw.png +0 -0
  57. data/doc/_site/images/screenshots/ja/cozmixng.png +0 -0
  58. data/doc/_site/images/screenshots/ja/dark-gradation-raw.png +0 -0
  59. data/doc/_site/images/screenshots/ja/dark-gradation.png +0 -0
  60. data/doc/_site/images/screenshots/ja/day-white-raw.png +0 -0
  61. data/doc/_site/images/screenshots/ja/day-white.png +0 -0
  62. data/doc/_site/images/screenshots/ja/debian-raw.png +0 -0
  63. data/doc/_site/images/screenshots/ja/debian.png +0 -0
  64. data/doc/_site/images/screenshots/ja/green-circle-raw.png +0 -0
  65. data/doc/_site/images/screenshots/ja/green-circle.png +0 -0
  66. data/doc/_site/images/screenshots/ja/night-black-raw.png +0 -0
  67. data/doc/_site/images/screenshots/ja/night-black.png +0 -0
  68. data/doc/_site/images/screenshots/ja/rabbit-raw.png +0 -0
  69. data/doc/_site/images/screenshots/ja/rabbit.png +0 -0
  70. data/doc/_site/images/screenshots/ja/ranguba-raw.png +0 -0
  71. data/doc/_site/images/screenshots/ja/ranguba.png +0 -0
  72. data/doc/_site/images/screenshots/ja/red-frame-raw.png +0 -0
  73. data/doc/_site/images/screenshots/ja/red-frame.png +0 -0
  74. data/doc/_site/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
  75. data/doc/_site/images/screenshots/ja/ruby-gnome2.png +0 -0
  76. data/doc/_site/images/screenshots/ja/rubykaigi2011-raw.png +0 -0
  77. data/doc/_site/images/screenshots/ja/rubykaigi2011.png +0 -0
  78. data/doc/_site/index.html.en +2 -2
  79. data/doc/_site/index.html.ja +2 -2
  80. data/doc/_site/ja/about.html +2 -2
  81. data/doc/_site/ja/development.html +2 -2
  82. data/doc/_site/ja/faq.html +2 -2
  83. data/doc/_site/ja/hiki.html +2 -2
  84. data/doc/_site/ja/how-to-make/hiki.html +2 -2
  85. data/doc/_site/ja/how-to-make/index.html +2 -2
  86. data/doc/_site/ja/how-to-make/pdf.html +2 -2
  87. data/doc/_site/ja/how-to-make/rd.html +2 -2
  88. data/doc/_site/ja/how-to-make/theme.html +2 -2
  89. data/doc/_site/ja/index.html +2 -7
  90. data/doc/_site/ja/install/homebrew.html +2 -2
  91. data/doc/_site/ja/install/index.html +2 -2
  92. data/doc/_site/ja/install/macports.html +2 -2
  93. data/doc/_site/ja/install/windows.html +2 -2
  94. data/doc/_site/ja/news.html +93 -173
  95. data/doc/_site/ja/rd.html +2 -2
  96. data/doc/_site/ja/sample/hiki/rabbit.html +2 -2
  97. data/doc/_site/ja/sample/index.html +2 -2
  98. data/doc/_site/ja/sample/rd/rabbit.html +2 -2
  99. data/doc/_site/ja/slides.html +2 -2
  100. data/doc/_site/ja/usage.html +2 -2
  101. data/doc/_site/ja/users.html +2 -2
  102. data/doc/css/rabbit.css +1 -0
  103. data/doc/en/how-to-make/index.rd +5 -4
  104. data/doc/en/how-to-make/markdown.md +48 -0
  105. data/doc/en/how-to-make/rd.rd +1 -1
  106. data/doc/en/index.rd +1 -1
  107. data/doc/en/news.rd +43 -0
  108. data/doc/en/sample/hiki/rabbit.hiki +237 -235
  109. data/doc/en/sample/index.rd +4 -0
  110. data/doc/en/sample/markdown/rabbit.md +383 -0
  111. data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
  112. data/doc/images/screenshots/en/blue-circle.png +0 -0
  113. data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
  114. data/doc/images/screenshots/en/clear-blue.png +0 -0
  115. data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
  116. data/doc/images/screenshots/en/cozmixng.png +0 -0
  117. data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
  118. data/doc/images/screenshots/en/dark-gradation.png +0 -0
  119. data/doc/images/screenshots/en/day-white-raw.png +0 -0
  120. data/doc/images/screenshots/en/day-white.png +0 -0
  121. data/doc/images/screenshots/en/debian-raw.png +0 -0
  122. data/doc/images/screenshots/en/debian.png +0 -0
  123. data/doc/images/screenshots/en/green-circle-raw.png +0 -0
  124. data/doc/images/screenshots/en/green-circle.png +0 -0
  125. data/doc/images/screenshots/en/night-black-raw.png +0 -0
  126. data/doc/images/screenshots/en/night-black.png +0 -0
  127. data/doc/images/screenshots/en/rabbit-raw.png +0 -0
  128. data/doc/images/screenshots/en/rabbit.png +0 -0
  129. data/doc/images/screenshots/en/ranguba-raw.png +0 -0
  130. data/doc/images/screenshots/en/ranguba.png +0 -0
  131. data/doc/images/screenshots/en/red-frame-raw.png +0 -0
  132. data/doc/images/screenshots/en/red-frame.png +0 -0
  133. data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
  134. data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
  135. data/doc/images/screenshots/en/rubykaigi2011-raw.png +0 -0
  136. data/doc/images/screenshots/en/rubykaigi2011.png +0 -0
  137. data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
  138. data/doc/images/screenshots/ja/blue-circle.png +0 -0
  139. data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
  140. data/doc/images/screenshots/ja/clear-blue.png +0 -0
  141. data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
  142. data/doc/images/screenshots/ja/cozmixng.png +0 -0
  143. data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
  144. data/doc/images/screenshots/ja/dark-gradation.png +0 -0
  145. data/doc/images/screenshots/ja/day-white-raw.png +0 -0
  146. data/doc/images/screenshots/ja/day-white.png +0 -0
  147. data/doc/images/screenshots/ja/debian-raw.png +0 -0
  148. data/doc/images/screenshots/ja/debian.png +0 -0
  149. data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
  150. data/doc/images/screenshots/ja/green-circle.png +0 -0
  151. data/doc/images/screenshots/ja/night-black-raw.png +0 -0
  152. data/doc/images/screenshots/ja/night-black.png +0 -0
  153. data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
  154. data/doc/images/screenshots/ja/rabbit.png +0 -0
  155. data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
  156. data/doc/images/screenshots/ja/ranguba.png +0 -0
  157. data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
  158. data/doc/images/screenshots/ja/red-frame.png +0 -0
  159. data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
  160. data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
  161. data/doc/images/screenshots/ja/rubykaigi2011-raw.png +0 -0
  162. data/doc/images/screenshots/ja/rubykaigi2011.png +0 -0
  163. data/doc/index.html.en +3 -1
  164. data/doc/index.html.ja +3 -1
  165. data/doc/ja/faq.rd +1 -1
  166. data/doc/ja/how-to-make/index.rd +5 -4
  167. data/doc/ja/how-to-make/markdown.md +53 -0
  168. data/doc/ja/index.rd +1 -1
  169. data/doc/ja/news.rd +44 -0
  170. data/doc/ja/sample/hiki/rabbit.hiki +277 -275
  171. data/doc/ja/sample/index.rd +4 -0
  172. data/doc/ja/sample/markdown/rabbit.md +378 -0
  173. data/lib/rabbit/element/base.rb +8 -1
  174. data/lib/rabbit/element/block-element.rb +4 -0
  175. data/lib/rabbit/element/container-element.rb +3 -3
  176. data/lib/rabbit/element/text-renderer.rb +12 -3
  177. data/lib/rabbit/parser/markdown.rb +1 -1
  178. data/lib/rabbit/parser/markdown/converter.rb +6 -0
  179. data/lib/rabbit/rabbit.rb +1 -1
  180. data/lib/rabbit/theme/debian/debian.rb +10 -11
  181. data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +5 -1
  182. data/lib/rabbit/theme/enishi-green/enishi-green.rb +61 -0
  183. data/lib/rabbit/theme/enishi-green/property.rb +3 -0
  184. data/lib/rabbit/twitter.rb +4 -0
  185. data/po/rabbit.pot +116 -124
  186. data/sample/enishi-green.rab +14 -0
  187. metadata +42 -37
  188. data/sample/note.rab +0 -12
  189. data/sample/test.hiki +0 -31
  190. data/sample/test.rab +0 -30
@@ -9,3 +9,7 @@ title: サンプルスライド
9
9
  == Hiki記法でのサンプル
10
10
 
11
11
  * ((<"hiki/rabbit.html"/Rabbit>))
12
+
13
+ == Markdown記法でのサンプル
14
+
15
+ * ((<"markdown/rabbit.html"/Rabbit>))
@@ -0,0 +1,378 @@
1
+ ---
2
+ layout: ja
3
+ title: "サンプルスライド: Rabbit"
4
+ ---
5
+ # Rabbit
6
+
7
+ subtitle
8
+ : Markdownでプレゼンテーション
9
+
10
+ author
11
+ : 須藤功平
12
+
13
+ institution
14
+ : COZMIXNG
15
+
16
+ theme
17
+ : rabbit
18
+
19
+ # Rabbit
20
+
21
+ プレゼンテーションツール
22
+
23
+ * 実装: Ruby/GTK+ 2/cairo
24
+ * 動作: PC-UNIX/Win/Mac
25
+ * 書式:
26
+ Wiki/RD/Markdown/PDF
27
+ * 見た目: Ruby
28
+
29
+ # 機能: 表示(1)
30
+
31
+ * *強調*
32
+ * ソースの色付け
33
+
34
+ # 機能: 表示(2)
35
+
36
+ * 表
37
+ * おもしろテーマ
38
+ * 画像
39
+ * 対応フォーマット多数
40
+ * PNG/JPEG/.../PDF/EPS/SVG
41
+
42
+ # 機能: 表示(3)
43
+
44
+ * 長い行の折り畳み
45
+ * ソースの色付け
46
+ * 大きな文字
47
+
48
+ # 機能: UI(1)
49
+
50
+ * 豊富なキーバインド
51
+ * 右クリックメニュー
52
+ * マウスジェスチャ
53
+ * スポットライト
54
+ * 虫眼鏡
55
+
56
+ # 機能: UI(2)
57
+
58
+ * 一覧ページ
59
+ * 落書き
60
+ * 国際化
61
+ * スライド内検索
62
+
63
+ # 機能: UI(3)
64
+
65
+ * ホワイト・ブラックアウト
66
+ * スライド白塗り・黒塗り
67
+ * ラビットホール
68
+ * スライドに穴
69
+ * 持ち時間の残りを視覚化
70
+ * うさぎとかめ
71
+
72
+ # 機能: 入力
73
+
74
+ * ファイル
75
+ * 標準入力
76
+ * HTTP
77
+ * Hiki/RWiki
78
+ * SlideShare
79
+
80
+ # 機能: 入力書式
81
+
82
+ * Wiki(Hiki)
83
+ * RD
84
+ * Markdown (kramdown)
85
+ * PDF
86
+ * →PDFビューア
87
+
88
+ # 機能: 出力
89
+
90
+ * 画像
91
+ * 画像 + HTML
92
+ * PS/PDF
93
+ * 印刷用PS/PDF
94
+ * nスライド/ページ
95
+
96
+ # 機能: 外部API
97
+
98
+ * HTTP
99
+ * dRuby
100
+ * XML-RPC
101
+ * SOAP
102
+
103
+ # 機能: 作成支援
104
+
105
+ * ソースの自動再読み込み
106
+ * テーマの再読み込み
107
+ * テーマの切り替え
108
+
109
+ # ToDo
110
+
111
+ * インラインでの画像表示
112
+ * リンク先へのジャンプ
113
+ * サウンド
114
+ * ビデオ
115
+ * 3D
116
+
117
+ # 画像
118
+
119
+ ![](lavie.png "Lavie"){:width='100' height='100'}
120
+
121
+ # 画像: 鏡面反射
122
+
123
+ ![](shocker.jpg){:relative_height='80' reflect_ratio='0.5'}
124
+
125
+ # 画像: 背景(1)
126
+
127
+ * 背景画像
128
+ * デフォルトはセンタリング
129
+
130
+ ## プロパティ
131
+
132
+ background-image
133
+ : lavie.png
134
+
135
+ background-image-relative-width
136
+ : 50
137
+
138
+ {::comment}
139
+ background-image-align
140
+ : right
141
+
142
+ background-image-relative-margin-right
143
+ : 3
144
+ {:/comment}
145
+
146
+ # 画像: 背景(2)
147
+
148
+ ![](lavie.png){:relative_width="30" align="right" relative_margin_right="-5"}
149
+
150
+ * 右寄せ背景画像
151
+ * スライド内で指定
152
+ * \{:align="right"\}
153
+
154
+ # 画像サイズ
155
+
156
+ スライドサイズに応じて変更可能
157
+
158
+ ![](usagi.png){:caption="兎" relative_height="50"}
159
+
160
+ # 外部画像
161
+
162
+ URL先の画像をダウンロード
163
+
164
+ ![](http://www.cozmixng.org/repos/images/cozmixchu.png "こずみっくちゅー")
165
+
166
+ # 数式
167
+
168
+ * 書式: TeX
169
+ * バックエンド
170
+ * LaTeX
171
+
172
+ # LaTeX
173
+
174
+ $$
175
+ $f(x)=\displaystyle\int_{-\infty}^x~e^{-t^2}dt$
176
+
177
+ \LaTeX
178
+ $$
179
+
180
+ # EPS
181
+
182
+ 事前にEPSで作成
183
+
184
+ ![](equation.eps){:relative_width="80"}
185
+
186
+ # SVG
187
+
188
+ ![](spiral.svg){:relative_height="100"}
189
+
190
+ # Dia
191
+
192
+ ![](rabbit.dia){:relative_width="90"}
193
+
194
+ # GIMP
195
+
196
+ ![](rabbit.xcf){:relative_height="100"}
197
+
198
+ # 折り返し
199
+
200
+ なーーーーーーーーーーーーーーーーーーーーーーーーーーーーーがーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーい行は?
201
+
202
+ # ソース
203
+
204
+ 以下がソース
205
+
206
+ # comment
207
+ def method_name
208
+ body
209
+ end
210
+
211
+ 以上がソース
212
+
213
+ # ソース: 色付き
214
+
215
+ 以下がソース
216
+
217
+ # comment
218
+ def method_name
219
+ body
220
+ end
221
+ {: lang="ruby"}
222
+
223
+ 以上がソース
224
+
225
+ # 引用
226
+
227
+ > You take the ''red pill'', you stay in Wonderland and
228
+ > I show you how deep the ''rabbit-hole'' goes.
229
+
230
+ # 箇条書き
231
+
232
+ * レベル1-1
233
+ * レベル2-1
234
+ * レベル3-1
235
+ * レベル3-2
236
+ * レベル2-2
237
+ * レベル1-2
238
+
239
+ # ラベル付きリスト
240
+
241
+ Rabbit
242
+ : うさぎ
243
+
244
+ Tortoise
245
+ : かめ
246
+
247
+ うさぎ
248
+ : Rabbit
249
+
250
+ # 表
251
+
252
+ | みだし1 | みだし2 |
253
+ |---------|--------|
254
+ | 内容1 | 内容2 |
255
+ | 長ーーーーーい内容3 | 長ーーーーーーーーーーーーーーーーーーい内容4 |
256
+
257
+ # 操作: 移動
258
+
259
+ 次ページ
260
+ : 次に進みそうなキー/左クリック
261
+ n, f, j, l, Spc, Ret, +, ↓, →
262
+
263
+ 前ページ
264
+ : 前に進みそうなキー/中クリック
265
+ p, b, k, h, BS, Del, -, ↑, ←
266
+
267
+ # 操作: 高度な移動
268
+
269
+ タイトルページへ移動
270
+ : a, 0, <, Home
271
+
272
+ nページ目へ移動
273
+ : 1-9, +Ctrl=+10, +Alt=+20
274
+
275
+ 最後のページへ移動
276
+ : e, $, >, End
277
+
278
+ # 操作: 本番用(1)
279
+
280
+ フルスクリーン切替え
281
+ : F5, F10, F11, ジェスチャ↓↑
282
+
283
+ 一覧モード切替え
284
+ : i
285
+
286
+ 一覧モードからページ移動
287
+ : ダブルクリック
288
+
289
+ # 操作: 本番用(2)
290
+
291
+ キャッシュ作成
292
+ : c
293
+
294
+ 情報ウィンドウ表示切替え
295
+ : I
296
+
297
+ # 操作: 本番用(3)
298
+
299
+ 虫眼鏡
300
+ : Ctrl+右クリック
301
+ ホイールで拡大率変更
302
+
303
+ スポットライト
304
+ : ダブル右クリック
305
+ ホイールで半径変更
306
+
307
+ # 操作: 本番用(4)
308
+
309
+ 落書き
310
+ : ポップアップ(右クリック)→
311
+ 落書きモード
312
+
313
+ マウスジェスチャー
314
+ : 右ドラッグ
315
+
316
+ # 操作: 本番用(5)
317
+
318
+ ホワイトアウト
319
+ : W
320
+
321
+ ブラックアウト
322
+ : B
323
+
324
+ # 操作: 保存
325
+
326
+ スクリーンショット
327
+ : 各ページを画像として保存
328
+ s
329
+
330
+ 印刷
331
+ : 各ページをPS/PDFとして保存
332
+ Ctrl+p
333
+
334
+ # 操作: 描画
335
+
336
+ 再描画
337
+ : Ctrl+l
338
+
339
+ テーマ再読み込み
340
+ : t, r
341
+
342
+ スライドの調整値をリセット
343
+ : Alt+a
344
+
345
+ # 操作: 穴
346
+
347
+ 穴を広げる
348
+ : E
349
+
350
+ 穴を狭める
351
+ : N
352
+
353
+ # 操作: 検索
354
+
355
+ 次を検索
356
+ : C-s, /
357
+
358
+ 前を検索
359
+ : C-r, ?
360
+
361
+ 検索終了
362
+ : C-g
363
+
364
+ # 操作: 終了
365
+
366
+ 終了
367
+ : q, Escape
368
+
369
+ アイコン化
370
+ : z
371
+
372
+ # まとめ
373
+
374
+ * プレゼンテーションツール
375
+ * マルチプラットフォーム
376
+ * 機能/UI: 高機能/ユニーク
377
+ * キーボード重視
378
+ * UI・テキストベースのソース
@@ -107,6 +107,8 @@ module Rabbit
107
107
  def compile_horizontal(canvas, x, y, w, h)
108
108
  if do_horizontal_centering?
109
109
  do_horizontal_centering(canvas, x, y, w, h)
110
+ else
111
+ reset_horizontal_centering(canvas, x, y, w, h)
110
112
  end
111
113
  end
112
114
 
@@ -282,7 +284,9 @@ module Rabbit
282
284
  end
283
285
 
284
286
  def horizontal_centering=(new_value)
285
- dirty! if @horizontal_centering != new_value
287
+ if @horizontal_centering != new_value
288
+ dirty!
289
+ end
286
290
  @horizontal_centering = new_value
287
291
  end
288
292
 
@@ -294,6 +298,9 @@ module Rabbit
294
298
  def do_horizontal_centering(canvas, x, y, w, h)
295
299
  end
296
300
 
301
+ def reset_horizontal_centering(canvas, x, y, w, h)
302
+ end
303
+
297
304
  def previous_element
298
305
  sibling_element(-1)
299
306
  end
@@ -15,6 +15,10 @@ module Rabbit
15
15
  draw(true)
16
16
  end
17
17
 
18
+ def reset_horizontal_centering(canvas, x, y, w, h)
19
+ # TODO
20
+ end
21
+
18
22
  def clear_theme
19
23
  @ox = @oy = @ow = @oh = nil
20
24
  super
@@ -119,9 +119,7 @@ module Rabbit
119
119
  prev_is_inline = false
120
120
  @elements.each do |element|
121
121
  element.compile(canvas, x, y, w, h)
122
- if element.do_horizontal_centering?
123
- element.do_horizontal_centering(canvas, x, y, w, h)
124
- end
122
+ compile_horizontal(canvas, x, y, w, h)
125
123
  x, y, w, h = element.draw(true)
126
124
  end
127
125
  end
@@ -130,6 +128,8 @@ module Rabbit
130
128
  @elements.each do |element|
131
129
  if do_horizontal_centering? or element.do_horizontal_centering?
132
130
  element.do_horizontal_centering(canvas, x, y, w, h)
131
+ else
132
+ element.reset_horizontal_centering(canvas, x, y, w, h)
133
133
  end
134
134
  end
135
135
  end
@@ -9,7 +9,7 @@ module Rabbit
9
9
  attr_reader :original_width, :original_height
10
10
  attr_reader :first_line_width, :first_line_height
11
11
 
12
- attr_writer :wrap_mode, :indent, :spacing
12
+ attr_writer :wrap_mode, :indent
13
13
 
14
14
  def initialize(*args, &block)
15
15
  super
@@ -34,6 +34,11 @@ module Rabbit
34
34
  @justify = new_value
35
35
  end
36
36
 
37
+ def spacing=(new_spacing)
38
+ dirty! if @spacing != new_spacing
39
+ @spacing = new_spacing
40
+ end
41
+
37
42
  def width
38
43
  if @width
39
44
  @width + @padding_left + @padding_right
@@ -75,7 +80,11 @@ module Rabbit
75
80
  def do_horizontal_centering(canvas, x, y, w, h)
76
81
  self.align = Pango::Layout::ALIGN_CENTER
77
82
  end
78
-
83
+
84
+ def reset_horizontal_centering(canvas, x, y, w, h)
85
+ self.align = default_align if @align == Pango::Layout::ALIGN_CENTER
86
+ end
87
+
79
88
  def markuped_text
80
89
  markup(text)
81
90
  end
@@ -200,7 +209,7 @@ module Rabbit
200
209
  end
201
210
  layout.set_alignment(@align)
202
211
  layout.set_indent(@indent)
203
- layout.set_spacing(@spacing)
212
+ layout.set_spacing(@spacing * Pango::SCALE)
204
213
  layout.justify = @justify
205
214
  layout.context_changed
206
215
  end