equal
deleted
inserted
replaced
116 /* internal messages */ |
116 /* internal messages */ |
117 |
117 |
118 private case class Resize(font_family: String, font_size: Int) |
118 private case class Resize(font_family: String, font_size: Int) |
119 private case class Render_Document(text: String) |
119 private case class Render_Document(text: String) |
120 private case class Render(body: XML.Body) |
120 private case class Render(body: XML.Body) |
|
121 private case class Render_Sync(body: XML.Body) |
121 private case object Refresh |
122 private case object Refresh |
122 |
123 |
123 private val main_actor = actor { |
124 private val main_actor = actor { |
124 |
125 |
125 /* internal state */ |
126 /* internal state */ |
186 react { |
187 react { |
187 case Resize(font_family, font_size) => resize(font_family, font_size) |
188 case Resize(font_family, font_size) => resize(font_family, font_size) |
188 case Refresh => refresh() |
189 case Refresh => refresh() |
189 case Render_Document(text) => render_document(text) |
190 case Render_Document(text) => render_document(text) |
190 case Render(body) => render(body) |
191 case Render(body) => render(body) |
|
192 case Render_Sync(body) => render(body); reply(()) |
191 case bad => System.err.println("main_actor: ignoring bad message " + bad) |
193 case bad => System.err.println("main_actor: ignoring bad message " + bad) |
192 } |
194 } |
193 } |
195 } |
194 } |
196 } |
195 |
197 |
198 |
200 |
199 def resize(font_family: String, font_size: Int) { main_actor ! Resize(font_family, font_size) } |
201 def resize(font_family: String, font_size: Int) { main_actor ! Resize(font_family, font_size) } |
200 def refresh() { main_actor ! Refresh } |
202 def refresh() { main_actor ! Refresh } |
201 def render_document(text: String) { main_actor ! Render_Document(text) } |
203 def render_document(text: String) { main_actor ! Render_Document(text) } |
202 def render(body: XML.Body) { main_actor ! Render(body) } |
204 def render(body: XML.Body) { main_actor ! Render(body) } |
|
205 def render_sync(body: XML.Body) { main_actor !? Render_Sync(body) } |
203 } |
206 } |