mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
commit
077b481894
4 changed files with 3 additions and 10 deletions
|
@ -293,7 +293,7 @@ pub impl Font {
|
||||||
None => {}
|
None => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut scaled_font = self.create_azure_font();
|
let scaled_font = self.create_azure_font();
|
||||||
self.azure_font = Some(scaled_font);
|
self.azure_font = Some(scaled_font);
|
||||||
// try again.
|
// try again.
|
||||||
return self.get_azure_font();
|
return self.get_azure_font();
|
||||||
|
@ -385,7 +385,7 @@ pub impl Font {
|
||||||
for run.glyphs.iter_glyphs_for_char_range(range) |_i, glyph| {
|
for run.glyphs.iter_glyphs_for_char_range(range) |_i, glyph| {
|
||||||
advance += glyph.advance();
|
advance += glyph.advance();
|
||||||
}
|
}
|
||||||
let mut bounds = Rect(Point2D(Au(0), -self.metrics.ascent),
|
let bounds = Rect(Point2D(Au(0), -self.metrics.ascent),
|
||||||
Size2D(advance, self.metrics.ascent + self.metrics.descent));
|
Size2D(advance, self.metrics.ascent + self.metrics.descent));
|
||||||
|
|
||||||
// TODO(Issue #125): support loose and tight bounding boxes; using the
|
// TODO(Issue #125): support loose and tight bounding boxes; using the
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
use font::{Font, FontDescriptor, FontGroup, FontStyle, SelectorPlatformIdentifier};
|
use font::{Font, FontDescriptor, FontGroup, FontStyle, SelectorPlatformIdentifier};
|
||||||
use font::{SpecifiedFontStyle, UsedFontStyle};
|
use font::{SpecifiedFontStyle, UsedFontStyle};
|
||||||
use font_context;
|
|
||||||
use font_list::FontList;
|
use font_list::FontList;
|
||||||
use servo_util::cache::Cache;
|
use servo_util::cache::Cache;
|
||||||
use servo_util::cache::MonoCache;
|
use servo_util::cache::MonoCache;
|
||||||
|
|
|
@ -27,13 +27,10 @@ type RenderFn<'self> = &'self fn(layer: *RenderLayer,
|
||||||
/// given callback with the render layer and the buffer. Returns the resulting layer buffer (which
|
/// given callback with the render layer and the buffer. Returns the resulting layer buffer (which
|
||||||
/// might be the old layer buffer if it had the appropriate size and format).
|
/// might be the old layer buffer if it had the appropriate size and format).
|
||||||
pub fn render_layers(layer_ref: *RenderLayer,
|
pub fn render_layers(layer_ref: *RenderLayer,
|
||||||
buffer_set: LayerBufferSet,
|
|
||||||
opts: &Opts,
|
opts: &Opts,
|
||||||
f: RenderFn) -> LayerBufferSet {
|
f: RenderFn) -> LayerBufferSet {
|
||||||
let tile_size = opts.tile_size;
|
let tile_size = opts.tile_size;
|
||||||
|
|
||||||
let mut _buffers = match buffer_set { LayerBufferSet { buffers: b } => b };
|
|
||||||
|
|
||||||
// FIXME: Try not to create a new array here.
|
// FIXME: Try not to create a new array here.
|
||||||
let mut new_buffer_ports = ~[];
|
let mut new_buffer_ports = ~[];
|
||||||
|
|
||||||
|
|
|
@ -104,20 +104,17 @@ impl<C: Compositor + Owned> Renderer<C> {
|
||||||
warn!("renderer: waiting on layer buffer");
|
warn!("renderer: waiting on layer buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
let layer_buffer_set = layer_buffer_set_port.recv();
|
|
||||||
let (new_layer_buffer_set_port, layer_buffer_set_channel) = comm::stream();
|
let (new_layer_buffer_set_port, layer_buffer_set_channel) = comm::stream();
|
||||||
self.layer_buffer_set_port.put_back(new_layer_buffer_set_port);
|
self.layer_buffer_set_port.put_back(new_layer_buffer_set_port);
|
||||||
|
|
||||||
let layer_buffer_set_cell = Cell(layer_buffer_set);
|
|
||||||
let layer_buffer_set_channel_cell = Cell(layer_buffer_set_channel);
|
let layer_buffer_set_channel_cell = Cell(layer_buffer_set_channel);
|
||||||
|
|
||||||
debug!("renderer: rendering");
|
debug!("renderer: rendering");
|
||||||
|
|
||||||
do time(~"rendering") {
|
do time(~"rendering") {
|
||||||
let layer_buffer_set = layer_buffer_set_cell.take();
|
|
||||||
let layer_buffer_set_channel = layer_buffer_set_channel_cell.take();
|
let layer_buffer_set_channel = layer_buffer_set_channel_cell.take();
|
||||||
|
|
||||||
let layer_buffer_set = do render_layers(&render_layer, layer_buffer_set, &self.opts)
|
let layer_buffer_set = do render_layers(&render_layer, &self.opts)
|
||||||
|render_layer_ref, layer_buffer, buffer_chan| {
|
|render_layer_ref, layer_buffer, buffer_chan| {
|
||||||
let layer_buffer_cell = Cell(layer_buffer);
|
let layer_buffer_cell = Cell(layer_buffer);
|
||||||
do self.thread_pool.execute |thread_render_context| {
|
do self.thread_pool.execute |thread_render_context| {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue