rabbit 1.0.6 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
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