/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */

#ifndef StylePropertyShorthandFunctions_h
#define StylePropertyShorthandFunctions_h

namespace WebCore {

class StylePropertyShorthand;

StylePropertyShorthand allShorthand();
StylePropertyShorthand animationShorthand();
StylePropertyShorthand backgroundShorthand();
StylePropertyShorthand backgroundPositionShorthand();
StylePropertyShorthand backgroundRepeatShorthand();
StylePropertyShorthand borderShorthand();
StylePropertyShorthand borderBottomShorthand();
StylePropertyShorthand borderColorShorthand();
StylePropertyShorthand borderImageShorthand();
StylePropertyShorthand borderLeftShorthand();
StylePropertyShorthand borderRadiusShorthand();
StylePropertyShorthand borderRightShorthand();
StylePropertyShorthand borderSpacingShorthand();
StylePropertyShorthand borderStyleShorthand();
StylePropertyShorthand borderTopShorthand();
StylePropertyShorthand borderWidthShorthand();
StylePropertyShorthand fontShorthand();
StylePropertyShorthand fontVariantShorthand();
StylePropertyShorthand listStyleShorthand();
StylePropertyShorthand marginShorthand();
StylePropertyShorthand markerShorthand();
StylePropertyShorthand outlineShorthand();
StylePropertyShorthand overflowShorthand();
StylePropertyShorthand paddingShorthand();
StylePropertyShorthand transitionShorthand();
StylePropertyShorthand webkitBorderAfterShorthand();
StylePropertyShorthand webkitBorderBeforeShorthand();
StylePropertyShorthand webkitBorderEndShorthand();
StylePropertyShorthand webkitBorderRadiusShorthand();
StylePropertyShorthand webkitBorderStartShorthand();
StylePropertyShorthand columnRuleShorthand();
StylePropertyShorthand columnsShorthand();
StylePropertyShorthand flexShorthand();
StylePropertyShorthand flexFlowShorthand();
StylePropertyShorthand gridShorthand();
StylePropertyShorthand gridAreaShorthand();
StylePropertyShorthand gridTemplateShorthand();
StylePropertyShorthand gridColumnShorthand();
StylePropertyShorthand gridGapShorthand();
StylePropertyShorthand gridRowShorthand();
StylePropertyShorthand webkitMarginCollapseShorthand();
StylePropertyShorthand webkitMarqueeShorthand();
StylePropertyShorthand webkitMaskShorthand();
StylePropertyShorthand webkitMaskPositionShorthand();
StylePropertyShorthand webkitMaskRepeatShorthand();
StylePropertyShorthand perspectiveOriginShorthand();
StylePropertyShorthand webkitTextDecorationShorthand();
StylePropertyShorthand webkitTextEmphasisShorthand();
StylePropertyShorthand webkitTextStrokeShorthand();
StylePropertyShorthand transformOriginShorthand();

} // namespace WebCore

#endif // StylePropertyShorthandFunctions_h
