mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 18:32:28 -05:00
LibWeb: Add an SVG::AttributeNames namespace
There are a whole bunch of SVG attributes, and we shouldn't mix them in with the HTML attributes. This patch adds some of them to the new namespace, but there are more to be added. :^)
This commit is contained in:
parent
53d24fbd65
commit
8949b0def6
3 changed files with 114 additions and 0 deletions
|
@ -221,6 +221,7 @@ set(SOURCES
|
|||
Page/Page.cpp
|
||||
Painting/BorderPainting.cpp
|
||||
Painting/StackingContext.cpp
|
||||
SVG/AttributeNames.cpp
|
||||
SVG/SVGElement.cpp
|
||||
SVG/SVGGeometryElement.cpp
|
||||
SVG/SVGGraphicsElement.cpp
|
||||
|
|
29
Userland/Libraries/LibWeb/SVG/AttributeNames.cpp
Normal file
29
Userland/Libraries/LibWeb/SVG/AttributeNames.cpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/SVG/AttributeNames.h>
|
||||
|
||||
namespace Web::SVG::AttributeNames {
|
||||
|
||||
#define __ENUMERATE_SVG_ATTRIBUTE(name) FlyString name;
|
||||
ENUMERATE_SVG_ATTRIBUTES(__ENUMERATE_SVG_ATTRIBUTE)
|
||||
#undef __ENUMERATE_SVG_ATTRIBUTE
|
||||
|
||||
[[gnu::constructor]] static void initialize()
|
||||
{
|
||||
static bool s_initialized = false;
|
||||
if (s_initialized)
|
||||
return;
|
||||
|
||||
#define __ENUMERATE_SVG_ATTRIBUTE(name) \
|
||||
name = #name;
|
||||
ENUMERATE_SVG_ATTRIBUTES(__ENUMERATE_SVG_ATTRIBUTE)
|
||||
#undef __ENUMERATE_SVG_ATTRIBUTE
|
||||
|
||||
s_initialized = true;
|
||||
}
|
||||
|
||||
}
|
84
Userland/Libraries/LibWeb/SVG/AttributeNames.h
Normal file
84
Userland/Libraries/LibWeb/SVG/AttributeNames.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/FlyString.h>
|
||||
|
||||
namespace Web::SVG::AttributeNames {
|
||||
|
||||
#define ENUMERATE_SVG_ATTRIBUTES(E) \
|
||||
E(attributeName) \
|
||||
E(attributeType) \
|
||||
E(baseFrequency) \
|
||||
E(baseProfile) \
|
||||
E(calcMode) \
|
||||
E(clipPathUnits) \
|
||||
E(contentScriptType) \
|
||||
E(contentStyleType) \
|
||||
E(diffuseConstant) \
|
||||
E(edgeMode) \
|
||||
E(filterUnits) \
|
||||
E(glyphRef) \
|
||||
E(gradientTransform) \
|
||||
E(gradientUnits) \
|
||||
E(height) \
|
||||
E(kernelMatrix) \
|
||||
E(kernelUnitLength) \
|
||||
E(keyPoints) \
|
||||
E(keySplines) \
|
||||
E(keyTimes) \
|
||||
E(lengthAdjust) \
|
||||
E(limitingConeAngle) \
|
||||
E(markerHeight) \
|
||||
E(markerUnits) \
|
||||
E(markerWidth) \
|
||||
E(maskContentUnits) \
|
||||
E(maskUnits) \
|
||||
E(numOctaves) \
|
||||
E(pathLength) \
|
||||
E(patternContentUnits) \
|
||||
E(patternTransform) \
|
||||
E(patternUnits) \
|
||||
E(pointsAtX) \
|
||||
E(pointsAtY) \
|
||||
E(pointsAtZ) \
|
||||
E(preserveAlpha) \
|
||||
E(preserveAspectRatio) \
|
||||
E(primitiveUnits) \
|
||||
E(refX) \
|
||||
E(refY) \
|
||||
E(repeatCount) \
|
||||
E(repeatDur) \
|
||||
E(requiredExtensions) \
|
||||
E(requiredFeatures) \
|
||||
E(specularConstant) \
|
||||
E(specularExponent) \
|
||||
E(spreadMethod) \
|
||||
E(startOffset) \
|
||||
E(stdDeviation) \
|
||||
E(stitchTiles) \
|
||||
E(surfaceScale) \
|
||||
E(systemLanguage) \
|
||||
E(tableValues) \
|
||||
E(targetX) \
|
||||
E(targetY) \
|
||||
E(textLength) \
|
||||
E(version) \
|
||||
E(viewBox) \
|
||||
E(viewTarget) \
|
||||
E(width) \
|
||||
E(x) \
|
||||
E(xChannelSelector) \
|
||||
E(y) \
|
||||
E(yChannelSelector) \
|
||||
E(zoomAndPan)
|
||||
|
||||
#define __ENUMERATE_SVG_ATTRIBUTE(name) extern FlyString name;
|
||||
ENUMERATE_SVG_ATTRIBUTES(__ENUMERATE_SVG_ATTRIBUTE)
|
||||
#undef __ENUMERATE_SVG_ATTRIBUTE
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue