Skip to content

Commit

Permalink
minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
LaurenzV committed Aug 29, 2024
1 parent 7a4f114 commit b758d02
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 15 deletions.
16 changes: 10 additions & 6 deletions src/object/color_space.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
use crate::color_space::device_cmyk::DeviceCmyk;
use crate::color_space::luma::{DeviceGray, SGray};
use crate::rgb::{DeviceRgb, Srgb};
use crate::serialize::SerializerContext;
use pdf_writer::{Chunk, Finish, Name, Ref};
use std::fmt::Debug;
use std::hash::Hash;
use std::sync::Arc;
use crate::color_space::device_cmyk::DeviceCmyk;
use crate::color_space::luma::{DeviceGray, SGray};
use crate::rgb::{DeviceRgb, Srgb};

/// The PDF name for the device RGB color space.
pub const DEVICE_RGB: &'static str = "DeviceRGB";
Expand Down Expand Up @@ -136,7 +136,9 @@ pub mod device_cmyk {

/// A module for dealing with device RGB colors.
pub mod rgb {
use crate::object::color_space::{ColorSpace, ColorSpaceType, ICCBasedColorSpace, InternalColor};
use crate::object::color_space::{
ColorSpace, ColorSpaceType, ICCBasedColorSpace, InternalColor,
};
use crate::serialize::{Object, SerializerContext};
use std::sync::Arc;

Expand Down Expand Up @@ -234,7 +236,9 @@ pub mod rgb {
/// A module for dealing with device luma (= grayscale) colors.
pub mod luma {
use crate::chunk_container::ChunkContainer;
use crate::object::color_space::{ColorSpace, ColorSpaceType, ICCBasedColorSpace, InternalColor};
use crate::object::color_space::{
ColorSpace, ColorSpaceType, ICCBasedColorSpace, InternalColor,
};
use crate::serialize::{Object, SerializerContext};
use pdf_writer::{Chunk, Ref};
use std::sync::Arc;
Expand Down Expand Up @@ -325,7 +329,7 @@ mod tests {
use crate::object::color_space::luma::SGray;
use crate::object::color_space::rgb::Srgb;
use crate::resource::ColorSpaceResource;
use crate::serialize::{SerializerContext, SerializeSettings};
use crate::serialize::{SerializeSettings, SerializerContext};
use crate::test_utils::check_snapshot;

fn sc() -> SerializerContext {
Expand Down
6 changes: 2 additions & 4 deletions src/resource.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use crate::chunk_container::ChunkContainer;
use crate::font::FontIdentifier;
use crate::object::color_space::luma::SGray;
use crate::object::color_space::rgb::Srgb;
Expand All @@ -9,6 +10,7 @@ use crate::object::xobject::XObject;
use crate::serialize::{Object, SerializerContext, SipHashable};
use crate::util::NameExt;
use pdf_writer::types::ProcSet;
use pdf_writer::writers::{FormXObject, Page, Pages, Resources, TilingPattern, Type3Font};
use pdf_writer::{Chunk, Dict, Finish, Ref};
use std::collections::HashMap;
use std::fmt::Debug;
Expand Down Expand Up @@ -345,7 +347,6 @@ where
Self::name_from_number(self.remap(resource))
}

// TODO: Deduplicate
fn name_from_number(num: ResourceNumber) -> String {
format!("{}{}", V::get_prefix(), num)
}
Expand Down Expand Up @@ -388,9 +389,6 @@ impl ResourceTrait for FontIdentifier {
}
}

use crate::chunk_container::ChunkContainer;
use pdf_writer::writers::{FormXObject, Page, Pages, Resources, TilingPattern, Type3Font};

/// A trait for getting the resource dictionary of an object.
pub trait ResourcesExt {
/// Return the resources dictionary of the object.
Expand Down
18 changes: 13 additions & 5 deletions src/stream.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use crate::color_space::{DEVICE_CMYK, DEVICE_GRAY, DEVICE_RGB};
use crate::font::{Font, FontIdentifier};
use crate::graphics_state::GraphicsStates;
use crate::object::cid_font::CIDFont;
Expand All @@ -10,7 +11,10 @@ use crate::object::shading_pattern::ShadingPattern;
use crate::object::tiling_pattern::TilingPattern;
use crate::object::type3_font::Type3Font;
use crate::object::xobject::XObject;
use crate::resource::{ColorSpaceResource, PatternResource, Resource, ResourceDictionary, ResourceDictionaryBuilder, XObjectResource};
use crate::resource::{
ColorSpaceResource, PatternResource, Resource, ResourceDictionary, ResourceDictionaryBuilder,
XObjectResource,
};
use crate::serialize::{FontContainer, PDFGlyph, SerializerContext};
use crate::transform::TransformWrapper;
use crate::util::{calculate_stroke_bbox, LineCapExt, LineJoinExt, NameExt, RectExt, TransformExt};
Expand All @@ -23,7 +27,6 @@ use std::cell::RefCell;
use std::ops::Range;
use std::sync::Arc;
use tiny_skia_path::{FiniteF32, NormalizedF32, Path, PathSegment, Rect, Size, Transform};
use crate::color_space::{DEVICE_CMYK, DEVICE_GRAY, DEVICE_RGB};

#[derive(Debug, Hash, Eq, PartialEq, Clone)]
struct Repr {
Expand Down Expand Up @@ -562,9 +565,14 @@ impl ContentBuilder {
match paint {
Paint::Color(c) => {
let color_space = match Into::<Color>::into(c)
.color_space(serializer_context.serialize_settings.no_device_cs) {
ColorSpaceType::Srgb(srgb) => self.rd_builder.register_resource(Resource::ColorSpace(ColorSpaceResource::Srgb(srgb))),
ColorSpaceType::SGray(sgray) => self.rd_builder.register_resource(Resource::ColorSpace(ColorSpaceResource::SGray(sgray))),
.color_space(serializer_context.serialize_settings.no_device_cs)
{
ColorSpaceType::Srgb(srgb) => self
.rd_builder
.register_resource(Resource::ColorSpace(ColorSpaceResource::Srgb(srgb))),
ColorSpaceType::SGray(sgray) => self
.rd_builder
.register_resource(Resource::ColorSpace(ColorSpaceResource::SGray(sgray))),
ColorSpaceType::DeviceRgb(_) => DEVICE_RGB.to_string(),
ColorSpaceType::DeviceGray(_) => DEVICE_GRAY.to_string(),
ColorSpaceType::DeviceCmyk(_) => DEVICE_CMYK.to_string(),
Expand Down

0 comments on commit b758d02

Please sign in to comment.