Home | History | Annotate | Download | only in core
      1 /*
      2  * Copyright 2015 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "SkFontStyle.h"
      9 #include "SkTypeface.h"
     10 #include "SkTypes.h"
     11 
     12 SkFontStyle::SkFontStyle() {
     13     fUnion.fU32 = 0;
     14     fUnion.fR.fWeight = kNormal_Weight;
     15     fUnion.fR.fWidth = kNormal_Width;
     16     fUnion.fR.fSlant = kUpright_Slant;
     17 }
     18 
     19 SkFontStyle::SkFontStyle(int weight, int width, Slant slant) {
     20     fUnion.fU32 = 0;
     21     fUnion.fR.fWeight = SkPin32(weight, kThin_Weight, kBlack_Weight);
     22     fUnion.fR.fWidth = SkPin32(width, kUltraCondensed_Width, kUltaExpanded_Width);
     23     fUnion.fR.fSlant = SkPin32(slant, kUpright_Slant, kItalic_Slant);
     24 }
     25 
     26 SkFontStyle::SkFontStyle(unsigned oldStyle) {
     27     fUnion.fU32 = 0;
     28     fUnion.fR.fWeight = (oldStyle & SkTypeface::kBold) ? SkFontStyle::kBold_Weight
     29                                                        : SkFontStyle::kNormal_Weight;
     30     fUnion.fR.fWidth = SkFontStyle::kNormal_Width;
     31     fUnion.fR.fSlant = (oldStyle & SkTypeface::kItalic) ? SkFontStyle::kItalic_Slant
     32                                                         : SkFontStyle::kUpright_Slant;
     33 }
     34