summaryrefslogtreecommitdiff
path: root/tests/headers/weird_bitfields.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/headers/weird_bitfields.hpp')
-rw-r--r--tests/headers/weird_bitfields.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/headers/weird_bitfields.hpp b/tests/headers/weird_bitfields.hpp
new file mode 100644
index 00000000..755681c1
--- /dev/null
+++ b/tests/headers/weird_bitfields.hpp
@@ -0,0 +1,35 @@
+// bindgen-flags: --no-unstable-rust
+// You can guess where this is taken from...
+enum nsStyleSVGOpacitySource {
+ eStyleSVGOpacitySource_Normal,
+ eStyleSVGOpacitySource_ContextFillOpacity,
+ eStyleSVGOpacitySource_ContextStrokeOpacity
+};
+
+class Weird {
+ unsigned int mStrokeDasharrayLength;
+ unsigned int bitTest: 16;
+ unsigned int bitTest2: 15;
+ unsigned char mClipRule; // [inherited]
+ unsigned char mColorInterpolation; // [inherited] see nsStyleConsts.h
+ unsigned char mColorInterpolationFilters; // [inherited] see nsStyleConsts.h
+ unsigned char mFillRule; // [inherited] see nsStyleConsts.h
+ unsigned char mImageRendering; // [inherited] see nsStyleConsts.h
+ unsigned char mPaintOrder; // [inherited] see nsStyleConsts.h
+ unsigned char mShapeRendering; // [inherited] see nsStyleConsts.h
+ unsigned char mStrokeLinecap; // [inherited] see nsStyleConsts.h
+ unsigned char mStrokeLinejoin; // [inherited] see nsStyleConsts.h
+ unsigned char mTextAnchor; // [inherited] see nsStyleConsts.h
+ unsigned char mTextRendering; // [inherited] see nsStyleConsts.h
+
+ // In SVG glyphs, whether we inherit fill or stroke opacity from the outer
+ // text object.
+ // Use 3 bits to avoid signedness problems in MSVC.
+ nsStyleSVGOpacitySource mFillOpacitySource : 3;
+ nsStyleSVGOpacitySource mStrokeOpacitySource : 3;
+
+ // SVG glyph outer object inheritance for other properties
+ bool mStrokeDasharrayFromObject : 1;
+ bool mStrokeDashoffsetFromObject : 1;
+ bool mStrokeWidthFromObject : 1;
+};