mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-01-03 03:52:38 +00:00
83 lines
2.6 KiB
Zig
83 lines
2.6 KiB
Zig
const std = @import("std");
|
|
const builtin = @import("builtin");
|
|
const build_config = @import("../build_config.zig");
|
|
|
|
const library = @import("library.zig");
|
|
|
|
pub const Atlas = @import("Atlas.zig");
|
|
pub const Backend = @import("backend.zig").Backend;
|
|
pub const discovery = @import("discovery.zig");
|
|
pub const embedded = @import("embedded.zig");
|
|
pub const face = @import("face.zig");
|
|
pub const CodepointMap = @import("CodepointMap.zig");
|
|
pub const CodepointResolver = @import("CodepointResolver.zig");
|
|
pub const Collection = @import("Collection.zig");
|
|
pub const DeferredFace = @import("DeferredFace.zig");
|
|
pub const Face = face.Face;
|
|
pub const Glyph = @import("Glyph.zig");
|
|
pub const Metrics = @import("Metrics.zig");
|
|
pub const opentype = @import("opentype.zig");
|
|
pub const shape = @import("shape.zig");
|
|
pub const Shaper = shape.Shaper;
|
|
pub const ShaperCache = shape.Cache;
|
|
pub const SharedGrid = @import("SharedGrid.zig");
|
|
pub const SharedGridSet = @import("SharedGridSet.zig");
|
|
pub const sprite = @import("sprite.zig");
|
|
pub const Sprite = sprite.Sprite;
|
|
pub const SpriteFace = sprite.Face;
|
|
pub const Descriptor = discovery.Descriptor;
|
|
pub const Discover = discovery.Discover;
|
|
pub const Library = library.Library;
|
|
|
|
// If we're targeting wasm then we export some wasm APIs.
|
|
comptime {
|
|
if (builtin.target.cpu.arch.isWasm()) {
|
|
_ = Atlas.Wasm;
|
|
_ = DeferredFace.Wasm;
|
|
_ = face.web_canvas.Wasm;
|
|
_ = shape.web_canvas.Wasm;
|
|
}
|
|
}
|
|
|
|
/// Build options
|
|
pub const options: struct {
|
|
backend: Backend,
|
|
} = .{
|
|
// TODO: we need to modify the build config for wasm builds. the issue
|
|
// is we're sharing the build config options between all exes in build.zig.
|
|
// We need to construct it per target.
|
|
.backend = if (builtin.target.cpu.arch.isWasm()) .web_canvas else build_config.font_backend,
|
|
};
|
|
|
|
/// The styles that a family can take.
|
|
pub const Style = enum(u3) {
|
|
regular = 0,
|
|
bold = 1,
|
|
italic = 2,
|
|
bold_italic = 3,
|
|
};
|
|
|
|
/// The presentation for an emoji.
|
|
pub const Presentation = enum(u1) {
|
|
text = 0, // U+FE0E
|
|
emoji = 1, // U+FEOF
|
|
};
|
|
|
|
/// A FontIndex that can be used to use the sprite font directly.
|
|
pub const sprite_index = Collection.Index.initSpecial(.sprite);
|
|
|
|
/// The default font size adjustment we use when loading fallback fonts.
|
|
///
|
|
/// TODO: Add user configuration for this instead of hard-coding it.
|
|
pub const default_fallback_adjustment: Collection.SizeAdjustment = .ic_width;
|
|
|
|
test {
|
|
// For non-wasm we want to test everything we can
|
|
if (!comptime builtin.target.cpu.arch.isWasm()) {
|
|
@import("std").testing.refAllDecls(@This());
|
|
return;
|
|
}
|
|
|
|
_ = Atlas;
|
|
}
|