blob: 0411b2656ad3f6ee21bd0942bbc5d2239caadd08 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSSOM_CSS_UNIT_VALUES_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSSOM_CSS_UNIT_VALUES_H_
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
namespace blink {
class CSSUnitValues {
STATIC_ONLY(CSSUnitValues);
public:
// <length>
static CSSUnitValue* number(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kNumber);
}
static CSSUnitValue* percent(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kPercentage);
}
static CSSUnitValue* em(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kEms);
}
static CSSUnitValue* ex(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kExs);
}
static CSSUnitValue* ch(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kChs);
}
static CSSUnitValue* rem(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kRems);
}
static CSSUnitValue* vw(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kViewportWidth);
}
static CSSUnitValue* vh(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kViewportHeight);
}
static CSSUnitValue* vmin(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kViewportMin);
}
static CSSUnitValue* vmax(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kViewportMax);
}
static CSSUnitValue* cm(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kCentimeters);
}
static CSSUnitValue* mm(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kMillimeters);
}
static CSSUnitValue* Q(double value) {
return CSSUnitValue::Create(
value, CSSPrimitiveValue::UnitType::kQuarterMillimeters);
}
static CSSUnitValue* in(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kInches);
}
static CSSUnitValue* pt(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kPoints);
}
static CSSUnitValue* pc(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kPicas);
}
static CSSUnitValue* px(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kPixels);
}
// <angle>
static CSSUnitValue* deg(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kDegrees);
}
static CSSUnitValue* grad(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kGradians);
}
static CSSUnitValue* rad(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kRadians);
}
static CSSUnitValue* turn(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kTurns);
}
// <time>
static CSSUnitValue* s(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kSeconds);
}
static CSSUnitValue* ms(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kMilliseconds);
}
// <frequency>
static CSSUnitValue* Hz(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kHertz);
}
static CSSUnitValue* kHz(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kKilohertz);
}
// <resolution>
static CSSUnitValue* dpi(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kDotsPerInch);
}
static CSSUnitValue* dpcm(double value) {
return CSSUnitValue::Create(
value, CSSPrimitiveValue::UnitType::kDotsPerCentimeter);
}
static CSSUnitValue* dppx(double value) {
return CSSUnitValue::Create(value,
CSSPrimitiveValue::UnitType::kDotsPerPixel);
}
// <flex>
static CSSUnitValue* fr(double value) {
return CSSUnitValue::Create(value, CSSPrimitiveValue::UnitType::kFraction);
}
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSSOM_CSS_UNIT_VALUES_H_