Skip to main content

BookRenderer

Struct BookRenderer 

Source
pub struct BookRenderer {
    pub book: Book,
    pub state: BookViewState,
    pub theme: BookTheme,
    pub ui: Option<UiRoot>,
    /* private fields */
}

Fields§

§book: Book§state: BookViewState§theme: BookTheme§ui: Option<UiRoot>

Implementations§

Source§

impl BookRenderer

Source

pub fn new(book: Book) -> BookRenderer

Source

pub fn book(&self) -> &Book

The book it draws (its long texts flowed onto more pages).

Source

pub fn set_translator(&mut self, tr: fn(&str) -> Option<String>)

The game’s translations: items’ names in recipe titles, and, for Book::i18n books, the book’s texts — translation keys, looked up with tr (unknown keys stay as they are) and re-looked up whenever the language changes.

Source

pub fn handle_event(&mut self, ev: &str)

Source

pub fn add_recipe(&mut self, id: impl Into<String>, recipe: &Value)

Register a recipe (Yog’s recipe, as Yog Data) so recipe pages can render it visually. Unknown recipe types are ignored.

Source

pub fn render(&mut self, ctx: &GfxContext, sw: f32, sh: f32)

Draws the book into a sw×sh screen — all of it through draw2d (its sprite sheets as the image sources BOOK_SHEET and CRAFTING_SHEET). Draws the book; mods’ pictures (BookPage::Drawn) are left empty — see BookRenderer::render_with.

Source

pub fn render_with( &mut self, ctx: &GfxContext, sw: f32, sh: f32, draw: &mut dyn FnMut(&GfxContext, &str, &Value, [f32; 4]), )

Draws the book, mods’ pictures with draw(ctx, drawer, data, [x, y, w, h]) (screen pixels) — the game calls the mod that registered drawer.

Source

pub fn animated(&self) -> bool

The page shown moves by itself (an entity, a structure, an ingredient’s alternatives): the host should keep redrawing it.

Source

pub fn click(&mut self, x: f32, y: f32) -> Option<String>

A click at (x, y) (screen GUI pixels, as last rendered): what it hit does its thing. The action it was ("next_page", "entry:3", …), if any.

Source

pub fn show(&mut self, entry: &str, page: usize) -> bool

Shows entry (an entry id) at page — its page as written, not counting the pages long text flowed onto — as a reader would have got there; false if there’s no such entry.

Source

pub fn shown(&self) -> Option<(String, usize)>

The entry shown (its id) and the page of it as written, or None on the landing and list pages.

Source

pub fn set_book(&mut self, book: Book)

Replaces the book (an edit), keeping the reader where they were.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.