DVUI

getTicks

Parameters

#
self:*Axis
*Axis
gpa:std.mem.Allocator
std.mem.Allocator

Source

Implementation

#
pub fn getTicks(self: *Axis, gpa: std.mem.Allocator) !Ticks {
        switch (self.ticks.locations) {
            .none => return Ticks.empty,
            .auto => |auto_ticks| {
                const min = self.min orelse return Ticks.empty;
                const max = self.max orelse return Ticks.empty;

                return switch (self.scale) {
                    .linear => getTicksLinear(
                        gpa,
                        min,
                        max,
                        auto_ticks.tick_num_suggestion,
                        auto_ticks.tick_num_max,
                        self.ticks.subticks,
                    ),
                    .log => |log_scale| getTicksLog(
                        gpa,
                        log_scale.base,
                        min,
                        max,
                        auto_ticks.tick_num_suggestion,
                        auto_ticks.tick_num_max,
                        self.ticks.subticks,
                    ),
                };
            },
            .custom => |ticks| {
                return Ticks{
                    .locator_type = .custom,
                    .values = ticks,
                    .subticks = &.{},
                };
            },
        }
    }