Skip to main content
← PSoXide SDK guides and examples · SDK f2fec1c301f1 · All Cargo features enabled; check feature gates before use.

TextBlend

Enum TextBlend 

Source
pub enum TextBlend {
    Average,
    Add,
    Subtract,
    AddQuarter,
}
Expand description

GPU semi-transparency equation for FontAtlas::draw_text_blended.

The PSX blends a semi-transparent primitive against the framebuffer with one of four fixed equations. The choice is not per-primitive: the primitive only carries a “blend me” bit, and the equation comes from the two-bit ABR field of the current GP0(E1h) draw mode. These are the same four the rest of the SDK exposes as psx_gpu::BlendMode, restated here so the font crate does not take a dependency on the primitive layer to name two bits.

Variants§

§

Average

(background + foreground) / 2. A fixed 50% wash; the tint still recolours, but it cannot fade a glyph away – at tint zero the glyph still halves whatever is behind it.

§

Add

background + foreground, clamped per channel. The mode to reach for when text has to fade: scaling the tint toward black scales the contribution toward nothing, so the glyph dissolves instead of darkening. Reads as emissive, which suits HUD and combat text.

§

Subtract

background - foreground, clamped per channel. Darkens whatever is behind the glyph, so it works as a drop shadow over a light background as well as a dark one.

§

AddQuarter

background + foreground / 4, clamped per channel. A quarter- strength Self::Add for a subtler glow.

Implementations§

Source§

impl TextBlend

Source

pub const fn semi_transparency_bits(self) -> u8

The two-bit draw-mode semi-transparency (“ABR”) field selecting this equation.

Trait Implementations§

Source§

impl Clone for TextBlend

Source§

fn clone(&self) -> TextBlend

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TextBlend

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for TextBlend

Source§

fn eq(&self, other: &TextBlend) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for TextBlend

Source§

impl Eq for TextBlend

Source§

impl StructuralPartialEq for TextBlend

Auto Trait Implementations§

§

impl Freeze for TextBlend

§

impl RefUnwindSafe for TextBlend

§

impl Send for TextBlend

§

impl Sync for TextBlend

§

impl Unpin for TextBlend

§

impl UnsafeUnpin for TextBlend

§

impl UnwindSafe for TextBlend

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.