decoder/tiling: Make shared frame buffer a struct

This commit is contained in:
Sophie Herold 2023-12-26 22:07:46 +01:00
parent 6827a9c176
commit 139bd4ebb2
6 changed files with 52 additions and 68 deletions

View file

@ -16,15 +16,15 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//! Decode using librsvg
use std::sync::Arc;
use anyhow::Context;
use arc_swap::ArcSwap;
use async_channel as mpsc;
use gtk::prelude::*;
use super::*;
use crate::decoder::tiling::{self, FrameBufferExt};
use crate::decoder::tiling::SharedFrameBuffer;
use crate::decoder::TileRequest;
use crate::deps::*;
use crate::metadata::ImageFormat;
@ -61,11 +61,7 @@ impl Drop for Svg {
}
impl Svg {
pub fn new(
file: gio::File,
updater: UpdateSender,
tiles: Arc<ArcSwap<tiling::FrameBuffer>>,
) -> Self {
pub fn new(file: gio::File, updater: UpdateSender, tiles: Arc<SharedFrameBuffer>) -> Self {
let current_request: Arc<std::sync::RwLock<Request>> = Default::default();
let request_store = current_request.clone();
let cancellable = gio::Cancellable::new();