1 module x11.extensions.render; 2 3 import x11.X; 4 5 alias XID Glyph; 6 alias XID GlyphSet; 7 alias XID Picture; 8 alias XID PictFormat; 9 10 enum RENDER_NAME = "RENDER"; 11 enum RENDER_MAJOR = 0; 12 enum RENDER_MINOR = 11; 13 14 enum X_RenderQueryVersion = 0; 15 enum X_RenderQueryPictFormats = 1; 16 enum X_RenderQueryPictIndexValues = 2 /* 0.7 */; 17 enum X_RenderQueryDithers = 3; 18 enum X_RenderCreatePicture = 4; 19 enum X_RenderChangePicture = 5; 20 enum X_RenderSetPictureClipRectangles = 6; 21 enum X_RenderFreePicture = 7; 22 enum X_RenderComposite = 8; 23 enum X_RenderScale = 9; 24 enum X_RenderTrapezoids = 10; 25 enum X_RenderTriangles = 11; 26 enum X_RenderTriStrip = 12; 27 enum X_RenderTriFan = 13; 28 enum X_RenderColorTrapezoids = 14; 29 enum X_RenderColorTriangles = 15; 30 /* enum X_RenderTransform = 16 */; 31 enum X_RenderCreateGlyphSet = 17; 32 enum X_RenderReferenceGlyphSet = 18; 33 enum X_RenderFreeGlyphSet = 19; 34 enum X_RenderAddGlyphs = 20; 35 enum X_RenderAddGlyphsFromPicture = 21; 36 enum X_RenderFreeGlyphs = 22; 37 enum X_RenderCompositeGlyphs8 = 23; 38 enum X_RenderCompositeGlyphs16 = 24; 39 enum X_RenderCompositeGlyphs32 = 25; 40 enum X_RenderFillRectangles = 26; 41 /* 0.5 */ 42 enum X_RenderCreateCursor = 27; 43 /* 0.6 */ 44 enum X_RenderSetPictureTransform = 28; 45 enum X_RenderQueryFilters = 29; 46 enum X_RenderSetPictureFilter = 30; 47 /* 0.8 */ 48 enum X_RenderCreateAnimCursor = 31; 49 /* 0.9 */ 50 enum X_RenderAddTraps = 32; 51 /* 0.10 */ 52 enum X_RenderCreateSolidFill = 33; 53 enum X_RenderCreateLinearGradient = 34; 54 enum X_RenderCreateRadialGradient = 35; 55 enum X_RenderCreateConicalGradient = 36; 56 enum RenderNumberRequests = (X_RenderCreateConicalGradient+1); 57 58 enum BadPictFormat = 0; 59 enum BadPicture = 1; 60 enum BadPictOp = 2; 61 enum BadGlyphSet = 3; 62 enum BadGlyph = 4; 63 enum RenderNumberErrors = (BadGlyph+1); 64 65 enum PictTypeIndexed = 0; 66 enum PictTypeDirect = 1; 67 68 enum PictOpMinimum = 0; 69 enum PictOpClear = 0; 70 enum PictOpSrc = 1; 71 enum PictOpDst = 2; 72 enum PictOpOver = 3; 73 enum PictOpOverReverse = 4; 74 enum PictOpIn = 5; 75 enum PictOpInReverse = 6; 76 enum PictOpOut = 7; 77 enum PictOpOutReverse = 8; 78 enum PictOpAtop = 9; 79 enum PictOpAtopReverse = 10; 80 enum PictOpXor = 11; 81 enum PictOpAdd = 12; 82 enum PictOpSaturate = 13; 83 enum PictOpMaximum = 13; 84 85 /* 86 * Operators only available in version 0.2 87 */ 88 enum PictOpDisjointMinimum = 0x10; 89 enum PictOpDisjointClear = 0x10; 90 enum PictOpDisjointSrc = 0x11; 91 enum PictOpDisjointDst = 0x12; 92 enum PictOpDisjointOver = 0x13; 93 enum PictOpDisjointOverReverse = 0x14; 94 enum PictOpDisjointIn = 0x15; 95 enum PictOpDisjointInReverse = 0x16; 96 enum PictOpDisjointOut = 0x17; 97 enum PictOpDisjointOutReverse = 0x18; 98 enum PictOpDisjointAtop = 0x19; 99 enum PictOpDisjointAtopReverse = 0x1a; 100 enum PictOpDisjointXor = 0x1b; 101 enum PictOpDisjointMaximum = 0x1b; 102 103 enum PictOpConjointMinimum = 0x20; 104 enum PictOpConjointClear = 0x20; 105 enum PictOpConjointSrc = 0x21; 106 enum PictOpConjointDst = 0x22; 107 enum PictOpConjointOver = 0x23; 108 enum PictOpConjointOverReverse = 0x24; 109 enum PictOpConjointIn = 0x25; 110 enum PictOpConjointInReverse = 0x26; 111 enum PictOpConjointOut = 0x27; 112 enum PictOpConjointOutReverse = 0x28; 113 enum PictOpConjointAtop = 0x29; 114 enum PictOpConjointAtopReverse = 0x2a; 115 enum PictOpConjointXor = 0x2b; 116 enum PictOpConjointMaximum = 0x2b; 117 118 /* 119 * Operators only available in version 0.11 120 */ 121 enum PictOpBlendMinimum = 0x30; 122 enum PictOpMultiply = 0x30; 123 enum PictOpScreen = 0x31; 124 enum PictOpOverlay = 0x32; 125 enum PictOpDarken = 0x33; 126 enum PictOpLighten = 0x34; 127 enum PictOpColorDodge = 0x35; 128 enum PictOpColorBurn = 0x36; 129 enum PictOpHardLight = 0x37; 130 enum PictOpSoftLight = 0x38; 131 enum PictOpDifference = 0x39; 132 enum PictOpExclusion = 0x3a; 133 enum PictOpHSLHue = 0x3b; 134 enum PictOpHSLSaturation = 0x3c; 135 enum PictOpHSLColor = 0x3d; 136 enum PictOpHSLLuminosity = 0x3e; 137 enum PictOpBlendMaximum = 0x3e; 138 139 enum PolyEdgeSharp = 0; 140 enum PolyEdgeSmooth = 1; 141 142 enum PolyModePrecise = 0; 143 enum PolyModeImprecise = 1; 144 145 enum CPRepeat = (1 << 0); 146 enum CPAlphaMap = (1 << 1); 147 enum CPAlphaXOrigin = (1 << 2); 148 enum CPAlphaYOrigin = (1 << 3); 149 enum CPClipXOrigin = (1 << 4); 150 enum CPClipYOrigin = (1 << 5); 151 enum CPClipMask = (1 << 6); 152 enum CPGraphicsExposure = (1 << 7); 153 enum CPSubwindowMode = (1 << 8); 154 enum CPPolyEdge = (1 << 9); 155 enum CPPolyMode = (1 << 10); 156 enum CPDither = (1 << 11); 157 enum CPComponentAlpha = (1 << 12); 158 enum CPLastBit = 12; 159 160 /* Filters included in 0.6 */ 161 enum FilterNearest = "nearest"; 162 enum FilterBilinear = "bilinear"; 163 /* Filters included in 0.10 */ 164 enum FilterConvolution = "convolution"; 165 166 enum FilterFast = "fast"; 167 enum FilterGood = "good"; 168 enum FilterBest = "best"; 169 170 enum FilterAliasNone = -1; 171 172 /* Subpixel orders included in 0.6 */ 173 enum SubPixelUnknown = 0; 174 enum SubPixelHorizontalRGB = 1; 175 enum SubPixelHorizontalBGR = 2; 176 enum SubPixelVerticalRGB = 3; 177 enum SubPixelVerticalBGR = 4; 178 enum SubPixelNone = 5; 179 180 /* Extended repeat attributes included in 0.10 */ 181 enum RepeatNone = 0; 182 enum RepeatNormal = 1; 183 enum RepeatPad = 2; 184 enum RepeatReflect = 3;