Skip to documentation
SLOP

tiny.pdf.FilterPredictor

Reference tiny.pdf FilterPredictor

Defined in tiny.pdf.

API (7)

Actions

Public operations.

Fields and members

Public fields and members.

No direct callersNo direct callstiny.pdfFilterPredictor
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/pdf/src/filter/model.zig:24

zig
pub const Predictor = struct {    predictor: u32 = 1,    colors: u32 = 1,    bits: u32 = 8,    columns: u32 = 1,    pub fn fromDict(dict: object.Dict) DecodeError!Predictor {        return .{            .predictor = try directUnsigned(dict, "Predictor", 1),            .colors = try directUnsigned(dict, "Colors", 1),            .bits = try directUnsigned(dict, "BitsPerComponent", 8),            .columns = try directUnsigned(dict, "Columns", 1),        };    }    pub fn rowLength(self: Predictor) DecodeError!usize {        if (self.columns == 0 or self.colors == 0) return error.DecodeFailed;        const valid_bits = self.bits == 1 or self.bits == 2 or self.bits == 4 or            self.bits == 8 or self.bits == 16;        if (!valid_bits) return error.DecodeFailed;        const channel_bits = std.math.mul(u64, self.colors, self.bits) catch            return error.DecodeFailed;        const row_bits = std.math.mul(u64, self.columns, channel_bits) catch            return error.DecodeFailed;        return std.math.cast(usize, (row_bits + 7) / 8) orelse error.DecodeFailed;    }    pub fn sampleLength(self: Predictor) DecodeError!usize {        const sample_bits = std.math.mul(u64, self.colors, self.bits) catch            return error.DecodeFailed;        const bytes = std.math.cast(usize, (sample_bits + 7) / 8) orelse            return error.DecodeFailed;        return @max(1, bytes);    }    fn directUnsigned(dict: object.Dict, key: []const u8, default: u32) DecodeError!u32 {        const value = dict.get(key) orelse return default;        return switch (value) {            .integer => |raw| if (raw >= 0 and raw <= std.math.maxInt(u32))                @intCast(raw)            else                error.UnsupportedFilter,            else => error.UnsupportedFilter,        };    }};

Source: lib/pdf/src/root.zig:27

zig
pub const FilterPredictor = filter.Predictor;
Called byCallsfilterparamsOfprivate sourcelib.pdf.src.filter.model.PredictordirectUnsignedFilterPredictorfromDict
Static calls · unresolved targets: 0 · external targets: 0.

Also reachable as

filter.Predictor.

Audit

Definitions4
Public names8
Members4
Version26.7.0
Revisiondaab053ee433