void RemoteMessage::AddFont(const ServerFont& font) { Add(font.Direction()); Add((uint8)font.Encoding()); Add(font.Flags()); Add((uint8)font.Spacing()); Add(font.Shear()); Add(font.Rotation()); Add(font.FalseBoldWidth()); Add(font.Size()); Add(font.Face()); Add(font.GetFamilyAndStyle()); }
void CanvasMessage::AddFont(const ServerFont& font) { //TODO:Use TTF/WOFF URL Add(font.Direction()); Add((uint8)font.Encoding()); Add(font.Flags()); Add((uint8)font.Spacing()); Add(font.Shear()); Add(font.Rotation()); Add(font.FalseBoldWidth()); Add(font.Size()); Add(font.Face()); Add(font.GetFamilyAndStyle()); }
/*static*/ glyph_rendering FontCacheEntry::_RenderTypeFor(const ServerFont& font) { glyph_rendering renderingType = gSubpixelAntialiasing ? glyph_ren_subpix : glyph_ren_native_gray8; if (font.Rotation() != 0.0 || font.Shear() != 90.0 || font.FalseBoldWidth() != 0.0 || font.Flags() & B_DISABLE_ANTIALIASING || font.Size() > 30 || !font.Hinting()) { renderingType = glyph_ren_outline; } return renderingType; }
//! sets the font to be already scaled by fScale void DrawState::SetFont(const ServerFont& font, uint32 flags) { if (flags == B_FONT_ALL) { fFont = font; fUnscaledFontSize = font.Size(); fFont.SetSize(fUnscaledFontSize * fCombinedScale); } else { // family & style if ((flags & B_FONT_FAMILY_AND_STYLE) != 0) fFont.SetFamilyAndStyle(font.GetFamilyAndStyle()); // size if ((flags & B_FONT_SIZE) != 0) { fUnscaledFontSize = font.Size(); fFont.SetSize(fUnscaledFontSize * fCombinedScale); } // shear if ((flags & B_FONT_SHEAR) != 0) fFont.SetShear(font.Shear()); // rotation if ((flags & B_FONT_ROTATION) != 0) fFont.SetRotation(font.Rotation()); // spacing if ((flags & B_FONT_SPACING) != 0) fFont.SetSpacing(font.Spacing()); // encoding if ((flags & B_FONT_ENCODING) != 0) fFont.SetEncoding(font.Encoding()); // face if ((flags & B_FONT_FACE) != 0) fFont.SetFace(font.Face()); // flags if ((flags & B_FONT_FLAGS) != 0) fFont.SetFlags(font.Flags()); } }